CREATE LOGIN (Transact-SQL)

Aktualisiert: 17. Juli 2006

Erstellt einen neuen SQL Server-Anmeldenamen.

Themenlink (Symbol)Transact-SQL-Syntaxkonventionen

Syntax

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

Argumente

  • login_name
    Gibt den Anmeldenamen an, der erstellt wird. Es gibt vier Arten von Anmeldenamen: SQL Server-Anmeldenamen, Windows-Anmeldenamen, Anmeldenamen mit zugeordneten Zertifikaten sowie Anmeldenamen mit zugeordneten asymmetrischen Schlüsseln. Wenn login_name von einem Windows-Domänenkonto zugeordnet wird, muss login_name in eckige Klammern ([ ]) eingeschlossen werden. Informationen finden Sie unter Beispiel D weiter unten in diesem Thema.
  • WINDOWS
    Gibt an, dass der Anmeldename einem Windows-Anmeldenamen zugeordnet wird.
  • CERTIFICATE certificateName
    Gibt den Namen eines Zertifikats an, das diesem Anmeldenamen zugeordnet werden soll. Dieses Zertifikat muss bereits in der master-Datenbank vorhanden sein.
  • ASYMMETRIC KEY asym_key_name
    Gibt den Namen eines asymmetrischen Schlüssels an, der diesem Anmeldenamen zugeordnet werden soll. Dieser Schlüssel muss bereits in der master-Datenbank vorhanden sein.
  • PASSWORD ='password'
    Gilt nur für SQL Server-Anmeldenamen. Gibt das Kennwort für den Anmeldenamen an, der erstellt wird. Dieser Wert wird möglichersweise bereits als Hashwert bereitgestellt. Sie sollten ein sicheres Kennwort verwenden. Weitere Informationen finden Sie unter Sichere Kennwörter.
  • PASSWORD **=**hashed_password
    Gilt nur für das HASHED-Schlüsselwort. Gibt den Hashwert des Kennworts der Anmeldung an, die erstellt wird.
  • HASHED
    Gilt nur für SQL Server-Anmeldenamen. Gibt an, dass das nach dem PASSWORD-Argument eingegebene Kennwort bereits ein Hashwert ist. Die HASHED-Option kann nur für Anmeldenamen verwendet werden, für die die Richtlinienüberprüfung für Kennwörter deaktiviert ist. Wenn diese Option nicht ausgewählt wird, wird aus der als Kennwort eingegebenen Zeichenfolge vor dem Speichern in der Datenbank ein Hashwert erstellt.
  • MUST_CHANGE
    Gilt nur für SQL Server-Anmeldenamen. Wenn diese Option angegeben wird, wird der Benutzer von SQL Server zur Eingabe eines neuen Kennwortes aufgefordert, wenn der neue Anmeldename zum ersten Mal verwendet wird.
  • CREDENTIAL **=**credential_name
    Die Anmeldeinformationen, die dem neuen SQL Server-Anmeldenamen zugeordnet werden sollen. Die Anmeldeinformationen müssen bereits auf dem Server vorhanden sein.
  • SID = sid
    Gilt nur für SQL Server-Anmeldenamen. Gibt den GUID des neuen SQL Server-Anmeldenamens an. Wenn diese Option nicht ausgewählt wird, wird von SQL Server automatisch ein GUID zugewiesen.
  • DEFAULT_DATABASE **=**database
    Gibt die Standarddatenbank an, die dem Anmeldenamen zugewiesen werden soll. Wenn diese Option nicht enthalten ist, wird master als Standarddatenbank festgelegt.
  • DEFAULT_LANGUAGE **=**language
    Gibt die Standardsprache an, die dem Anmeldenamen zugewiesen werden soll. Wenn diese Option nicht enthalten ist, wird die aktuelle Standardsprache des Servers als Standardsprache festgelegt. Wenn die Standardsprache des Servers zu einem späteren Zeitpunkt geändert wird, wird die Standardsprache des Anmeldenamens nicht geändert.
  • CHECK_EXPIRATION = { ON | OFF }
    Gilt nur für SQL Server-Anmeldenamen. Gibt an, ob die Richtlinie für das Ablaufen von Kennwörtern für diesen Anmeldenamen erzwungen werden soll. Der Standardwert ist OFF.
  • CHECK_POLICY = { ON | OFF }
    Gilt nur für SQL Server-Anmeldenamen. Gibt an, dass die Windows-Kennwortrichtlinien des Computers, auf dem SQL Server ausgeführt wird, für diesen Anmeldenamen erzwungen werden sollen. Der Standardwert ist ON.

