Crear un inicio de sesión

Se aplica a:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)

En este artículo se describe cómo crear un inicio de sesión en SQL Server o Azure SQL Database mediante SQL Server Management Studio (SSMS) o Transact-SQL. Un inicio de sesión es la identidad de la persona o proceso que se conecta a una instancia de SQL Server.

Información previa

Un inicio de sesión es una entidad de seguridad o una entidad que puede ser autenticada por un sistema seguro. Los usuarios necesitan un inicio de sesión para conectarse a SQL Server. Puede crear un inicio de sesión basado en una entidad de seguridad de Windows (como un usuario de dominio o un grupo de dominios de Windows) o puede crear un inicio de sesión que no se base en una entidad de seguridad de Windows (por ejemplo, un inicio de sesión de SQL Server).

Nota

Para usar SQL Server autenticación, el motor de base de datos debe usar la autenticación en modo mixto. Para obtener más información, vea Elegir un modo de autenticación.

Azure SQL ha introducido entidades de seguridad (inicios de sesión) de servidor de Azure Active Directory que se usarán para autenticarse en Azure SQL Database, Azure SQL Managed Instance y Azure Synapse Analytics (solo grupos de SQL dedicados).

Como entidad de seguridad, se pueden conceder permisos a los inicios de sesión. El ámbito de un inicio de sesión es todo el motor de base de datos. Para establecer conexión con una base de datos concreta de la instancia de SQL Server, un inicio de sesión debe estar asignado a un usuario de la base de datos. Los permisos dentro de la base de datos se conceden y deniegan al usuario de la base de datos, no al inicio de sesión. Los permisos que tienen el ámbito de toda la instancia de SQL Server (por ejemplo, el permiso CREATE ENDPOINT) se pueden conceder a un inicio de sesión.

Nota

Cuando un inicio de sesión se conecta a SQL Server, la identidad se valida en la base de datos maestra. Use los usuarios de base de datos independiente para autenticar conexiones SQL Server y SQL Database en el nivel de base de datos. Cuando se usan usuarios de base de datos independientes, no es necesario iniciar sesión. Una base de datos independiente es una base de datos aislada de otras bases de datos y de la instancia de SQL Server o SQL Database (y la base de datos maestra) que hospeda la base de datos. SQL Server admite usuarios de base de datos independientes para la autenticación de Windows y SQL Server . Al usar SQL Database, se combinan las reglas de usuarios de la base de datos independiente con las de firewall de nivel de base de datos. Para obtener más información, vea Usuarios de base de datos independiente - Conversión de la base de datos en portátil.

Seguridad

SQL Server requiere el permiso ALTER ANY LOGIN o ALTER LOGIN en el servidor.

SQL Database requiere la pertenencia al rol loginmanager.

