Manual SQL Server

Manual SQL Server

  • Conceptos e Instalación Instalación
    • Servicios de SQL Server
    • Instalar SQL – requisitos
    • Instalar SQL Server 2025
    • Instalar SQL Server 2022
    • Instalar SQL Server 2019
    • Instalar SQL Server 2017
    • Instalar SQL Server 2014
    • SQL Server – Versiones del Producto
    • Motor de Base de datos SQL Server
  • Bases de Datos Crear/Modificar
    • Base de datos – Teoría
    • Bases de datos del Sistema
    • Grupos de archivos en SQL Server
    • Tipos de archivos de bases de datos
    • Motor de Base de datos SQL Server
    • Create Database – Sintaxis
    • Create Database – Ejercicios 01
    • Create Database – ejemplos
    • Create Database – Adjuntar Base de datos
    • Create Database – Instantáneas
    • Ver tamaño de las bases de datos SQL Server
    • Alter Database – Grupos de archivos
    • Alter Database – Archivos de base de datos
    • Crear, Modificar y Adjuntar Base de datos
    • Alter Database – Escenario disco duro lleno
  • Esquemas – Tablas Esquemas y Tablas – Administración
    • Esquemas – Crear – Modificar – Eliminar
    • Mover o copiar asegurables entre esquemas
    • Tipos de datos en SQL Server
    • Tipos de datos definidos por el usuario UDT
    • Tipos de datos definidos por el usuario – ejercicio
    • Tipos de datos definidos por el usuario con formato de tabla
    • Tablas – Create Table – Teoría
    • Tablas – Create table Ejercicios
    • Tamaño de tablas en SQL Server
    • Usando restricciones en SQL Server
    • Foreign key en SQL Server
    • Comparando relaciones entre tablas Int vs. nchar
    • Tablas – Datos XML
    • Tablas – campo XML ejemplo
    • Tablas – Claves Foráneas y Campos Calculados
    • Moviendo tablas entre Filegroups en SQL Server
    • Persisted en campos calculados
    • Partición Horizontal de tablas
    • Partición Vertical de Tablas en SQL Server
    • Particionar horizontalmente una tabla existente
    • Particionando una tabla horizontalmente
    • Tablas – Modificación
    • Dynamic Data Masking en SQL Server
    • Tablas – ejercicio modificar – agregar Check
    • Uso de Identity
    • Identity – Caso práctico
    • Tablas Temporales en SQL Server
    • Usando FileStream y FileTables en SQL Server
    • Graph Tables en SQL Server
    • Variables Tipo Tabla en SQL Server
    • Insertar imágenes desde SQL Server Management Studio
  • Índices Filtros y particiones.
    • Índices – Teoría y ejercicios
    • Indices – Modificación
    • Índices – Eliminación
    • Indices – ejercicios
    • Índices particionados en SQL Server
    • Uso de Include en indices SQL Server
    • Índices en vistas SQL Server
    • ColumnStore index en SQL Server
    • Reconstruir índices en SQL Server
  • Registros – Vistas Opciones Registros
    • Insertar Registros
    • Insertar varios registros a la vez SQL Server
    • Insertar imágenes desde SQL Server Management Studio
    • Insertar documentos en formato PDF en una tabla SQL Server
    • Actualizar datos – Update
    • Eliminar registros – Delete
    • Encriptar y desencriptar datos SQL Server
    • Identity en SQL Server – caso
    • Secuencias en SQL Server
    • Vistas en SQL Server
    • Mostrar Vistas SQL Server en Excel
    • Importar datos desde Excel a SQL Server
    • Importar datos de archivo CSV
  • Consultas Extracción de datos
    • Select – Teoría
    • Select – Uso de Alias
    • Operadores en SQL Server
    • Consultas – Filtrado de registros
    • Where filtrado de registros SQL Server
    • Campos calculados en Select de SQL Server
    • Ordenamientos – Order by
    • Uso de Offset y Fetch Next en SQL Server
    • Consultas de varias tablas – Usando Join
    • Comparando Case y Join en SQL Server
    • Consultas – Opciones
    • Uso de Select into en un Filegroup
    • Cláusula UNION en Select
    • Trabajando con fechas en SQL Server
    • Fechas en SQL Server
    • Uso de With Ties en Consultas – Select
    • Select For XML Path SQL Server
    • Agrupamientos – Group By – Filtros Having
    • Grouping Sets en SQL Server
    • Over Partition By en SQL Server
    • Uso de Cube y Rollup para subtotales
    • Common Table Expressions CTE SQL Server
  • Subconsultas
    • Subconsultas en SQL Server
    • Subconsultas – Casos prácticos
    • Subconsultas – Casos prácticos 2
    • Subconsultas – Casos prácticos 3
    • Subconsultas como tabla derivada SQL Server
    • Subconsultas correlacionadas en SQL Server
    • Cross Apply y Outer Apply SQL Server
    • Comparando Joins, Subconsultas y FDU
  • Funciones en SQL Server Funciones nativas de SQL Server
    • Funciones de cadena
    • Funciones de fecha y Hora
    • Funciones Trim, Concat_WS y String_Agg
    • Función String_split SQL Server
    • Funciones First_Value, Last_Value, Lag y Lead
    • Función Row_Number en SQL Server
    • Función count_big de SQL Server
    • Coalesce SQL Server
    • Funciones matemáticas en SQL Server
    • Funciones de agregado
    • Funciones de Conversión de datos
    • Funciones de Configuración
    • Funciones para control de errores SQL Server
    • Funciones de cursor en SQL Server
  • Procedimientos almacenados
    • Procedimientos Almacenados SQL Server
    • Procedimientos Almacenados – Ejercicio
    • Encriptar procedimientos almacenados SQL Server
    • Union en Store procedure
    • Procedimientos Almacenados con parámetros de salida
    • Firmar un SP con certificado SQL Server
  • Funciones definidas por el usuario UDF
    • Funciones definidas por el usuario FDU
    • Funciones definidas por el usuario – Ejercicio
    • Funciones definidas por el usuario con valores de tabla
    • FDU con variables tipo tabla SQL Server
    • Funciones definidas por el usuario – Ejemplo
    • Funciones definidas por el usuario con valores de tabla
    • Inserción de Funciones definidas por el usuario
  • Programación SP, Cursores, FDU, T-SQL
    • Snippets en SQL Server
    • Variables en SQL Server
    • Variables Tipo Tabla en SQL Server
    • UDT con formato tabla – SQL Server
    • Estructura If en SQL Server
    • Estructura repetitiva While SQL Server
    • Variables XML en SQL Server
    • Leer campos XML en SQL Server
    • Estructura Case en SQL Server
    • Usando Case en SQL Server
    • Case, Joins y la función IIF
    • Common Table Expressions CTE SQL Server
    • Construyendo CTE en SQL Server
    • Controlando Errores en SQL Server
    • Transacciones en SQL Server
    • Sinónimos en SQL Server
  • Pivot – Unpivot Pivot – Unpivot – Referencias
    • Pivot SQL Server
    • Pivot en SQL Server – Cursos
    • Pivot y Tabla de referencia cruzada
    • Pivot y procedimientos almacenados
    • UnPivot SQL Server
  • Cursores
    • Cursores en SQL Server
    • Cursores en Store Procedure SQL Server
    • Cursores y Pivot en SQL Server
    • Cursores y Reporte personalizado
    • Cursores – Casos prácticos
    • Cursores con variable tipo tabla y contadores
    • Usando cursor en SQL Server
    • Cursores con variables tipo tabla
    • Cursor en Store Procedure
  • Triggers
    • Triggers DML en SQL Server
    • Triggers DDL en SQL Server
    • Triggers Logon en SQL Server
    • Triggers Instead Of en SQL Server
    • Triggers Activar y desactivar
    • Triggers encriptados SQL Server
    • Triggers Historial de registros eliminados
    • Triggers Historial de cambios en una tabla
  • Merge
    • Merge en SQL Server
    • Usando Merge con Select
    • Comparando Merge vs. SP
    • Merge en Graph Tables
    • Output en Merge SQL Server
  • Seguridad Entidades de seguridad y asegurables
    • Funciones de Servidor en SQL Server
    • Inicios de sesión en SQL Server – Logins
    • Funciones de base de datos en SQL Server
    • Usuarios de base de datos en SQL Server
    • Roles de aplicación en SQL Server
    • Credenciales en SQL Server
    • Credenciales en SQL Server Modificación – Eliminación
    • Certificados en SQL Server
    • Asignar permisos en SQL Server – Grant
    • Denegar permisos – Deny
  • Mantenimiento y Planes
    • Planes de mantenimiento en SQL Server
    • Tipos de copias de seguridad de Base de datos
    • Backup de una Base de datos
    • Restore de una base de datos
    • Encriptado de copias de seguridad
    • Exportar una base de datos a Azure Storage
    • Importar una base de datos de Azure a SQL Server
    • Niveles de compatibilidad SQL Server
  • Comandos DBCC
    • Comandos DBCC Categoría Informativas
    • Comandos DBCC Categoría Mantenimiento
    • Comandos DBCC Categoría Validación
    • Comandos DBCC Categoría Varios