Hinweise

Bei Kennwörtern wird nach Groß- und Kleinschreibung unterschieden.

Das vorherige Erstellen von Hashwerten für Kennwörter wird nur unterstützt, wenn Sie SQL Server-Anmeldenamen erstellen.

Falls MUST_CHANGE angegeben wird, müssen CHECK_EXPIRATION und CHECK_POLICY auf ON festgelegt werden. Andernfalls erzeugt die Anweisung einen Fehler.

Die Kombination aus CHECK_POLICY = OFF und CHECK_EXPIRATION = ON wird nicht unterstützt.

Wenn CHECK_POLICY auf OFF festgelegt ist, wird lockout_time zurückgesetzt, und CHECK_EXPIRATION wird auf OFF festgelegt.

ms189751.note(de-de,SQL.90).gifWichtig:
CHECK_EXPIRATION und CHECK_POLICY werden nur unter und höher erzwungen. Weitere Informationen finden Sie unter Kennwortrichtlinie.

Aus Zertifikaten oder asymmetrischen Schlüsseln erstellte Anmeldenamen werden nur zum Signieren von Code verwendet. Sie können nicht verwendet werden, um eine Verbindung mit SQL Server herzustellen. Sie können einen Anmeldenamen von einem Zertifikat oder einem asymmetrischen Schlüssel nur erstellen, wenn das Zertifikat oder der asymmetrische Schlüssel bereits in master vorhanden ist.

Berechtigungen

Erfordert die ALTER ANY LOGIN-Berechtigung auf dem Server. Falls die Option CREDENTIAL verwendet wird, ist auch die ALTER ANY CREDENTIAL-Berechtigung auf dem Server erforderlich.

Beispiele

A. Erstellen eines Anmeldenamens mit einem Kennwort

Im folgenden Beispiel wird ein Anmeldename für einen bestimmten Benutzer erstellt und ein Kennwort zugewiesen. Die MUST_CHANGE-Option erfordert, dass Benutzer dieses Kennwort ändern, wenn sie das erste Mal eine Verbindung mit dem Server herstellen.

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

B. Erstellen eines Anmeldeinformationen zugeordneten Anmeldenamens

Im folgenden Beispiel wird ein Anmeldename für einen bestimmten Benutzer erstellt. Dieser Anmeldename wird den Anmeldeinformationen zugeordnet.

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

C. Erstellen eines Anmeldenamens von einem Zertifikat

Im folgenden Beispiel wird ein Anmeldename für einen bestimmten Benutzer aus einem Zertifikat in master erstellt.

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. Erstellen eines Anmeldenamens von einem Windows-Domänenkonto

Im folgenden Beispiel wird der Anmeldename [Adventure-Works\Mary5] von einem Windows-Domänenkonto erstellt.

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

Siehe auch

Verweis

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

Andere Ressourcen

Prinzipale
Kennwortrichtlinie

Hilfe und Informationen

Informationsquellen für SQL Server 2005

Änderungsverlauf

Version Verlauf

17. Juli 2006

Geänderter Inhalt:
  • Die Verwendung von aus Zertifikaten oder asymmetrischen Schlüsseln erstellten Anmeldenamen wurde verdeutlicht.