Creación de un inicio de sesión mediante SSMS para SQL Server

  1. En el Explorador de objetos, expanda la carpeta de la instancia de servidor en la que desea crear el nuevo inicio de sesión.

  2. Haga clic con el botón derecho en la carpeta Seguridad, seleccione Nuevo y, después, haga clic en Inicio de sesión... .

  3. En el cuadro de diálogo Inicio de sesión - Nuevo, en la página General, escriba el nombre de un usuario en el cuadro Nombre de inicio de sesión. Como alternativa, seleccione Buscar... para abrir el cuadro de diálogo Seleccionar usuario o grupo .

    Si selecciona Buscar...:

    1. En Seleccionar este tipo de objeto, seleccione Tipos de objeto ... para abrir el cuadro de diálogo Tipos de objeto y seleccione cualquiera o todos los siguientes: Entidades de seguridad integradas, Grupos y Usuarios. Las opcionesEntidades de seguridad integradas y Usuarios están seleccionadas de forma predeterminada. Cuando termine, seleccione Aceptar.

    2. En Desde esta ubicación, seleccione Ubicaciones... para abrir el cuadro de diálogo Ubicaciones y seleccione una de las ubicaciones de servidor disponibles. Cuando termine, seleccione Aceptar.

    3. En Escribir los nombres de objeto para seleccionar (ejemplos) , escriba el usuario o el nombre de grupo que quiere buscar. Para obtener más información, vea Seleccionar usuarios, equipos o grupos (cuadro de diálogo).

    4. Seleccione Avanzadas... para ver opciones de búsqueda más avanzadas. Para obtener más información, vea Seleccionar usuarios, equipos o grupos (cuadro de diálogo): página Opciones avanzadas.

    5. Seleccione Aceptar.

  4. Para crear un inicio de sesión basado en una entidad de seguridad de Windows, seleccione Autenticación de Windows. Esta es la selección predeterminada.

  5. Para crear un inicio de sesión que se guarda en una base de datos de SQL Server, seleccione SQL Server autenticación.

    1. En el campo Contraseña , escriba una contraseña para el usuario nuevo. Vuelva a escribir esa contraseña en el cuadro Confirmar contraseña .

    2. Al cambiar una contraseña existente, seleccione Especificar contraseña anteriory escriba la contraseña anterior en el cuadro Contraseña anterior .

    3. Para aplicar las opciones de la directiva de contraseñas a efectos de complejidad y exigencia, seleccione Exigir directivas de contraseñas. Para obtener más información, vea Password Policy. Esta es una opción predeterminada cuando se selecciona Autenticación de SQL Server .

    4. Para aplicar las opciones de la directiva de contraseñas a efectos de expiración, seleccione Exigir expiración de contraseña. Debe seleccionar la opciónExigir directivas de contraseñas para habilitar esta casilla. Esta es una opción predeterminada cuando se selecciona Autenticación de SQL Server .

    5. Para obligar al usuario a crear una nueva contraseña después de utilizarse el inicio de sesión por primera vez, seleccione El usuario debe cambiar la contraseña en el siguiente inicio de sesión. Debe seleccionar la opciónExigir expiración de contraseña para habilitar esta casilla. Esta es una opción predeterminada cuando se selecciona Autenticación de SQL Server .

  6. Para asociar el inicio de sesión a un certificado de seguridad independiente, seleccione Asignado a certificado y seleccione el nombre de un certificado existente de la lista.

  7. Para asociar el inicio de sesión a una clave asimétrica independiente, seleccione Asignado a clave asimétrica y seleccione el nombre de una clave existente de la lista.

  8. Para asociar el inicio de sesión a una credencial de seguridad, active la casilla Asignar a credencial y, a continuación, seleccione una credencial existente en la lista o seleccione Agregar para crear una nueva credencial. Para quitar una asignación a una credencial de seguridad del inicio de sesión, seleccione la credencial en Credenciales asignadas y seleccione Quitar. Para obtener más información sobre las credenciales en general, vea Credenciales (motor de base de datos).

  9. En la lista Base de datos predeterminada , seleccione una base de datos predeterminada para el inicio de sesión. Maestra es el valor predeterminado para esta opción.

  10. En la lista Idioma predeterminado , seleccione un idioma predeterminado para el inicio de sesión.

  11. Seleccione Aceptar.

Opciones adicionales

En el cuadro de diálogo Inicio de sesión - Nuevo también se ofrecen opciones en cuatro páginas adicionales: Roles de servidor, Asignación de usuarios, Elementos protegibles y Estado.

Roles del servidor

Nota:

Estos roles de servidor no están disponibles para SQL Database.

La página Roles de servidor enumera todos los roles posibles que se pueden asignar al nuevo inicio de sesión. Están disponibles las siguientes opciones:

Casillabulkadmin
Los miembros del rol fijo de servidor bulkadmin pueden ejecutar la instrucción BULK INSERT.

Casilladbcreator
Los miembros del rol fijo de servidor dbcreator pueden crear, modificar, quitar y restaurar cualquier base de datos.

Casilladiskadmin
Los miembros del rol fijo de servidor diskadmin pueden administrar archivos de disco.

Casillaprocessadmin
Los miembros del rol fijo de servidor processadmin pueden finalizar los procesos que se ejecutan en una instancia del motor de base de datos.

Casillapublic
Todos los usuarios, grupos y roles de SQL Server pertenecen al rol fijo de servidor public de forma predeterminada.

Casillasecurityadmin
Los miembros del rol fijo de servidor securityadmin administran los inicios de sesión y sus propiedades. Administran los permisos de servidor GRANT, DENY y REVOKE. También administran los permisos de base de datos GRANT, DENY y REVOKE. Asimismo, pueden restablecer contraseñas para inicios de sesión de SQL Server .

