sp_addlogin (Transact-SQL)

Gilt für: SQL Server (alle unterstützten Versionen)

Erstellt eine neue SQL Server-Anmeldung, mit der ein Benutzer eine Verbindung mit einer Instanz von SQL Server herstellen kann, indem SQL Server Authentifizierung verwendet wird.

Wichtig

Dieses Feature wird in einer künftigen Version von Microsoft SQL Server entfernt. Nutzen Sie diese Funktionen bei Neuentwicklungen nicht mehr, und planen Sie die Änderung von Anwendungen, die diese Funktion zurzeit verwenden. Verwenden Sie stattdessen CREATE LOGIN .

Wichtig

Verwenden Sie nach Möglichkeit die Windows-Authentifizierung.

ThemenlinksymbolTransact-SQL-Syntaxkonventionen

Syntax

  
sp_addlogin [ @loginame = ] 'login'   
    [ , [ @passwd = ] 'password' ]   
    [ , [ @defdb = ] 'database' ]   
    [ , [ @deflanguage = ] 'language' ]   
    [ , [ @sid = ] sid ]   
    [ , [ @encryptopt = ] 'encryption_option' ]   
[;]  

Argumente

[ @loginame= ] 'Login'
Der Name der Anmeldung. login ist vom Datentyp sysnameund hat keinen Standardwert.

[ @passwd= ] "Kennwort"
Ist das Anmeldekennwort. password is sysname, with a default of NULL.

Wichtig

Verwenden Sie kein leeres Kennwort. Verwenden Sie ein sicheres Kennwort.

[ @defdb= ] 'Datenbank'
Ist die Standarddatenbank des Anmeldenamens (die Datenbank, mit der der Anmeldename nach dem Anmelden zuerst verbunden wird). Die Datenbank ist sysname, wobei ein Standard des Masters vorhanden ist.

[ @deflanguage= ] 'Sprache'
Die Standardsprache der Anmeldung. language ist vom Datentyp sysnameund hat den Standardwert NULL. Wenn die Sprache nicht angegeben wird, wird die Standardsprache der neuen Anmeldung auf die aktuelle Standardsprache des Servers festgelegt.

[ @sid= ] 'sid'
Die Sicherheits-ID (SID). sid ist varbinary(16), mit einer Standardeinstellung von NULL. Wenn Sid NULL ist, generiert das System eine SID für die neue Anmeldung. Trotz der Verwendung eines Varbinary-Datentyps müssen Werte, die nicht NULL sind, genau 16 Bytes lang sein und nicht bereits vorhanden sein. Die Angabe von Sid ist z. B. nützlich, wenn Sie skriptieren oder SQL Server Anmeldeinformationen von einem Server zu einem anderen verschieben und möchten, dass die Anmeldungen dieselbe SID auf verschiedenen Servern haben.

[ @encryptopt= ] 'encryption_option'
Gibt an, ob das Kennwort als Klartext oder als Hash des Klartextkennworts weitergegeben wird. Dabei ist zu beachten, dass keine Verschlüsselung stattfindet. Der Begriff "verschlüsseln" wird in diesem Zusammenhang aus Gründen der Abwärtskompatibilität verwendet. Wenn ein Klartextkennwort übergeben wird, geschieht dies in Form eines Hashs. Der Hash wird gespeichert. encryption_option ist varchar(20), und kann eine der folgenden Werte sein.

Wert BESCHREIBUNG
NULL Das Kennwort wird als Klartext übergeben. Dies ist die Standardoption.
skip_encryption Es wurde bereits ein Hashwert aus dem Kennwort erstellt. Das Datenbankmodul sollte den Wert speichern, ohne ihn erneut zu hashen.
skip_encryption_old Das angegebene Kennwort wurde von einer früheren Version von SQL Server hasht. Das Datenbankmodul sollte den Wert speichern, ohne ihn erneut zu hashen. Diese Option dient lediglich Upgradezwecken.

Rückgabecodewerte

„0“ (erfolgreich) oder „1“ (fehlerhaft)

Bemerkungen