Roles de aplicación en SQL Server

Funciones matemáticas en SQL Server

Usuarios de base de datos en SQL Server

Usuarios de Base de datos

Conceptos 

  • El usuario de la base de datos es la identidad del inicio de sesión cuando está conectado a una base de datos.
  • El usuario de la base de datos puede utilizar el mismo nombre que el inicio de sesión, pero no es necesario.
  • El usuario es la entidad de seguridad a la que se les puede asignar permisos sobre los objetos de la base de datos.
  • Un inicio de sesión se puede asignar a bases de datos diferentes como usuarios diferentes pero solo se puede asignar como un usuario en cada base de datos.
  • Se pueden crear usuarios de base de datos sin inicios de sesión, estos no podrán iniciar sesión pero si se pueden asignar permisos.

Crear Usuarios

Instrucción: Create user
Permite crear un usuario de base de datos.
Sintaxis:

Para crear un usuario en base a un inicio de sesión de SQL Server

Create user NombreUsuario from Login InicioSesion

Para crear un usuario en base a una cuenta de Windows

Create user NombreUsuario for Login UsuarioWindows

Para especificar el usuario de Windows se escribe el nombre del equipo, el backslash y el nombre del usuario. El siguiente código crea un usuario de base de datos Fernando en base al usuarios de Windows FernandoLuque del servidor LondonPRO