Casillaserveradmin
Los miembros del rol fijo de servidor serveradmin pueden cambiar opciones de configuración en el servidor y cerrar el servidor.

Casillasetupadmin
Los miembros del rol fijo de servidor setupadmin pueden agregar y quitar servidores vinculados, y ejecutar algunos procedimientos almacenados del sistema.

Casillasysadmin
Los miembros del rol fijo de servidor sysadmin pueden realizar cualquier actividad en el motor de base de datos.

Asignación de usuarios

La página Asignación de usuarios enumera todas las bases de datos posibles y las pertenencias al rol de base de datos en esas bases de datos que se pueden aplicar al inicio de sesión. Las bases de datos seleccionadas determinan las pertenencias a roles disponibles para el inicio de sesión. En esta página están disponibles las opciones siguientes:

Usuarios asignados a este inicio de sesión
Selecciona las bases de datos a las que se puede obtener acceso con este inicio de sesión. Cuando se seleccione una base de datos, sus roles de bases de datos válidos se mostrarán en el panel Miembros del rol de base de datos para:nombre_baseDeDatos .

Map
Permite que el inicio de sesión obtenga acceso a las bases de datos que se muestran a continuación.

Base de datos
Muestra las bases de datos disponibles en el servidor.

User
Especifica el usuario de base de datos que se va a asignar al inicio de sesión. De forma predeterminada, el nombre del usuario de base de datos coincide con el inicio de sesión.

Esquema predeterminado
Especifica el esquema predeterminado del usuario. Cuando se crea un usuario por primera vez, el esquema predeterminado es dbo. Es posible especificar un esquema predeterminado que aún no existe. No se puede especificar un esquema predeterminado para un usuario asignado a un grupo de Windows, un certificado o una clave asimétrica.

Cuenta de invitado habilitada para:nombre_baseDeDatos
Atributo de solo lectura que indica si la cuenta de invitado está habilitada en la base de datos seleccionada. Utilice la página Estado del cuadro de diálogo Propiedades de inicio de sesión de la cuenta de invitado para habilitarla o deshabilitarla.

Miembros del rol de base de datos para:nombre_baseDeDatos
Selecciona los roles para el usuario en la base de datos especificada. Todos los usuarios son miembros del rol público en cada base de datos y no se pueden quitar. Para obtener más información sobre los roles de base de datos, vea Roles de nivel de base de datos.

Elementos protegibles

La página Elementos protegibles muestra todos los elementos protegibles posibles y los permisos en esos elementos protegibles que se pueden conceder al inicio de sesión. En esta página están disponibles las opciones siguientes:

Cuadrícula superior
Contiene uno o más elementos para los que se pueden establecer permisos. Las columnas mostradas en la cuadrícula superior varían dependiendo de la entidad de seguridad o el elemento protegible.

Para agregar elementos a la cuadrícula superior:

  1. Seleccione Search.

  2. En el cuadro de diálogo Agregar objetos , seleccione una de las siguientes opciones: Objetos específicos..., Todos los objetos de los tipos... o El servidorserver_name. Seleccione Aceptar.

    Nota

    Al seleccionar El servidorserver_name rellena automáticamente la cuadrícula superior con todos los objetos protegibles de esos servidores.

  3. Si selecciona Objetos específicos... :

    1. En el cuadro de diálogo Seleccionar objetos , en Seleccionar estos tipos de objeto, seleccione Tipos de objeto....

    2. En el cuadro de diálogo Seleccionar tipos de objeto, seleccione alguno o todos los tipos de objeto siguientes: Puntos de conexión, Inicios de sesión, Servidores, Grupos de disponibilidad y Roles de servidor. Seleccione Aceptar.

    3. En Escriba los nombres de objeto para seleccionar (ejemplos), seleccione Examinar....

    4. En el cuadro de diálogo Buscar objetos , seleccione cualquiera de los objetos disponibles del tipo seleccionado en el cuadro de diálogo Seleccionar tipos de objeto y, a continuación, seleccione Aceptar.

    5. En el cuadro de diálogo Seleccionar objetos , seleccione Aceptar.

  4. Si selecciona Todos los objetos de los tipos... , en el cuadro de diálogo Seleccionar tipos de objeto, seleccione alguno o todos los tipos de objeto siguientes: Puntos de conexión, Inicios de sesión, Servidores, Grupos de disponibilidad y Roles de servidor. Seleccione Aceptar.