SQL Server Anmeldungen können von 1 bis 128 Zeichen enthalten, einschließlich Buchstaben, Symbole und Zahlen. Anmeldeinformationen können keinen Backslash (\) enthalten; ist ein reservierter Anmeldename, z. B. sa oder öffentlich oder bereits vorhanden; oder null oder eine leere Zeichenfolge ('') sein.

Wenn der Name einer Standarddatenbank angegeben wird, ist die Verbindung mit dieser Datenbank ohne das Ausführen der USE-Anweisung möglich. Sie können die Standarddatenbank jedoch erst verwenden, wenn Sie zugriff auf diese Datenbank durch den Datenbankbesitzer (mithilfe von sp_adduser oder sp_addrolemember) oder sp_addrole erhalten.

Die SID ist ein GUID, die den Anmeldenamen auf dem Server eindeutig identifiziert.

Wird die Standardsprache des Servers geändert, ändert sich dadurch nicht die Standardsprache der bestehenden Anmeldenamen. Um die Standardsprache des Servers zu ändern, verwenden Sie sp_configure.

Die Verwendung von skip_encryption zum Unterdrücken des Kennworthashs ist nützlich, wenn das Kennwort bereits hashiert wird, wenn die Anmeldung zu SQL Server hinzugefügt wird. Wenn das Kennwort von einer früheren Version von SQL Server hashet wurde, verwenden Sie skip_encryption_old.

sp_addlogin kann nicht innerhalb einer benutzerdefinierten Transaktion ausgeführt werden.

In der folgenden Tabelle werden verschiedene gespeicherte Prozeduren angezeigt, die mit sp_addlogin verwendet werden.

Gespeicherte Prozedur BESCHREIBUNG
sp_grantlogin Fügt einen Windows-Benutzer oder eine Windows-Gruppe hinzu.
sp_password Ändert das Kennwort eines Benutzers.
sp_defaultdb Ändert die Standarddatenbank eines Benutzers.
sp_defaultlanguage Ändert die Standardsprache eines Benutzers.

Berechtigungen

Erfordert die ALTER ANY LOGIN-Berechtigung.

Beispiele

A. Erstellen einer SQL Server-Anmeldung

Im folgenden Beispiel wird eine SQL Server Anmeldung für den Benutzer Victoriamit einem Kennwort B1r12-36erstellt, ohne eine Standarddatenbank anzugeben.

EXEC sp_addlogin 'Victoria', 'B1r12-36';  
GO  

B. Erstellen einer SQL Server-Anmeldung mit einer Standarddatenbank

Im folgenden Beispiel wird eine SQL Server Anmeldung für den Benutzer Alberterstellt, wobei ein Kennwort und eine Standarddatenbank corporatevon B5432-3M6 .

EXEC sp_addlogin 'Albert', 'B5432-3M6', 'corporate';  
GO  

C. Erstellen einer SQL Server-Anmeldung mit einer anderen Standardsprache

Im folgenden Beispiel wird eine SQL Server Anmeldung für den Benutzer TzTodoroverstellt, mit einem Kennwort von 709hLKH7chjfwv, einer Standarddatenbank von AdventureWorks2012, und einer Standardsprache von Bulgarian.

EXEC sp_addlogin 'TzTodorov', '709hLKH7chjfwv', 'AdventureWorks2012', N'български'  

D: Erstellen einer SQL Server-Anmeldung mit einer bestimmten SID

Im folgenden Beispiel wird eine SQL Server Anmeldung für den Benutzer Michaelerstellt, mit einem Kennwort von , einer Standarddatenbank von B548bmM%f6, einer Standardsprache von AdventureWorks2012us_english, und einer SID von 0x0123456789ABCDEF0123456789ABCDEF.

EXEC sp_addlogin 'Michael', 'B548bmM%f6', 'AdventureWorks2012', 'us_english', 0x0123456789ABCDEF0123456789ABCDEF  

Weitere Informationen

CREATE LOGIN (Transact-SQL)
sp_droplogin (Transact-SQL)
sp_helpuser (Transact-SQL)
sp_revokelogin (Transact-SQL)
xp_logininfo (Transact-SQL)