Inicios de sesión en SQL Server – Logins

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.