Nombre
El nombre de cada entidad de seguridad o elemento protegible que se agrega a la cuadrícula.

Tipo
Describe el tipo de cada elemento.

Pestaña Explícito
Enumere los posibles permisos del elemento protegible seleccionados en la cuadrícula superior. No todas las opciones están disponibles para todos los permisos explícitos.

Permisos
Nombre del permiso.

Otorgante de permisos
La entidad de seguridad que concedió el permiso.

Conceder
Active esta casilla para conceder el permiso al inicio de sesión. Desactívela para revocar el permiso.

WITH GRANT
Refleja el estado de la opción WITH GRANT para el permiso indicado. Este cuadro es de solo lectura. Para aplicar este permiso, use la instrucción GRANT .

Deny
Active esta casilla para denegar el permiso al inicio de sesión. Desactívela para revocar el permiso.

Estado

En la página Estado se enumeran algunas de las opciones de autenticación y autorización que se pueden configurar en el inicio de sesión de SQL Server seleccionado.

En esta página están disponibles las opciones siguientes:

Permiso para conectarse al motor de la base de datos
Cuando trabaje con esta configuración, debe pensar en el inicio de sesión seleccionado como una entidad de seguridad a la que se le puede otorgar o denegar un permiso para un elemento protegible.

Seleccione Conceder para conceder el permiso CONNECT SQL al inicio de sesión. Seleccione Denegar para denegar el permiso CONNECT SQL al inicio de sesión.

Inicio de sesión
Cuando trabaje con esta configuración, debe pensar en el inicio de sesión seleccionado como un registro de una tabla. Los cambios que se realicen en los valores que se muestran aquí se aplicarán al registro.

Un inicio de sesión que se ha deshabilitado sigue existiendo en el registro. Pero si intenta conectarse a SQL Server, el inicio de sesión no se autenticará.

Seleccione esta opción para habilitar o deshabilitar este inicio de sesión. Esta opción usa la instrucción ALTER LOGIN con la opción ENABLE o DISABLE.

Autenticación de SQL Server
La casilla Login is locked out is only available if the selected login connects using SQL Server Authentication and the login has been locked out. Esta configuración es de solo lectura. Para desbloquear un inicio de sesión fuera el que se bloquea, ejecute ALTER LOGIN con la opción de UNLOCK.

Creación de un inicio de sesión mediante la autenticación de Windows con T-SQL

  1. En el Explorador de objetos, conéctese a una instancia del Motor de base de datos.

  2. En la barra Estándar, seleccione Nueva consulta.

  3. Copie y pegue el ejemplo siguiente en la ventana de consulta y seleccione Ejecutar.

    -- Create a login for SQL Server by specifying a server name and a Windows domain account name.  
    
    CREATE LOGIN [<domainName>\<loginName>] FROM WINDOWS;  
    GO  
    
    

Creación de un inicio de sesión mediante la autenticación de SQL Server con T-SQL

  1. En el Explorador de objetos, conéctese a una instancia del Motor de base de datos.

  2. En la barra Estándar, seleccione Nueva consulta.

  3. Copie y pegue el ejemplo siguiente en la ventana de consulta y seleccione Ejecutar.

    -- Creates the user "shcooper" for SQL Server using the security credential "RestrictedFaculty"   
    -- The user login starts with the password "Baz1nga," but that password must be changed after the first login.  
    
    CREATE LOGIN shcooper   
       WITH PASSWORD = 'Baz1nga' MUST_CHANGE,  
       CREDENTIAL = RestrictedFaculty;  
    GO  
    

Para obtener más información, consulte CREATE LOGIN (Transact-SQL).

Seguimiento: Pasos que se deben seguir después de crear un inicio de sesión

Después de crear un inicio de sesión, el inicio de sesión puede conectarse a SQL Server, pero no necesariamente tiene permiso suficiente para realizar ningún trabajo útil. En la lista siguiente se proporcionan vínculos a las acciones de inicio de sesión comunes.

Consulte también