ALTER LOGIN (Transact-SQL)
Ändert die Eigenschaften eines SQL Server-Anmeldekontos.
Transact-SQL-Syntaxkonventionen
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. Das Deaktivieren eines Anmeldenamens wirkt sich nicht auf das Verhalten der bereits verbundenen Anmeldenamen aus. Deaktivierte Anmeldenamen behalten ihre Berechtigungen bei und sind weiterhin für den Identitätswechsel verfügbar.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 der als Kennwort eingegebenen Zeichenfolge 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.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). Der sa-Anmeldung können Anmeldeinformationen nicht zugeordnet werden.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 Erweiterbare Schlüsselverwaltung (Extensible Key Management, EKM).DROP CREDENTIAL
Entfernt Anmeldeinformationen eines Anbieters von erweiterbarer Schlüsselverwaltung (Extensible Key Management EKM) aus der Anmeldung. Weitere Informationen finden Sie unter Erweiterbare Schlüsselverwaltung (Extensible Key Management, EKM).
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:
- Der Kennwortverlauf wird mit dem Wert des aktuellen Kennworthashes 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.
Sie können ALTER_LOGIN mit dem DISABLE-Argument nicht dazu verwenden, den Zugriff auf eine Windows-Gruppe zu verweigern. ALTER_LOGIN [domain\group] DISABLE gibt zum Beispiel die folgende Fehlermeldung zurück:
"Meldung 15151, Ebene 16, Status 1, Zeile 1"
"Kann Anmeldenamen 'Domain\Group' nicht ändern, da er nicht vorhanden ist oder da Sie über keine Berechtigung verfügen."
Dies ist beabsichtigt.
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 Kennwortes 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 einer Anmeldung
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 eines Anmeldenamens 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
Siehe auch
Verweis
CREATE CREDENTIAL (Transact-SQL)
Konzepte
Anmeldeinformationen (Datenbankmodul)
Erweiterbare Schlüsselverwaltung (Extensible Key Management, EKM)