
Inicios de Sesión – Logins
Entidad de seguridad que permite iniciar sesión en SQL Server y a los que se les puede asignar permisos sobre los asegurables a nivel de servidor. Es posible crear inicios de sesión basados en cuentas de Windows o inicios de sesión de SQL Server.
Para poder conectarse con un inicio de sesión de SQL Server se debe implementar el inicio de sesión mixto en SQL Server. (Ver Instalación)
Después de crear un inicio de sesión se deben asignar los permisos sobre los asegurables a nivel de servidor, si se desea asignar permisos sobre asegurables en una base de datos se debe relacionar este inicio de sesión con un usuario de base de datos. (Ver usuarios de base de datos)
Crear inicios de sesión
Instrucción: Create Login
Crea un inicio de sesión.
Sintaxis
Create login NombreLogin with password = ‘password’
[ MUST_CHANGE ]
| DEFAULT_DATABASE = database
| DEFAULT_LANGUAGE = language
| CHECK_EXPIRATION = { ON | OFF}
| CHECK_POLICY = { ON | OFF}
Donde:
NombreLogin: es el nombre del inicio de sesión
MUST_CHANGE: obliga al inicio de sesión a cambiar su contraseña al iniciar
sesión por primera vez. Esta opción funciona correctamente cuando la opción
CHECK_EXPIRATION es igual a ON. Esta opción es válida solamente para los inicios de sesión de SQL Server.
DEFAULT_DATABASE = database especifica la base de datos por defecto.
DEFAULT_LANGUAGE = language especifica el lenguaje por defecto.
CHECK_POLICY = { ON | OFF} establece si rigen las reglas de las políticas implementadas en el servidor de Windows Server.
Procedimiento almacenado sp_addlogin
Permite agregar un inicio de sesión al servidor de SQL Server.
Sintaxis
sp_addlogin login, password
Modificar un inicio de sesión
Instrucción Alter Login
Permite modificar las opciones de un inicio de sesión.
Sintaxis:
Alter login NombreLogin Disable | Enable
UNLOCK | with NAME = NuevoNombre
Donde:
Disable | Enable: permite inhabilitar o habilitar un inicio de sesión.
UNLOCK: desbloquea un inicio de sesión.
Name = NuevoNombre permite cambiar el nombre del inicio de sesión.
Eliminar un inicio de sesión
Instrucción: Drop Login
Permite eliminar un inicio de sesión de SQL Server.
Sintaxis
Drop Login NombreLogin
Procedimiento almacenado sp_droplogin
Permite eliminar un inicio de sesión al servidor de SQL Server.
Sintaxis:
sp_droplogin NombreInicioSesion
Ejercicios
Ejercicio 1
Crear Inicio de sesión llamado Asistente
use master
go
Create login Asistente with password = ‘123’
go
Ejercicio 2
Crear un Login llamado Apoyo
sp_addlogin Apoyo
go
Nota: evite el uso de sp_addlogin, como puede notar, es posible crear un inicio de
sesión sin password.
Ejercicio 3
Hacer miembro de bulkadmin al inicio llamado Apoyo (Ver Funciones de servidor)
Alter server role bulkadmin add member Apoyo
go
Ejercicio 4
Ver los miembros del rol bulkadmin
sp_helpsrvrolemember bulkadmin
go

Ejercicio 5
Listado de los administradores del sistema
sp_helpsrvrolemember sysadmin
go
Ejercicio 6
Miembros de ProcessAdmin
sp_helpsrvrolemember Processadmin
go
Ejercicio 7
Hacer el login Asistente miembro del Rol de Servidor Administradores
sp_addsrvrolemember Asistente, Administradores
go
Ejercicio 8
Listar las funciones de servidor y los inicios de sesión.
select p.name As ‘Rol de Servidor’, R.member_principal_id As ‘Código Inicio de Sesión’,
L.name As ‘Nombre Inicio de Sesión’
from sys.server_principals As P
join sys.server_role_members As R on P.principal_id = R.role_principal_id
join sys.sql_logins As L on R.member_principal_id = L.principal_id
where P.type = ‘R’
order by [Rol de Servidor]
go

Ejercicio 8
Crear los inicios Jefe, Auditor y Reportes, primero comprobar si existen
if not exists (select * from sys.sql_logins where name = ‘Jefe’)
Begin
Create login Jefe with password = ‘123’
End
go
if not exists (select * from sys.sql_logins where name = ‘Auditor’)
Begin
Create login Auditor with password = ‘123’
End
go
if not exists (select * from sys.sql_logins where name = ‘Reportes’)
Begin
Create login Reportes with password = ‘123’
End
go
Ejercicio 9
Agregar al rol de servidor diskadmin el inicio Auditor
Alter server role diskadmin add member Auditor
go
Ejercicio 10
Agregar al rol de servidor dbcreator el inicio Reportes
sp_addsrvrolemember Reportes, dbcreator
go
Ejercicio 11
Crear un login con la cuenta de Windows.
Crear un inicio de sesión con una cuenta de Windows TrainerSQL, el servidor es OneServer
Create login [OneServer\Trainer] from windows
go
Ejercicio 12
Crear inicio llamado Secretaria que cambie su clave al autenticarse
create login Secretaria with password = ‘154’
must_change, CHECK_EXPIRATION = on
go
Al iniciar sesión aparece la ventana Cambiar contraseña para escribir la nueva contraseña.
