CREATE LOGIN (Transact-SQL)

Actualizado: 17 de julio de 2006

Crea un inicio de sesión de SQL Server nuevo.

Icono de vínculo a temasConvenciones de sintaxis de Transact-SQL

Sintaxis

CREATE LOGIN login_name { WITH <option_list1> | FROM <sources> }

<sources> ::=
    WINDOWS [ WITH <windows_options> [ ,... ] ]
    | CERTIFICATE certificateName
    | ASYMMETRIC KEY asym_key_name

<option_list1> ::= 
    PASSWORD = { 'password' | hashed_password HASHED } [ MUST_CHANGE ]
    [ , <option_list2> [ ,... ] ]

<option_list2> ::=  
    SID = sid
    | DEFAULT_DATABASE = database    
    | DEFAULT_LANGUAGE = language
    | CHECK_EXPIRATION = { ON | OFF}
    | CHECK_POLICY = { ON | OFF}
    | CREDENTIAL = credential_name 

<windows_options> ::=      
    DEFAULT_DATABASE = database
    | DEFAULT_LANGUAGE = language

Argumentos

  • login_name
    Especifica el nombre del inicio de sesión que se va a crear. Hay cuatro tipos de inicio de sesión: de SQL Server, de Windows, asignado a un certificado y asignado a una clave asimétrica. Si login_name se asigna desde una cuenta de dominio de Windows, login_name debe especificarse entre corchetes ([ ]). Vea el ejemplo D más adelante en este tema.
  • WINDOWS
    Especifica que el inicio de sesión se asigna a un inicio de sesión de Windows.
  • CERTIFICATE certificateName
    Especifica el nombre de un certificado al que asociar este inicio de sesión. Este certificado debe existir en la base de datos master.
  • ASYMMETRIC KEY asym_key_name
    Especifica el nombre de una clave asimétrica a la que asociar este inicio de sesión. Esta clave debe existir ya en la base de datos master.
  • PASSWORD ='password'
    Sólo se aplica a inicios de sesión de SQL Server. Especifica la contraseña del inicio de sesión que se está creando. Puede que ya se haya aplicado el algoritmo hash a este valor. Debe utilizar siempre una contraseña segura. Para obtener más información, vea Contraseñas seguras.
  • PASSWORD **=**hashed_password
    Sólo se aplica a la palabra clave HASHED. Especifica el valor con algoritmo hash de la contraseña para el inicio de sesión que se crea.
  • HASHED
    Sólo se aplica a inicios de sesión de SQL Server. Especifica que la contraseña especificada después del argumento PASSWORD ya tiene aplicado el algoritmo hash. La opción HASH sólo se puede utilizar en los inicios de sesión para los que las comprobaciones de directivas de contraseñas están desactivadas. Si esta opción no se selecciona, se aplicará el algoritmo hash a la cadena especificada como contraseña antes de almacenarse en la base de datos.
  • MUST_CHANGE
    Sólo se aplica a inicios de sesión de SQL Server. Si se incluye esta opción, SQL Server pide al usuario la contraseña nueva la primera vez que se utilice el inicio de sesión nuevo.
  • CREDENTIAL **=**credential_name
    El nombre de una credencial que debe asignarse al nuevo inicio de sesión de SQL Server. La credencial debe existir en la base de datos.
  • SID = sid
    Sólo se aplica a inicios de sesión de SQL Server. Especifica el GUID del inicio de sesión de SQL Server nuevo. Si esta opción no se selecciona, SQL Server asigna automáticamente un GUID.
  • DEFAULT_DATABASE **=**database
    Especifica la base de datos predeterminada que debe asignarse al inicio de sesión. Si no se incluye esta opción, el valor predeterminado es master.
  • DEFAULT_LANGUAGE **=**language
    Especifica el idioma predeterminado que debe asignarse al inicio de sesión. Si no se incluye esta opción, el idioma predeterminado es el del servidor. Si el idioma predeterminado del servidor se cambia más tarde, el del inicio de sesión se mantiene igual.
  • CHECK_EXPIRATION = { ON | OFF }
    Sólo se aplica a inicios de sesión de SQL Server. Especifica si debe cumplirse la directiva de caducidad de contraseñas en este inicio de sesión. El valor predeterminado es OFF.
  • CHECK_POLICY = { ON | OFF }
    Sólo se aplica a inicios de sesión de SQL Server. Especifica que se deben aplicar las directivas de contraseñas de Windows en el equipo que ejecuta SQL Server para este inicio de sesión. El valor predeterminado es ON.

