ALTER LOGIN (Transact-SQL)
Zmienia właściwości konta logowania programu SQL Server.
Transact-SQL konwencje składni
Nuta
microsoft Entra ID był wcześniej znany jako Azure Active Directory (Azure AD).
Wybieranie produktu
W poniższym wierszu wybierz nazwę produktu, którą cię interesuje, i zostanie wyświetlona tylko informacja o tym produkcie.
* SQL Server *
usługi
usługi
Azure Synapse
analizy
SQL Server
Składnia dla programu SQL Server
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
Argumenty
login_name
Określa nazwę identyfikatora logowania programu SQL Server, który jest zmieniany. Identyfikatory logowania domeny muszą być ujęte w nawiasy w formacie [<domain>\<user>]
.
WŁĄCZ | WYŁĄCZAĆ
Włącza lub wyłącza to logowanie. Wyłączenie logowania nie ma wpływu na zachowanie identyfikatorów logowania, które są już połączone. (Użyj instrukcji KILL
, aby zakończyć istniejące połączenie). Wyłączone logowania zachowują swoje uprawnienia i nadal mogą być personifikowane.
PASSWORD = 'password'
Dotyczy tylko identyfikatorów logowania programu SQL Server. Określa hasło do zmienianego identyfikatora logowania. W hasłach jest rozróżniana wielkość liter.
HASŁO = hashed_password
Dotyczy tylko słowa kluczowego HASHED. Określa wartość skrótu hasła dla tworzonego identyfikatora logowania.
Ważny
Gdy logowanie (lub użytkownik zawartej bazy danych) łączy się i jest uwierzytelniane, połączenie buforuje informacje o tożsamości logowania. W przypadku logowania do uwierzytelniania systemu Windows zawiera to informacje o członkostwie w grupach systemu Windows. Tożsamość logowania pozostaje uwierzytelniona, o ile połączenie jest utrzymywane. Aby wymusić zmiany tożsamości, takie jak resetowanie hasła lub zmiana członkostwa w grupie systemu Windows, logowanie musi wylogować się z urzędu uwierzytelniania (Windows lub SQL Server) i zalogować się ponownie. Członek sysadmin stałej roli serwera lub dowolny identyfikator logowania z uprawnieniami ALTER ANY CONNECTION
może użyć KILL
polecenia, aby zakończyć połączenie i wymusić ponowne nawiązanie połączenia. Program SQL Server Management Studio może ponownie używać informacji o połączeniu podczas otwierania wielu połączeń z oknami Eksplorator obiektów i Edytor zapytań. Zamknij wszystkie połączenia, aby wymusić ponowne nawiązanie połączenia.
MIESZANY
Dotyczy tylko identyfikatorów logowania programu SQL Server. Określa, że hasło wprowadzone po argumencie PASSWORD jest już skrótem. Jeśli ta opcja nie zostanie wybrana, hasło zostanie skrócone przed zapisaniem w bazie danych. Ta opcja powinna być używana tylko do synchronizacji logowania między dwoma serwerami. Nie używaj opcji HASHED, aby rutynowo zmieniać hasła.
OLD_PASSWORD = 'old_password'
Dotyczy tylko identyfikatorów logowania programu SQL Server. Bieżące hasło logowania, do którego zostanie przypisane nowe hasło. W hasłach jest rozróżniana wielkość liter.
MUST_CHANGE
Dotyczy tylko identyfikatorów logowania programu SQL Server. Jeśli ta opcja jest dołączona, program SQL Server monituje o zaktualizowane hasło przy pierwszym użyciu zmienionego identyfikatora logowania.
DEFAULT_DATABASE = bazy danych
Określa domyślną bazę danych, która ma zostać przypisana do nazwy logowania.
DEFAULT_LANGUAGE = języka
Określa domyślny język, który ma być przypisany do logowania. Domyślnym językiem dla wszystkich logowań usługi SQL Database jest angielski i nie można go zmienić. Domyślny język logowania sa
w programie SQL Server w systemie Linux to angielski, ale można go zmienić.
NAME = login_name
Nowa nazwa logowania, która jest zmieniana. Jeśli jest to identyfikator logowania systemu Windows, identyfikator SID podmiotu zabezpieczeń systemu Windows odpowiadającego nowej nazwie musi być zgodny z identyfikatorem SID skojarzonym z identyfikatorem logowania w programie SQL Server. Nowa nazwa logowania programu SQL Server nie może zawierać znaku ukośnika odwrotnego (\
).
CHECK_EXPIRATION = { ON | WYŁ. }
Dotyczy tylko identyfikatorów logowania programu SQL Server. Określa, czy zasady wygasania haseł powinny być wymuszane podczas tego logowania. Wartość domyślna to OFF.
CHECK_POLICY = { ON | WYŁ. }
Dotyczy tylko identyfikatorów logowania programu SQL Server. Określa, że zasady haseł systemu Windows komputera, na którym działa program SQL Server, powinny być wymuszane na tym logowaniu. Wartość domyślna to WŁĄCZONE.
CREDENTIAL = credential_name
Nazwa poświadczenia, które mają zostać zamapowane na identyfikator logowania programu SQL Server. Poświadczenia muszą już istnieć na serwerze. Aby uzyskać więcej informacji, zobacz Credentials. Nie można zamapować poświadczenia na identyfikator logowania sa.
BRAK POŚWIADCZEŃ
Usuwa wszelkie istniejące mapowanie nazwy logowania na poświadczenia serwera. Aby uzyskać więcej informacji, zobacz Credentials.
ODBLOKOWAĆ
Dotyczy tylko identyfikatorów logowania programu SQL Server. Określa, że nazwa logowania, która jest zablokowana, powinna zostać odblokowana.
DODAWANIE POŚWIADCZEŃ
Dodaje poświadczenie dostawcy zarządzania kluczami rozszerzalnymi (EKM) do identyfikatora logowania. Aby uzyskać więcej informacji, zobacz Extensible Key Management (EKM).
UPUŚĆ POŚWIADCZENIA
Usuwa poświadczenie dostawcy zarządzania kluczami rozszerzalnymi (EKM) z identyfikatora logowania. Aby uzyskać więcej informacji, zobacz [Extensible Key Management (EKM)] (.. /.. /relational-databases/security/encryption/extensible-key-management-ekm.md).
Uwagi
Jeśli CHECK_POLICY jest ustawiona na WŁ., nie można użyć argumentu HASHED.
Po zmianie CHECK_POLICY na WŁ. następuje następujące zachowanie:
- Historia haseł jest inicjowana z wartością bieżącego skrótu hasła.
Gdy CHECK_POLICY zostanie zmieniona na WYŁ., wystąpi następujące zachowanie:
- CHECK_EXPIRATION jest również ustawiona na WARTOŚĆ WYŁĄCZONE.
- Historia haseł jest czyszczone.
- Wartość lockout_time jest resetowany.
Jeśli określono MUST_CHANGE, CHECK_EXPIRATION i CHECK_POLICY muszą być ustawione na WARTOŚĆ WŁĄCZONE. W przeciwnym razie instrukcja kończy się niepowodzeniem.
Jeśli CHECK_POLICY jest ustawiona na WYŁ., CHECK_EXPIRATION nie można ustawić wartości WŁĄCZONE. Instrukcja ALTER LOGIN, która zawiera tę kombinację opcji, kończy się niepowodzeniem.
Nie można użyć polecenia ALTER LOGIN z argumentem DISABLE, aby odmówić dostępu do grupy systemu Windows. Na przykład ALTER LOGIN [<domain>\<group>] DISABLE
zwraca następujący komunikat o błędzie:
"Msg 15151, Level 16, State 1, Line 1
Cannot alter the login '*Domain\Group*', because it doesn't exist or you don't have permission.
Jest to zgodnie z projektem.
W usłudze SQL Database dane logowania wymagane do uwierzytelniania reguł zapory na poziomie serwera i połączenia są tymczasowo buforowane w każdej bazie danych. Ta pamięć podręczna jest okresowo odświeżona. Aby wymusić odświeżenie pamięci podręcznej uwierzytelniania i upewnić się, że baza danych ma najnowszą wersję tabeli logins, wykonaj DBCC FLUSHAUTHCACHE.
Uprawnienia
Wymaga uprawnienia ALTER ANY LOGIN.
Jeśli jest używana opcja CREDENTIAL, wymagane jest również uprawnienie ALTER ANY CREDENTIAL.
Jeśli identyfikator logowania, który jest zmieniany, jest elementem członkowskim sysadmin stałej roli serwera lub udzielenia uprawnień SERWERA KONTROLI, również wymaga uprawnień CONTROL SERVER podczas wprowadzania następujących zmian:
- Resetowanie hasła bez podawania starego hasła.
- Włączanie MUST_CHANGE, CHECK_POLICY lub CHECK_EXPIRATION.
- Zmiana nazwy logowania.
- Włączanie lub wyłączanie logowania.
- Mapowanie nazwy logowania na inne poświadczenia.
Podmiot zabezpieczeń może zmienić hasło, język domyślny i domyślną bazę danych na potrzeby własnego logowania.
Przykłady
A. Włączanie wyłączonego logowania
Poniższy przykład umożliwia logowanie Mary5
.
ALTER LOGIN Mary5 ENABLE;
B. Zmienianie hasła logowania
Poniższy przykład zmienia hasło logowania Mary5
na silne hasło.
ALTER LOGIN Mary5 WITH PASSWORD = '<enterStrongPasswordHere>';
C. Zmienianie hasła logowania po zalogowaniu się jako identyfikator logowania
Jeśli próbujesz zmienić hasło logowania, za pomocą którego użytkownik jest aktualnie zalogowany, i nie masz uprawnień ALTER ANY LOGIN
, musisz określić opcję OLD_PASSWORD
.
ALTER LOGIN Mary5 WITH PASSWORD = '<enterStrongPasswordHere>' OLD_PASSWORD = '<oldWeakPasswordHere>';
D. Zmienianie nazwy logowania
Poniższy przykład zmienia nazwę Mary5
logowania na John2
.
ALTER LOGIN Mary5 WITH NAME = John2;
E. Mapuj identyfikator logowania na poświadczenia
Poniższy przykład mapuje John2
logowania na Custodian04
poświadczeń .
ALTER LOGIN John2 WITH CREDENTIAL = Custodian04;
F. Mapuj identyfikator logowania na poświadczenia rozszerzonego zarządzania kluczami
Poniższy przykład mapuje Mary5
logowania na EKMProvider1
poświadczeń EKM.
ALTER LOGIN Mary5 ADD CREDENTIAL EKMProvider1;
GO
F. Odblokowywanie logowania
Aby odblokować identyfikator logowania programu SQL Server, wykonaj następującą instrukcję, zastępując ****
odpowiednim hasłem konta.
ALTER LOGIN [Mary5] WITH PASSWORD = '****' UNLOCK;
GO
Aby odblokować logowanie bez zmiany hasła, wyłącz zasady sprawdzania, a następnie ponownie.
ALTER LOGIN [Mary5] WITH CHECK_POLICY = OFF;
ALTER LOGIN [Mary5] WITH CHECK_POLICY = ON;
GO
G. Zmienianie hasła logowania przy użyciu protokołu HASHED
Poniższy przykład zmienia hasło logowania TestUser
na wartość już skróconą.
ALTER LOGIN TestUser WITH PASSWORD = 0x01000CF35567C60BFB41EBDE4CF700A985A13D773D6B45B90900 HASHED;
GO
Powiązana zawartość
- poświadczeń
- CREATE LOGIN
- DROP LOGIN
- CREATE CREDENTIAL
- EVENTDATA
- zarządzania kluczami rozszerzalnymi (EKM)
* SQL Database *
usługi
Azure Synapse
analizy
SQL Database
Składnia dla usługi Azure SQL Database
ALTER LOGIN login_name
{
<status_option>
| WITH <set_option> [ , .. .n ]
}
[;]
<status_option> ::=
ENABLE | DISABLE
<set_option> ::=
PASSWORD = 'password'
[
OLD_PASSWORD = 'oldpassword'
]
| NAME = login_name
Argumenty
login_name
Określa nazwę identyfikatora logowania programu SQL Server, który jest zmieniany. Identyfikatory logowania do domeny muszą być ujęte w nawiasy w formacie [domena\użytkownik].
WŁĄCZ | WYŁĄCZAĆ
Włącza lub wyłącza to logowanie. Wyłączenie logowania nie ma wpływu na zachowanie identyfikatorów logowania, które są już połączone. (Użyj instrukcji KILL
, aby zakończyć istniejące połączenie). Wyłączone logowania zachowują swoje uprawnienia i nadal mogą być personifikowane.
PASSWORD = 'password'
Dotyczy tylko identyfikatorów logowania programu SQL Server. Określa hasło do zmienianego identyfikatora logowania. W hasłach jest rozróżniana wielkość liter.
Stale aktywne połączenia z usługą SQL Database wymagają ponownego uwierzytelniania (wykonywanego przez aparat bazy danych) co najmniej co 10 godzin. Aparat bazy danych próbuje ponownie uwierzytelnić przy użyciu pierwotnie przesłanego hasła i nie jest wymagane żadne dane wejściowe użytkownika. Ze względu na wydajność, gdy hasło jest resetowane w usłudze SQL Database, połączenie nie jest ponownie uwierzytelniane, nawet jeśli połączenie jest resetowane z powodu buforowania połączeń. Różni się to od zachowania lokalnego programu SQL Server. Jeśli hasło zostało zmienione od czasu, gdy połączenie zostało początkowo autoryzowane, połączenie musi zostać przerwane i nowe połączenie nawiązane przy użyciu nowego hasła. Użytkownik z uprawnieniem KILL DATABASE CONNECTION może jawnie przerwać połączenie z usługą SQL Database za pomocą polecenia KILL. Aby uzyskać więcej informacji, zobacz KILL.
Ważny
Gdy logowanie (lub użytkownik zawartej bazy danych) łączy się i jest uwierzytelniane, połączenie buforuje informacje o tożsamości logowania. W przypadku logowania do uwierzytelniania systemu Windows zawiera to informacje o członkostwie w grupach systemu Windows. Tożsamość logowania pozostaje uwierzytelniona, o ile połączenie jest utrzymywane. Aby wymusić zmiany tożsamości, takie jak resetowanie hasła lub zmiana członkostwa w grupie systemu Windows, logowanie musi wylogować się z urzędu uwierzytelniania (Windows lub SQL Server) i zalogować się ponownie. Członek sysadmin stałej roli serwera lub dowolny identyfikator logowania przy użyciu ALTER ANY CONNECTION uprawnienia może użyć KILL polecenie, aby zakończyć połączenie i wymusić ponowne nawiązanie połączenia. Program SQL Server Management Studio może ponownie używać informacji o połączeniu podczas otwierania wielu połączeń z oknami Eksplorator obiektów i Edytor zapytań. Zamknij wszystkie połączenia, aby wymusić ponowne nawiązanie połączenia.
OLD_PASSWORD = 'old_password'
Dotyczy tylko identyfikatorów logowania programu SQL Server. Bieżące hasło logowania, do którego zostanie przypisane nowe hasło. W hasłach jest rozróżniana wielkość liter.
NAME = login_name
Nowa nazwa logowania, która jest zmieniana. Jeśli jest to identyfikator logowania systemu Windows, identyfikator SID podmiotu zabezpieczeń systemu Windows odpowiadającego nowej nazwie musi być zgodny z identyfikatorem SID skojarzonym z identyfikatorem logowania w programie SQL Server. Nowa nazwa logowania programu SQL Server nie może zawierać znaku ukośnika odwrotnego (\).
Uwagi
W usłudze SQL Database dane logowania wymagane do uwierzytelniania reguł zapory na poziomie serwera i połączenia są tymczasowo buforowane w każdej bazie danych. Ta pamięć podręczna jest okresowo odświeżona. Aby wymusić odświeżenie pamięci podręcznej uwierzytelniania i upewnić się, że baza danych ma najnowszą wersję tabeli logins, wykonaj DBCC FLUSHAUTHCACHE.
Uprawnienia
Wymaga uprawnienia ALTER ANY LOGIN.
Jeśli identyfikator logowania, który jest zmieniany, jest elementem członkowskim sysadmin stałej roli serwera lub udzielenia uprawnień SERWERA KONTROLI, również wymaga uprawnień CONTROL SERVER podczas wprowadzania następujących zmian:
- Resetowanie hasła bez podawania starego hasła.
- Zmiana nazwy logowania.
- Włączanie lub wyłączanie logowania.
- Mapowanie nazwy logowania na inne poświadczenia.
Podmiot zabezpieczeń może zmienić hasło dla własnego identyfikatora logowania.
Przykłady
Te przykłady obejmują również przykłady użycia innych produktów SQL. Zobacz, które poprzednie argumenty są obsługiwane.
A. Włączanie wyłączonego logowania
Poniższy przykład umożliwia logowanie Mary5
.
ALTER LOGIN Mary5 ENABLE;
B. Zmienianie hasła logowania
Poniższy przykład zmienia hasło logowania Mary5
na silne hasło.
ALTER LOGIN Mary5 WITH PASSWORD = '<enterStrongPasswordHere>';
C. Zmienianie nazwy logowania
Poniższy przykład zmienia nazwę Mary5
logowania na John2
.
ALTER LOGIN Mary5 WITH NAME = John2;
D. Mapuj identyfikator logowania na poświadczenia
Poniższy przykład mapuje John2
logowania na Custodian04
poświadczeń .
ALTER LOGIN John2 WITH CREDENTIAL = Custodian04;
E. Mapuj identyfikator logowania na poświadczenia rozszerzonego zarządzania kluczami
Poniższy przykład mapuje Mary5
logowania na EKMProvider1
poświadczeń EKM.
Dotyczy: SQL Server 2008 (10.0.x) i nowszych.
ALTER LOGIN Mary5 ADD CREDENTIAL EKMProvider1;
GO
F. Zmienianie hasła logowania przy użyciu protokołu HASHED
Poniższy przykład zmienia hasło logowania TestUser
na wartość już skróconą.
Dotyczy: SQL Server 2008 (10.0.x) i nowszych.
ALTER LOGIN TestUser WITH PASSWORD = 0x01000CF35567C60BFB41EBDE4CF700A985A13D773D6B45B90900 HASHED;
GO
Powiązana zawartość
- poświadczeń
- CREATE LOGIN
- DROP LOGIN
- CREATE CREDENTIAL
- EVENTDATA
- zarządzania kluczami rozszerzalnymi (EKM)
usługi
* SQL Managed Instance *
Azure Synapse
analizy
Azure SQL Managed Instance
Składnia dla programu SQL Server i usługi Azure SQL Managed Instance
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
-- Syntax for Azure SQL Managed Instance using Microsoft Entra logins
ALTER LOGIN login_name
{
<status_option>
| WITH <set_option> [ , .. .n ]
}
[;]
<status_option> ::=
ENABLE | DISABLE
<set_option> ::=
DEFAULT_DATABASE = database
| DEFAULT_LANGUAGE = language
Argumenty
Argumenty mające zastosowanie do logowań SQL i Microsoft Entra
login_name
Określa nazwę identyfikatora logowania programu SQL Server, który jest zmieniany. Identyfikatory logowania firmy Microsoft Entra muszą być określone jako user@domain. Na przykład john.smith@contoso.comlub jako nazwę grupy lub aplikacji firmy Microsoft. W przypadku logowań firmy Microsoft Entra login_name musi odpowiadać istniejącemu identyfikatorowi logowania firmy Microsoft Entra utworzonemu w bazie danych master
.
WŁĄCZ | WYŁĄCZAĆ
Włącza lub wyłącza to logowanie. Wyłączenie logowania nie ma wpływu na zachowanie identyfikatorów logowania, które są już połączone. (Użyj instrukcji KILL
, aby zakończyć istniejące połączenie). Wyłączone logowania zachowują swoje uprawnienia i nadal mogą być personifikowane.
DEFAULT_DATABASE = bazy danych
Określa domyślną bazę danych, która ma zostać przypisana do nazwy logowania.
DEFAULT_LANGUAGE = języka
Określa domyślny język, który ma być przypisany do logowania. Domyślnym językiem dla wszystkich logowań usługi SQL Database jest angielski i nie można go zmienić. Domyślny język logowania sa
w programie SQL Server w systemie Linux to angielski, ale można go zmienić.
Argumenty mające zastosowanie tylko do identyfikatorów logowania SQL
PASSWORD = 'password'
Dotyczy tylko identyfikatorów logowania programu SQL Server. Określa hasło do zmienianego identyfikatora logowania. W hasłach jest rozróżniana wielkość liter. Hasła nie mają również zastosowania w przypadku użycia z zewnętrznymi identyfikatorami logowania, takimi jak identyfikatory logowania firmy Microsoft Entra.
Stale aktywne połączenia z usługą SQL Database wymagają ponownego uwierzytelniania (wykonywanego przez aparat bazy danych) co najmniej co 10 godzin. Aparat bazy danych próbuje ponownie uwierzytelnić przy użyciu pierwotnie przesłanego hasła i nie jest wymagane żadne dane wejściowe użytkownika. Ze względu na wydajność, gdy hasło jest resetowane w usłudze SQL Database, połączenie nie jest ponownie uwierzytelniane, nawet jeśli połączenie jest resetowane z powodu buforowania połączeń. Różni się to od zachowania lokalnego programu SQL Server. Jeśli hasło zostało zmienione od czasu, gdy połączenie zostało początkowo autoryzowane, połączenie musi zostać przerwane i nowe połączenie nawiązane przy użyciu nowego hasła. Użytkownik z uprawnieniem KILL DATABASE CONNECTION może jawnie przerwać połączenie z usługą SQL Database za pomocą polecenia KILL. Aby uzyskać więcej informacji, zobacz KILL.
HASŁO = hashed_password
Dotyczy tylko słowa kluczowego HASHED. Określa wartość skrótu hasła dla tworzonego identyfikatora logowania.
MIESZANY
Dotyczy tylko identyfikatorów logowania programu SQL Server. Określa, że hasło wprowadzone po argumencie PASSWORD jest już skrótem. Jeśli ta opcja nie zostanie wybrana, hasło zostanie skrócone przed zapisaniem w bazie danych. Ta opcja powinna być używana tylko do synchronizacji logowania między dwoma serwerami. Nie używaj opcji HASHED, aby rutynowo zmieniać hasła.
OLD_PASSWORD = 'old_password'
Dotyczy tylko identyfikatorów logowania programu SQL Server. Bieżące hasło logowania, do którego zostanie przypisane nowe hasło. W hasłach jest rozróżniana wielkość liter.
MUST_CHANGE
Dotyczy tylko identyfikatorów logowania programu SQL Server. Jeśli ta opcja jest dołączona, program SQL Server monituje o zaktualizowane hasło przy pierwszym użyciu zmienionego identyfikatora logowania.
NAME = login_name
Nowa nazwa logowania, która jest zmieniana. Jeśli identyfikator logowania jest identyfikatorem logowania systemu Windows, identyfikator SID podmiotu zabezpieczeń systemu Windows odpowiadającego nowej nazwie musi być zgodny z identyfikatorem SID skojarzonym z identyfikatorem logowania w programie SQL Server. Nowa nazwa logowania programu SQL Server nie może zawierać znaku ukośnika odwrotnego (\).
CHECK_EXPIRATION = { ON | WYŁ. }
Dotyczy tylko identyfikatorów logowania programu SQL Server. Określa, czy zasady wygasania haseł powinny być wymuszane podczas tego logowania. Wartość domyślna to OFF.
CHECK_POLICY = { ON | WYŁ. }
Dotyczy tylko identyfikatorów logowania programu SQL Server. Określa, że zasady haseł systemu Windows komputera, na którym działa program SQL Server, powinny być wymuszane na tym logowaniu. Wartość domyślna to WŁĄCZONE.
CREDENTIAL = credential_name
Nazwa poświadczenia, które mają zostać zamapowane na identyfikator logowania programu SQL Server. Poświadczenia muszą już istnieć na serwerze. Aby uzyskać więcej informacji, zobacz Credentials. Nie można zamapować poświadczenia na identyfikator logowania sa.
BRAK POŚWIADCZEŃ
Usuwa wszelkie istniejące mapowanie nazwy logowania na poświadczenia serwera. Aby uzyskać więcej informacji, zobacz Credentials.
ODBLOKOWAĆ
Dotyczy tylko identyfikatorów logowania programu SQL Server. Określa, że nazwa logowania, która jest zablokowana, powinna zostać odblokowana.
DODAWANIE POŚWIADCZEŃ
Dodaje poświadczenie dostawcy zarządzania kluczami rozszerzalnymi (EKM) do identyfikatora logowania. Aby uzyskać więcej informacji, zobacz Extensible Key Management (EKM).
UPUŚĆ POŚWIADCZENIA
Usuwa poświadczenie dostawcy zarządzania kluczami rozszerzalnymi (EKM) z identyfikatora logowania. Aby uzyskać więcej informacji, zobacz Extensible Key Management (EKM).
Uwagi
Jeśli CHECK_POLICY jest ustawiona na WŁ., nie można użyć argumentu HASHED.
Po zmianie CHECK_POLICY na WŁ. następuje następujące zachowanie:
- Historia haseł jest inicjowana z wartością bieżącego skrótu hasła.
Gdy CHECK_POLICY zostanie zmieniona na WYŁ., wystąpi następujące zachowanie:
- CHECK_EXPIRATION jest również ustawiona na WARTOŚĆ WYŁĄCZONE.
- Historia haseł jest czyszczone.
- Wartość lockout_time jest resetowany.
Jeśli określono MUST_CHANGE, CHECK_EXPIRATION i CHECK_POLICY muszą być ustawione na WARTOŚĆ WŁĄCZONE. W przeciwnym razie instrukcja kończy się niepowodzeniem.
Jeśli CHECK_POLICY jest ustawiona na WYŁ., CHECK_EXPIRATION nie można ustawić wartości WŁĄCZONE. Instrukcja ALTER LOGIN, która zawiera tę kombinację opcji, kończy się niepowodzeniem.
Nie można użyć ALTER_LOGIN z argumentem DISABLE w celu odmowy dostępu do grupy systemu Windows. Jest to zgodnie z projektem. Na przykład ALTER_LOGIN [domena\grupa] funkcja DISABLE zwraca następujący komunikat o błędzie:
"Msg 15151, Level 16, State 1, Line 1 "Cannot alter the login '*Domain\Group*', because it doesn't exist or you don't have permission."
W usłudze SQL Database dane logowania wymagane do uwierzytelniania reguł zapory na poziomie serwera i połączenia są tymczasowo buforowane w każdej bazie danych. Ta pamięć podręczna jest okresowo odświeżona. Aby wymusić odświeżenie pamięci podręcznej uwierzytelniania i upewnić się, że baza danych ma najnowszą wersję tabeli logins, wykonaj DBCC FLUSHAUTHCACHE.
Uprawnienia
Wymaga uprawnienia ALTER ANY LOGIN.
Jeśli jest używana opcja CREDENTIAL, wymagane jest również uprawnienie ALTER ANY CREDENTIAL.
Jeśli identyfikator logowania, który jest zmieniany, jest elementem członkowskim sysadmin stałej roli serwera lub udzielenia uprawnień SERWERA KONTROLI, również wymaga uprawnień CONTROL SERVER podczas wprowadzania następujących zmian:
- Resetowanie hasła bez podawania starego hasła.
- Włączanie MUST_CHANGE, CHECK_POLICY lub CHECK_EXPIRATION.
- Zmiana nazwy logowania.
- Włączanie lub wyłączanie logowania.
- Mapowanie nazwy logowania na inne poświadczenia.
Podmiot zabezpieczeń może zmienić hasło, język domyślny i domyślną bazę danych na potrzeby własnego logowania.
Tylko podmiot zabezpieczeń SQL z uprawnieniami sysadmin
może wykonać polecenie ALTER LOGIN względem nazwy logowania firmy Microsoft Entra.
Przykłady
Te przykłady obejmują również przykłady użycia innych produktów SQL. Zobacz, które poprzednie argumenty są obsługiwane.
A. Włączanie wyłączonego logowania
Poniższy przykład umożliwia logowanie Mary5
.
ALTER LOGIN Mary5 ENABLE;
B. Zmienianie hasła logowania
Poniższy przykład zmienia hasło logowania Mary5
na silne hasło.
ALTER LOGIN Mary5 WITH PASSWORD = '<enterStrongPasswordHere>';
C. Zmienianie nazwy logowania
Poniższy przykład zmienia nazwę Mary5
logowania na John2
.
ALTER LOGIN Mary5 WITH NAME = John2;
D. Mapuj identyfikator logowania na poświadczenia
Poniższy przykład mapuje John2
logowania na Custodian04
poświadczeń .
ALTER LOGIN John2 WITH CREDENTIAL = Custodian04;
E. Mapuj identyfikator logowania na poświadczenia rozszerzonego zarządzania kluczami
Poniższy przykład mapuje Mary5
logowania na EKMProvider1
poświadczeń EKM.
Dotyczy: SQL Server 2008 (10.0.x) i nowsze oraz Azure SQL Managed Instance.
ALTER LOGIN Mary5 ADD CREDENTIAL EKMProvider1;
GO
F. Odblokowywanie logowania
Aby odblokować identyfikator logowania programu SQL Server, wykonaj następującą instrukcję, zastępując ****
odpowiednim hasłem konta.
ALTER LOGIN [Mary5] WITH PASSWORD = '****' UNLOCK;
GO
Aby odblokować logowanie bez zmiany hasła, wyłącz zasady sprawdzania, a następnie ponownie.
ALTER LOGIN [Mary5] WITH CHECK_POLICY = OFF;
ALTER LOGIN [Mary5] WITH CHECK_POLICY = ON;
GO
G. Zmienianie hasła logowania przy użyciu protokołu HASHED
Poniższy przykład zmienia hasło logowania TestUser
na wartość już skróconą.
Dotyczy: SQL Server 2008 (10.0.x) i nowsze oraz Azure SQL Managed Instance.
ALTER LOGIN TestUser WITH PASSWORD = 0x01000CF35567C60BFB41EBDE4CF700A985A13D773D6B45B90900 HASHED;
GO
H. Wyłączanie logowania użytkownika entra firmy Microsoft
Poniższy przykład wyłącza logowanie użytkownika microsoft Entra, joe@contoso.com.
ALTER LOGIN [joe@contoso.com] DISABLE;
Powiązana zawartość
- poświadczeń
- CREATE LOGIN
- DROP LOGIN
- CREATE CREDENTIAL
- EVENTDATA
- zarządzania kluczami rozszerzalnymi (EKM)
usługi
usługi
* Azure Synapse
Analiza *
Azure Synapse Analytics
Składnia dla usługi Azure Synapse
ALTER LOGIN login_name
{
<status_option>
| WITH <set_option> [ , .. .n ]
}
[;]
<status_option> ::=
ENABLE | DISABLE
<set_option> ::=
PASSWORD = 'password'
[
OLD_PASSWORD = 'oldpassword'
]
| NAME = login_name
Argumenty
login_name
Określa nazwę identyfikatora logowania programu SQL Server, który jest zmieniany. Identyfikatory logowania do domeny muszą być ujęte w nawiasy w formacie [domena\użytkownik].
WŁĄCZ | WYŁĄCZAĆ
Włącza lub wyłącza to logowanie. Wyłączenie logowania nie ma wpływu na zachowanie identyfikatorów logowania, które są już połączone. (Użyj instrukcji KILL
, aby zakończyć istniejące połączenie). Wyłączone logowania zachowują swoje uprawnienia i nadal mogą być personifikowane.
PASSWORD = 'password'
Dotyczy tylko identyfikatorów logowania programu SQL Server. Określa hasło do zmienianego identyfikatora logowania. W hasłach jest rozróżniana wielkość liter.
Stale aktywne połączenia z usługą SQL Database wymagają ponownego uwierzytelniania (wykonywanego przez aparat bazy danych) co najmniej co 10 godzin. Aparat bazy danych próbuje ponownie uwierzytelnić przy użyciu pierwotnie przesłanego hasła i nie jest wymagane żadne dane wejściowe użytkownika. Ze względu na wydajność, gdy hasło jest resetowane w usłudze SQL Database, połączenie nie jest ponownie uwierzytelniane, nawet jeśli połączenie jest resetowane z powodu buforowania połączeń. Różni się to od zachowania lokalnego programu SQL Server. Jeśli hasło zostało zmienione od czasu, gdy połączenie zostało początkowo autoryzowane, połączenie musi zostać przerwane i nowe połączenie nawiązane przy użyciu nowego hasła. Użytkownik z uprawnieniem KILL DATABASE CONNECTION może jawnie przerwać połączenie z usługą SQL Database za pomocą polecenia KILL. Aby uzyskać więcej informacji, zobacz KILL.
Ważny
Gdy logowanie (lub użytkownik zawartej bazy danych) łączy się i jest uwierzytelniane, połączenie buforuje informacje o tożsamości logowania. W przypadku logowania do uwierzytelniania systemu Windows zawiera to informacje o członkostwie w grupach systemu Windows. Tożsamość logowania pozostaje uwierzytelniona, o ile połączenie jest utrzymywane. Aby wymusić zmiany tożsamości, takie jak resetowanie hasła lub zmiana członkostwa w grupie systemu Windows, logowanie musi wylogować się z urzędu uwierzytelniania (Windows lub SQL Server) i zalogować się ponownie. Członek sysadmin stałej roli serwera lub dowolny identyfikator logowania przy użyciu ALTER ANY CONNECTION uprawnienia może użyć KILL polecenie, aby zakończyć połączenie i wymusić ponowne nawiązanie połączenia. Program SQL Server Management Studio może ponownie używać informacji o połączeniu podczas otwierania wielu połączeń z oknami Eksplorator obiektów i Edytor zapytań. Zamknij wszystkie połączenia, aby wymusić ponowne nawiązanie połączenia.
OLD_PASSWORD = 'old_password'
Dotyczy tylko identyfikatorów logowania programu SQL Server. Bieżące hasło logowania, do którego zostanie przypisane nowe hasło. W hasłach jest rozróżniana wielkość liter.
NAME = login_name
Nowa nazwa logowania, która jest zmieniana. Jeśli jest to identyfikator logowania systemu Windows, identyfikator SID podmiotu zabezpieczeń systemu Windows odpowiadającego nowej nazwie musi być zgodny z identyfikatorem SID skojarzonym z identyfikatorem logowania w programie SQL Server. Nowa nazwa logowania programu SQL Server nie może zawierać znaku ukośnika odwrotnego (\).
Uwagi
W usłudze SQL Database dane logowania wymagane do uwierzytelniania reguł zapory na poziomie serwera i połączenia są tymczasowo buforowane w każdej bazie danych. Ta pamięć podręczna jest okresowo odświeżona. Aby wymusić odświeżenie pamięci podręcznej uwierzytelniania i upewnić się, że baza danych ma najnowszą wersję tabeli logins, wykonaj DBCC FLUSHAUTHCACHE.
Uprawnienia
Wymaga uprawnienia ALTER ANY LOGIN.
Jeśli identyfikator logowania, który jest zmieniany, jest elementem członkowskim sysadmin stałej roli serwera lub udzielenia uprawnień SERWERA KONTROLI, również wymaga uprawnień CONTROL SERVER podczas wprowadzania następujących zmian:
- Resetowanie hasła bez podawania starego hasła.
- Zmiana nazwy logowania.
- Włączanie lub wyłączanie logowania.
- Mapowanie nazwy logowania na inne poświadczenia.
Podmiot zabezpieczeń może zmienić hasło dla własnego identyfikatora logowania.
Przykłady
Te przykłady obejmują również przykłady użycia innych produktów SQL. Zobacz, które poprzednie argumenty są obsługiwane.
A. Włączanie wyłączonego logowania
Poniższy przykład umożliwia logowanie Mary5
.
ALTER LOGIN Mary5 ENABLE;
B. Zmienianie hasła logowania
Poniższy przykład zmienia hasło logowania Mary5
na silne hasło.
ALTER LOGIN Mary5 WITH PASSWORD = '<enterStrongPasswordHere>';
C. Zmienianie nazwy logowania
Poniższy przykład zmienia nazwę Mary5
logowania na John2
.
ALTER LOGIN Mary5 WITH NAME = John2;
D. Mapuj identyfikator logowania na poświadczenia
Poniższy przykład mapuje John2
logowania na Custodian04
poświadczeń .
ALTER LOGIN John2 WITH CREDENTIAL = Custodian04;
E. Mapuj identyfikator logowania na poświadczenia rozszerzonego zarządzania kluczami
Poniższy przykład mapuje Mary5
logowania na EKMProvider1
poświadczeń EKM.
Dotyczy: SQL Server 2008 (10.0.x) i nowszych.
ALTER LOGIN Mary5 ADD CREDENTIAL EKMProvider1;
GO
F. Odblokowywanie logowania
Aby odblokować identyfikator logowania programu SQL Server, wykonaj następującą instrukcję, zastępując ****
odpowiednim hasłem konta.
ALTER LOGIN [Mary5] WITH PASSWORD = '****' UNLOCK;
GO
G. Zmienianie hasła logowania przy użyciu protokołu HASHED
Poniższy przykład zmienia hasło logowania TestUser
na wartość już skróconą.
Dotyczy: SQL Server 2008 (10.0.x) i nowszych.
ALTER LOGIN TestUser WITH PASSWORD = 0x01000CF35567C60BFB41EBDE4CF700A985A13D773D6B45B90900 HASHED;
GO
Powiązana zawartość
- poświadczeń
- CREATE LOGIN
- DROP LOGIN
- CREATE CREDENTIAL
- EVENTDATA
- zarządzania kluczami rozszerzalnymi (EKM)
usługi
usługi
Azure Synapse
analizy
* Analiza
System platformy (PDW) *
System platformy analizy
Składnia systemu platformy analizy
ALTER LOGIN login_name
{
<status_option>
| WITH <set_option> [ , ... ]
}
<status_option> ::= ENABLE | DISABLE
<set_option> ::=
PASSWORD = 'password'
[
OLD_PASSWORD = 'oldpassword'
| <password_option> [ <password_option> ]
]
| NAME = login_name
| CHECK_POLICY = { ON | OFF }
| CHECK_EXPIRATION = { ON | OFF }
<password_option> ::=
MUST_CHANGE | UNLOCK
Argumenty
login_name
Określa nazwę identyfikatora logowania programu SQL Server, który jest zmieniany. Identyfikatory logowania do domeny muszą być ujęte w nawiasy w formacie [domena\użytkownik].
WŁĄCZ | WYŁĄCZAĆ
Włącza lub wyłącza to logowanie. Wyłączenie logowania nie ma wpływu na zachowanie identyfikatorów logowania, które są już połączone. (Użyj instrukcji KILL
, aby zakończyć istniejące połączenie). Wyłączone logowania zachowują swoje uprawnienia i nadal mogą być personifikowane.
PASSWORD = 'password'
Dotyczy tylko identyfikatorów logowania programu SQL Server. Określa hasło do zmienianego identyfikatora logowania. W hasłach jest rozróżniana wielkość liter.
Ważny
Gdy logowanie (lub użytkownik zawartej bazy danych) łączy się i jest uwierzytelniane, połączenie buforuje informacje o tożsamości logowania. W przypadku logowania do uwierzytelniania systemu Windows zawiera to informacje o członkostwie w grupach systemu Windows. Tożsamość logowania pozostaje uwierzytelniona, o ile połączenie jest utrzymywane. Aby wymusić zmiany tożsamości, takie jak resetowanie hasła lub zmiana członkostwa w grupie systemu Windows, logowanie musi wylogować się z urzędu uwierzytelniania (Windows lub SQL Server) i zalogować się ponownie. Członek sysadmin stałej roli serwera lub dowolny identyfikator logowania przy użyciu ALTER ANY CONNECTION uprawnienia może użyć KILL polecenie, aby zakończyć połączenie i wymusić ponowne nawiązanie połączenia. Program SQL Server Management Studio może ponownie używać informacji o połączeniu podczas otwierania wielu połączeń z oknami Eksplorator obiektów i Edytor zapytań. Zamknij wszystkie połączenia, aby wymusić ponowne nawiązanie połączenia.
OLD_PASSWORD = 'old_password'
Dotyczy tylko identyfikatorów logowania programu SQL Server. Bieżące hasło logowania, do którego zostanie przypisane nowe hasło. W hasłach jest rozróżniana wielkość liter.
MUST_CHANGE
Dotyczy tylko identyfikatorów logowania programu SQL Server. Jeśli ta opcja jest dołączona, program SQL Server monituje o zaktualizowane hasło przy pierwszym użyciu zmienionego identyfikatora logowania.
NAME = login_name
Nowa nazwa logowania, która jest zmieniana. Jeśli identyfikator logowania jest identyfikatorem logowania systemu Windows, identyfikator SID podmiotu zabezpieczeń systemu Windows odpowiadającego nowej nazwie musi być zgodny z identyfikatorem SID skojarzonym z identyfikatorem logowania w programie SQL Server. Nowa nazwa logowania programu SQL Server nie może zawierać znaku ukośnika odwrotnego (\).
CHECK_EXPIRATION = { ON | WYŁ. }
Dotyczy tylko identyfikatorów logowania programu SQL Server. Określa, czy zasady wygasania haseł powinny być wymuszane podczas tego logowania. Wartość domyślna to OFF.
CHECK_POLICY = { ON | WYŁ. }
Dotyczy tylko identyfikatorów logowania programu SQL Server. Określa, że zasady haseł systemu Windows komputera, na którym działa program SQL Server, powinny być wymuszane na tym logowaniu. Wartość domyślna to WŁĄCZONE.
ODBLOKOWAĆ
Dotyczy tylko identyfikatorów logowania programu SQL Server. Określa, że nazwa logowania, która jest zablokowana, powinna zostać odblokowana.
Uwagi
Jeśli CHECK_POLICY jest ustawiona na WŁ., nie można użyć argumentu HASHED.
Po zmianie CHECK_POLICY na WŁ. następuje następujące zachowanie:
- Historia haseł jest inicjowana z wartością bieżącego skrótu hasła.
Gdy CHECK_POLICY zostanie zmieniona na WYŁ., wystąpi następujące zachowanie:
- CHECK_EXPIRATION jest również ustawiona na WARTOŚĆ WYŁĄCZONE.
- Historia haseł jest czyszczone.
- Wartość lockout_time jest resetowany.
Jeśli określono MUST_CHANGE, CHECK_EXPIRATION i CHECK_POLICY muszą być ustawione na WARTOŚĆ WŁĄCZONE. W przeciwnym razie instrukcja kończy się niepowodzeniem.
Jeśli CHECK_POLICY jest ustawiona na WYŁ., CHECK_EXPIRATION nie można ustawić wartości WŁĄCZONE. Instrukcja ALTER LOGIN, która zawiera tę kombinację opcji, kończy się niepowodzeniem.
Nie można użyć ALTER_LOGIN z argumentem DISABLE w celu odmowy dostępu do grupy systemu Windows. Jest to zgodnie z projektem. Na przykład ALTER_LOGIN [domena\grupa] funkcja DISABLE zwraca następujący komunikat o błędzie:
"Msg 15151, Level 16, State 1, Line 1 "Cannot alter the login '*Domain\Group*', because it doesn't exist or you don't have permission."
W usłudze SQL Database dane logowania wymagane do uwierzytelniania reguł zapory na poziomie serwera i połączenia są tymczasowo buforowane w każdej bazie danych. Ta pamięć podręczna jest okresowo odświeżona. Aby wymusić odświeżenie pamięci podręcznej uwierzytelniania i upewnić się, że baza danych ma najnowszą wersję tabeli logins, wykonaj DBCC FLUSHAUTHCACHE.
Uprawnienia
Wymaga uprawnienia ALTER ANY LOGIN.
Jeśli jest używana opcja CREDENTIAL, wymagane jest również uprawnienie ALTER ANY CREDENTIAL.
Jeśli identyfikator logowania, który jest zmieniany, jest elementem członkowskim sysadmin stałej roli serwera lub udzielenia uprawnień SERWERA KONTROLI, również wymaga uprawnień CONTROL SERVER podczas wprowadzania następujących zmian:
- Resetowanie hasła bez podawania starego hasła.
- Włączanie MUST_CHANGE, CHECK_POLICY lub CHECK_EXPIRATION.
- Zmiana nazwy logowania.
- Włączanie lub wyłączanie logowania.
- Mapowanie nazwy logowania na inne poświadczenia.
Podmiot zabezpieczeń może zmienić hasło, język domyślny i domyślną bazę danych na potrzeby własnego logowania.
Przykłady
Te przykłady obejmują również przykłady użycia innych produktów SQL. Zobacz, które poprzednie argumenty są obsługiwane.
A. Włączanie wyłączonego logowania
Poniższy przykład umożliwia logowanie Mary5
.
ALTER LOGIN Mary5 ENABLE;
B. Zmienianie hasła logowania
Poniższy przykład zmienia hasło logowania Mary5
na silne hasło.
ALTER LOGIN Mary5 WITH PASSWORD = '<enterStrongPasswordHere>';
C. Zmienianie nazwy logowania
Poniższy przykład zmienia nazwę Mary5
logowania na John2
.
ALTER LOGIN Mary5 WITH NAME = John2;
D. Mapuj identyfikator logowania na poświadczenia
Poniższy przykład mapuje John2
logowania na Custodian04
poświadczeń .
ALTER LOGIN John2 WITH CREDENTIAL = Custodian04;
E. Mapuj identyfikator logowania na poświadczenia rozszerzonego zarządzania kluczami
Poniższy przykład mapuje Mary5
logowania na EKMProvider1
poświadczeń EKM.
Dotyczy: SQL Server 2008 (10.0.x) i nowszych.
ALTER LOGIN Mary5 ADD CREDENTIAL EKMProvider1;
GO
F. Odblokowywanie logowania
Aby odblokować identyfikator logowania programu SQL Server, wykonaj następującą instrukcję, zastępując ****
odpowiednim hasłem konta.
ALTER LOGIN [Mary5] WITH PASSWORD = '****' UNLOCK;
GO
Aby odblokować logowanie bez zmiany hasła, wyłącz zasady sprawdzania, a następnie ponownie.
ALTER LOGIN [Mary5] WITH CHECK_POLICY = OFF;
ALTER LOGIN [Mary5] WITH CHECK_POLICY = ON;
GO
G. Zmienianie hasła logowania przy użyciu protokołu HASHED
Poniższy przykład zmienia hasło logowania TestUser
na wartość już skróconą.
Dotyczy: SQL Server 2008 (10.0.x) i nowszych.
ALTER LOGIN TestUser WITH PASSWORD = 0x01000CF35567C60BFB41EBDE4CF700A985A13D773D6B45B90900 HASHED;
GO
Powiązana zawartość
- poświadczeń
- CREATE LOGIN
- DROP LOGIN
- CREATE CREDENTIAL
- EVENTDATA
- zarządzania kluczami rozszerzalnymi (EKM)