CREATE USER [Fernando] FOR LOGIN [LondonPRO\FernandoLuque]
GO

Procedimiento almacenado sp_adduser

Permite añadir un usuario a la base de datos
Sintaxis:

sp_adduser [ @loginame = ] ‘login’
[ , [ @name_in_db = ] ‘user’ ]
[ , [ @grpname = ] ‘rol_de_BaseDatos’ ]

Donde:
@loginame = ‘login’ especifica el nombre del inicio de sesión.
@name_in_db = ‘user’ especifica el nombre del usuario a crear.
@grpname = ‘rol_de_BaseDatos’ especifica el nombre del rol de base de datos del que se hace miembro.

Modificar el usuario

Instrucción: Alter user
Permite la modificación de un usuario, donde es posible cambiar el nombre, asignarle un login o inicio de sesión y cambiarle el password.
Sintaxis:

ALTER USER userName
WITH NAME = NuevoNombre
| LOGIN = NombreLogin
| PASSWORD = ‘password’ [ OLD_PASSWORD = ‘oldpassword’ ]

Donde:
WITH NAME = NuevoNombre permite especificar el nuevo nombre del usuario.
LOGIN = NombreLogin permite asignar un login al usuario.
PASSWORD = ‘password’ [ OLD_PASSWORD = ‘oldpassword’ ] permite cambiar el password al usuario.

Eliminar usuarios

Instrucción: Drop user
Permite eliminar un usuario de base de datos.
Sintaxis:

Drop user NombreUsuario

Consideraciones:

  • El usuario no se puede eliminar si se encuentra iniciada su sesión.
  • El usuario no se puede eliminar si es propietario de alguna base de datos.
  • El usuario no se puede eliminar si la cuenta está deshabilitada.

Ejemplos

Ejercicio 1
Crear un usuario para Northwind llamado Capataz en base al mismo login
Asignar permisos de Lectura, Inserción y Actualización en toda la BD

use master
go
Create login Capataz with password = ‘123’
go
use Northwind
go
Create user Capataz from login Capataz
go
grant select, Insert, Update to Capataz
Deny delete to Capataz
go

Ejercicio 2
Crear un usuario en base a la cuenta de Windows, el servidor es OneServer y la cuenta de inicio de Windows es TeamServer, asignarle el esquema db_ddladmin

use Northwind
go
Create user TrainerSQL FOR LOGIN [OneServer\TeamServer] WITH DEFAULT_SCHEMA=[db_ddladmin]
GO

Ejercicio 3
Crear en AdventureWorks un usuario AsistenteRH en base a un login del mismo  nombre que tenga permisos de lectura y escritura en el esquema Person

use master
go
create login AsistenteRH with password = ‘123’
go
use AdventureWorks
go
create user AsistenteRH from login AsistenteRH
go
— Permisos
Grant Select, Update on Schema::Person to AsistenteRH
Deny Insert, Delete on Schema::Person to AsistenteRH
go

Importante: Note que el login se utiliza para conectarse a SQL Server y el usuarios de
base de datos es utilizado para asignar los permisos sobre los asegurables.

Ejercicio 4
Crear un usuario en AdventureWorks llamado Vendedor en base al mismo login y asignar permisos de lectura, escritura y modificación en el esquema Sales.

use master
go
sp_addlogin Vendedor, 123
go
use AdventureWorks
go
sp_adduser Vendedor, Vendedor
go
— Los permisos
Grant select, Insert, Update on schema::Sales to Vendedor
Deny Delete on schema::Sales to Vendedor
go

Ejercicio 5
Listar los usuarios de la base de datos AdventureWorks

use AdventureWorks
go
select name, principal_id, type, type_desc,
default_schema_name from sys.database_principals where type = ‘S’
go

Ejercicio 6
Crear un usuario JefeRecursos en AdventureWorks
en base al mismo login y asignar permisos en el esquema HumanResources.
Permisos: Select, Insert, Update, Denegar: Delete

use master
go
Create login JefeRecursos with password = ‘123’
go
use AdventureWorks
go
create user JefeRecursos from login JefeRecursos
go
— Permisos
Grant Select, Insert, Update on schema::HumanResources to JefeRecursos
Deny Delete on schema::HumanResources to JefeRecursos
go

Ejercicio 7
Crear un usuario UserCopias en base al login AltaDisponibilidad y hacerlo miembro de db_backupoperator

use master
go
Create login AltaDisponibilidad with password = ‘123’
go
use AdventureWorks
go
create user UserCopias from login AltaDisponibilidad
go
Alter role db_backupoperator add member UserCopias
go

Ejercicio 8
Usuario en base al de Windows – TrainerSQLWin. Se supone que el usuario de Windows existe. El equipo donde se creará es ServerLondres

USE [Northwind]
GO
CREATE USER [Jose] FOR LOGIN [ServerLondres\TrainerSQLWin]
WITH DEFAULT_SCHEMA=[dbo]
GO

Importante




Categorías

  • Bases de Datos
  • Comandos DBCC
  • Conceptos e Instalación
  • Consultas
  • Cursores
  • Esquemas – Tablas
  • Funciones definidas por el usuario UDF
  • Funciones en SQL Server
  • Índices
  • Mantenimiento
  • Merge
  • Procedimientos almacenados
  • Programación
  • Registros – Vistas
  • Seguridad
  • Subconsultas
  • Triggers

Trainer SQL Server
Derechos reservados 2020

Hecho con por Graphene Themes.