Notas

En las contraseñas se distingue entre mayúsculas y minúsculas.

La aplicación previa del algoritmo hash a las contraseñas sólo se admite en la creación de inicios de SQL Server.

Si se especifica MUST_CHANGE, CHECK_EXPIRATION y CHECK_POLICY, deben establecerse en ON. Si no es así, la instrucción producirá un error.

No se admite la combinación de CHECK_POLICY = OFF y CHECK_EXPIRATION = ON.

Cuando CHECK_POLICY se establece en OFF, lockout_time se restablece y CHECK_EXPIRATION se establece en OFF.

ms189751.note(es-es,SQL.90).gifImportante:
CHECK_EXPIRATION y CHECK_POLICY sólo se aplican en y versiones posteriores. Para obtener más información, vea Directiva de contraseñas.

Los inicios de sesión creados desde certificados o claves asimétricas sólo se usan para la firma del código. No se pueden utilizar para conectarse a SQL Server. Sólo puede crear un inicio de sesión desde un certificado o clave asimétrica cuando este certificado o clave asimétrica ya exista en master.

Permisos

Requiere el permiso ALTER ANY LOGIN en el servidor. Si se utiliza la opción CREDENTIAL, también será necesario el permiso ALTER ANY CREDENTIAL en el servidor.

Ejemplos

A. Crear un inicio de sesión con una contraseña

El ejemplo siguiente crea un inicio de sesión para un usuario determinado y asigna una contraseña. La opción MUST_CHANGE requiere que los usuarios cambien la contraseña la primera vez que se conectan al servidor.

CREATE LOGIN Mary5 WITH PASSWORD = '<enterStrongPasswordHere>' MUST_CHANGE;
GO

B. Crear un inicio de sesión asociado a una credencial

El ejemplo siguiente crea un inicio de sesión para un usuario determinado. Este inicio de sesión se asigna a la credencial.

CREATE LOGIN Mary5 WITH PASSWORD = '<enterStrongPasswordHere>', 
    CREDENTIAL = <credential_name>;
GO

C. Crear un inicio de sesión desde un certificado

El ejemplo siguiente crea un inicio de sesión para un usuario determinado a partir de un certificado en master.

USE MASTER;
CREATE CERTIFICATE <certificateName>
    WITH SUBJECT = '<login_name> certificate in master database',
    EXPIRY_DATE = '02/02/2009';
GO
CREATE LOGIN <login_name> FROM CERTIFICATE <certificateName>;
GO

D. Crear un inicio de sesión desde una cuenta de dominio de Windows

En el ejemplo siguiente se crea el inicio de sesión [Adventure-Works\Mary5] desde una cuenta de dominio de Windows.

CREATE LOGIN [Adventure-Works\Mary5] FROM WINDOWS;
GO

Vea también

Referencia

ALTER LOGIN (Transact-SQL)
DROP LOGIN (Transact-SQL)
EVENTDATA (Transact-SQL)

Otros recursos

Entidades de seguridad
Directiva de contraseñas

Ayuda e información

Obtener ayuda sobre SQL Server 2005

Historial de cambios

Versión Historial

17 de julio de 2006

Contenido modificado:
  • Se ha aclarado el uso de inicios de sesión creados desde un certificado o clave asimétrica.