ALTER LOGIN (Transact-SQL)
Ändert die Eigenschaften eines SQL Server-Anmeldekontos.
Syntax
ALTER LOGIN login_name
{
<status_option>
| WITH <set_option> [ ,... ]
| <cryptographic_credential_option>
}
<status_option> ::=
ENABLE | DISABLE
<set_option> ::=
PASSWORD = 'password' | hashed_password HASHED
[
OLD_PASSWORD = 'oldpassword'
| <password_option> [<password_option> ]
]
| DEFAULT_DATABASE = database
| DEFAULT_LANGUAGE = language
| NAME = login_name
| CHECK_POLICY = { ON | OFF }
| CHECK_EXPIRATION = { ON | OFF }
| CREDENTIAL = credential_name
| NO CREDENTIAL
<password_option> ::=
MUST_CHANGE | UNLOCK
<cryptographic_credentials_option> ::=
ADD CREDENTIAL credential_name
| DROP CREDENTIAL credential_name
Argumente
login_name
Gibt den Namen des SQL Server-Anmeldenamens an, der geändert wird. Domänenanmeldungen müssen in Klammern eingeschlossen werden [Domäne\Benutzer].ENABLE | DISABLE
Aktiviert oder deaktiviert diesen Anmeldenamen.PASSWORD ='password'
Gilt nur für SQL Server-Anmeldenamen. Gibt das Kennwort für den Anmeldenamen an, der geändert wird. Bei Kennwörtern wird nach Groß- und Kleinschreibung unterschieden.PASSWORD **=**hashed_password
Gilt nur für das HASHED-Schlüsselwort. Gibt den Hashwert des Kennworts für den Anmeldenamen an, der erstellt wird.HASHED
Gilt nur für SQL Server-Anmeldenamen. Gibt an, dass das nach dem PASSWORD-Argument eingegebene Kennwort bereits einen Hashwert darstellt. Wenn diese Option nicht ausgewählt wird, wird aus dem Kennwort vor dem Speichern in der Datenbank ein Hashwert erstellt. Diese Option sollte nur für die Anmeldungssynchronisierung zwischen zwei Servern verwendet werden. Verwenden Sie die HASHED-Option nicht, um Kennwörter routinemäßig zu ändern.Hinweis Dieses Argument kann nur mit Hashes verwendet werden, die in SQL Server 2000 oder in höheren Versionen generiert wurden.
OLD_PASSWORD ='oldpassword'
Gilt nur für SQL Server-Anmeldenamen. Das aktuelle Kennwort des Anmeldenamens, dem ein neues Kennwort zugewiesen wird. Bei Kennwörtern wird nach Groß- und Kleinschreibung unterschieden.MUST_CHANGE
Gilt nur für SQL Server-Anmeldenamen. Falls diese Option angegeben wird, fordert SQL Server zur Eingabe eines aktualisierten Kennworts auf, wenn der geänderte Anmeldename zum ersten Mal verwendet wird.DEFAULT_DATABASE **=**database
Gibt eine Standarddatenbank an, die dem Anmeldenamen zugewiesen werden soll.DEFAULT_LANGUAGE **=**language
Gibt eine Standardsprache an, die dem Anmeldenamen zugewiesen werden soll.NAME = login_name
Der neue Name des Anmeldenamens, der umbenannt wird. Falls es sich dabei um einen Windows-Anmeldenamen handelt, muss die SID des entsprechenden Windows-Prinzipals für den neuen Namen mit der SID übereinstimmen, die dem Anmeldenamen in SQL Server zugeordnet ist. Der neue Name eines SQL Server-Anmeldenamens darf keinen umgekehrten Schrägstrich (\) enthalten.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.CREDENTIAL = credential_name
Die Anmeldeinformationen, die einem SQL Server-Anmeldenamen zugeordnet werden sollen. Die Anmeldeinformationen müssen bereits auf dem Server vorhanden sein. Weitere Informationen finden Sie unter Anmeldeinformationen (Datenbankmodul). Es ist nicht möglich, Anmeldeinformationen dem sa-Anmeldenamen zuzuordnen.NO CREDENTIAL
Entfernt vorhandene Zuordnungen des Anmeldenamens zu Serveranmeldeinformationen. Weitere Informationen finden Sie unter Anmeldeinformationen (Datenbankmodul).UNLOCK
Gilt nur für SQL Server-Anmeldenamen. Gibt an, dass die Sperre eines Anmeldenamens aufgehoben wird.ADD CREDENTIAL
Fügt Anmeldeinformationen eines Anbieters von erweiterbarer Schlüsselverwaltung (Extensible Key Management EKM) zur Anmeldung hinzu. Weitere Informationen finden Sie unter Grundlegendes zur erweiterbaren Schlüsselverwaltung.DROP CREDENTIAL
Entfernt Anmeldeinformationen eines Anbieters von erweiterbarer Schlüsselverwaltung (Extensible Key Management EKM) aus der Anmeldung. Weitere Informationen finden Sie unter Grundlegendes zur erweiterbaren Schlüsselverwaltung.
Hinweise
Wenn CHECK_POLICY auf ON festgelegt ist, kann das HASHED-Argument nicht verwendet werden.
Wenn CHECK_POLICY in ON geändert wird, passiert Folgendes:
CHECK_EXPIRATION wird ebenfalls auf ON festgelegt, es sei denn, diese Option wird explizit auf OFF festgelegt.
Der Kennwortverlauf wird mit dem Wert des aktuellen Kennworthashs initialisiert.
Wenn CHECK_POLICY in OFF geändert wird, passiert Folgendes:
CHECK_EXPIRATION wird ebenfalls auf OFF festgelegt.
Der Kennwortverlauf wird gelöscht.
Der Wert von lockout_time wird zurückgesetzt.
Falls MUST_CHANGE angegeben wird, müssen CHECK_EXPIRATION und CHECK_POLICY auf ON festgelegt werden. Andernfalls erzeugt die Anweisung einen Fehler.
Falls CHECK_POLICY auf OFF festgelegt ist, kann CHECK_EXPIRATION nicht auf ON festgelegt werden. Eine ALTER LOGIN-Anweisung mit dieser Kombination von Optionen erzeugt einen Fehler.
Wichtig |
---|
CHECK_EXPIRATION und CHECK_POLICY werden nur unter Windows Server 2003 und höher erzwungen. Weitere Informationen finden Sie unter Kennwortrichtlinie. |
Wichtig |
---|
Ein bekanntes Problem in Windows Server 2003 verhindert möglicherweise, dass die fehlerhafte Kennwortanzahl zurückgesetzt wird, nachdem der Schwellenwert für die Kontosperrung erreicht wurde. Dies kann zur sofortigen Sperrung nachfolgender fehlgeschlagener Anmeldeversuche führen. Sie können die fehlerhafte Kennwortanzahl zurücksetzen, indem Sie CHECK_POLICY = OFF und dann CHECK_POLICY = ON festlegen. Weitere Informationen zum Schwellenwert für die Kontosperrung finden Sie im Microsoft Knowledge Base-Artikel 818078: Benutzerkonten werden möglicherweise vorzeitig gesperrt. |
Sie können ALTER_LOGIN mit dem DISABLE-Argument nicht verwenden, um den Zugriff auf eine Windows-Gruppe zu verweigern. Beispielsweise wird mit ALTER_LOGIN [domain\group] DISABLE eine Fehlermeldung folgenden Inhalts zurückgegeben:
"Meldung 15151, Ebene 16, Status 1, Zeile 1"
"Der Anmeldename 'Domain\Group' kann nicht geändert werden, da er nicht vorhanden ist oder Sie keine entsprechende Berechtigung besitzen."
Dies ist programmbedingt.
Berechtigungen
Erfordert die ALTER ANY LOGIN-Berechtigung.
Falls die Option CREDENTIAL verwendet wird, ist auch die ALTER ANY CREDENTIAL-Berechtigung erforderlich.
Wenn der zu ändernde Anmeldename ein Mitglied der festen Serverrolle sysadmin oder ein Empfänger der CONTROL SERVER-Berechtigung ist, ist auch die CONTROL SERVER-Berechtigung für die folgenden Änderungen erforderlich:
Zurücksetzen des Kennworts ohne Eingabe des alten Kennworts.
Aktivieren von MUST_CHANGE, CHECK_POLICY oder CHECK_EXPIRATION.
Ändern des Anmeldenamens.
Aktivieren oder Deaktivieren des Anmeldenamens.
Zuordnen des Anmeldenamens zu anderen Anmeldeinformationen.
Ein Prinzipal kann das Kennwort, die Standardsprache und die Standarddatenbank für seinen eigenen Anmeldenamen ändern.
Beispiele
A. Aktivieren eines deaktivierten Anmeldenamens
Im folgenden Beispiel wird der Anmeldename Mary5 aktiviert.
ALTER LOGIN Mary5 ENABLE;
B. Ändern des Kennworts eines Anmeldenamens
Im folgenden Beispiel wird das Kennwort des Anmeldenamens Mary5 in ein sicheres Kennwort geändert.
ALTER LOGIN Mary5 WITH PASSWORD = '<enterStrongPasswordHere>';
C. Ändern des Namens eines Anmeldenamens
Im folgenden Beispiel wird der Name des Anmeldenamens Mary5 in John2 geändert.
ALTER LOGIN Mary5 WITH NAME = John2;
D. Zuordnen eines Anmeldenamens zu Anmeldeinformationen
Im folgenden Beispiel wird der Anmeldename John2 den Anmeldeinformationen Custodian04 zugeordnet.
ALTER LOGIN John2 WITH CREDENTIAL = Custodian04;
E. Zuordnen einer Anmeldung zu Anmeldeinformationen der erweiterbaren Schlüsselverwaltung
Im folgenden Beispiel wird der Anmeldename Mary5 den EKM-Anmeldeinformationen EKMProvider1 zugeordnet.
ALTER LOGIN Mary5
ADD CREDENTIAL EKMProvider1;
GO
F. Entsperren einer Anmeldung
Um eine SQL Server-Anmeldung zu entsperren, führen Sie die folgende Anweisung aus und ersetzen **** durch das gewünschte Kontokennwort.
ALTER LOGIN [Mary5] WITH PASSWORD = '****' UNLOCK ;
GO
Um eine Anmeldung zu entsperren, ohne das Kennwort zu ändern, deaktivieren Sie die Überprüfungsrichtlinie, und aktivieren Sie diese dann erneut.
ALTER LOGIN [Mary5] WITH CHECK_POLICY = OFF;
ALTER LOGIN [Mary5] WITH CHECK_POLICY = ON;
GO
G. Ändern des Kennworts für eine Anmeldung mit HASHED
Im folgenden Beispiel wird das Kennwort für die TestUser-Anmeldung in einen bereits vorhandenen Hashwert geändert.
ALTER LOGIN TestUser WITH
PASSWORD = 0x01000CF35567C60BFB41EBDE4CF700A985A13D773D6B45B90900 HASHED ;
GO