ALTER LOGIN (języka Transact-SQL)

Zmienia właściwości SQL Server konto logowania.

Topic link iconKonwencje składni języka Transact-SQL

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ę SQL Server Identyfikator logowania, który został zmieniony. Logowania do domeny muszą być ujęte w nawiasy kwadratowe w formacie [domena\użytkownik].

  • ENABLE | DISABLE
    Włącza lub wyłącza tego identyfikatora logowania.

  • PASSWORD ='password'
    Dotyczy tylko SQL Server identyfikatory logowania. Określa hasło dla identyfikatora logowania, który został zmieniony.W hasłach jest rozróżniana wielkość liter.

  • PASSWORD **=**hashed_password
    Dotyczy tylko słowo HASHED kluczowe.Określa wartość mieszaną hasła podczas logowania, który jest tworzony.

  • MIESZANY
    Stosuje się do SQL Server identyfikatory logowania. Określa, że wprowadzone po argumentu HASŁA hasło jest już mieszany.Jeśli ta opcja nie jest zaznaczone, hasło jest mieszany przed są przechowywane w bazie danych.Ta opcja powinna być używana tylko do logowania synchronizacji między dwoma serwerami.Nie należy używać opcji HASHED regularnie zmieniać hasła.

    Uwaga

    Argument ten działa tylko z mieszania generowane przez SQL Server 2000 lub jego nowszych wersjach.

  • OLD_PASSWORD ='oldpassword'
    Dotyczy tylko SQL Server identyfikatory logowania. Bieżące hasło logowania, do którego zostanie przypisany nowe hasło.W hasłach jest rozróżniana wielkość liter.

  • MUST_CHANGE
    Dotyczy tylko SQL Server identyfikatory logowania. Jeśli opcja ta jest włączone, SQL Server Wyświetla na czas zaktualizowane hasła przy pierwszym zmienionych logowania jest używany.

  • DEFAULT_DATABASE **=**database
    Określa domyślna baza danych, który zostanie przypisany do identyfikatora logowania.

  • DEFAULT_LANGUAGE **=**language
    Określa język domyślny, który ma być przypisany do identyfikatora logowania.

  • NAME = login_name
    Nowa nazwa logowania, który jest zmianą nazwy.Jeśli jest to identyfikator logowania systemu Windows, identyfikatory zabezpieczeń odpowiadające nowej nazwy głównej systemu Windows musi być zgodny identyfikator SID skojarzone z identyfikatora logowania w SQL Server. Nowa nazwa SQL Server Identyfikator logowania nie może zawierać znaku kreski ułamkowej odwróconej (\).

  • CHECK_EXPIRATION = {ON | WYŁĄCZANIE }
    Dotyczy tylko SQL Server identyfikatory logowania. Określa, czy zasady wygasania hasła powinna być narzuconą tego identyfikatora logowania.Wartością domyślną jest OFF.

  • CHECK_POLICY = { DALEJ | OFF }
    Dotyczy tylko SQL Server identyfikatory logowania. Określa, że zasady haseł systemu Windows z komputera, na którym SQL Server jest uruchomione powinny być narzuconą tego identyfikatora logowania. zestaw IMPLICIT_TRANSACTIONS ANSI_DEFAULTS zestaw jest włączone, jest ON.

  • POŚWIADCZENIE = credential_name
    Nazwa poświadczeń mają być mapowane do SQL Server Zaloguj się. Poświadczenie musi już istnieć na serwerze.Aby uzyskać więcej informacji, zobacz Credentials (Database Engine).

  • NIE POŚWIADCZENIA
    Usuwa wszelkie istniejące mapowanie logowania się do poświadczeń serwera.Aby uzyskać więcej informacji, zobacz Credentials (Database Engine).

  • ODBLOKOWYWANIE
    Dotyczy tylko SQL Server identyfikatory logowania. Określa, że identyfikator logowania, który jest zablokowane powinny być odblokowane.

  • DODAJ POŚWIADCZENIA
    Dodaje EKM (Extensible klucz Management) Dostawca poświadczeń logowania.Aby uzyskać więcej informacji zobaczUnderstanding Extensible Key Management (EKM).

  • USUWANIE POŚWIADCZEŃ
    Usuwa poświadczenie dostawca rozszerzonego klucz Management (EKM) do logowania się.Aby uzyskać więcej informacji, zobacz Understanding Extensible Key Management (EKM).

Remarks

Gdy jest CHECK_POLICY zestaw ON, argument HASHED nie mogą być używane.

Po zmianie CHECK_POLICY on następujące zachowanie:

  • CHECK_EXPIRATION jest również zestaw on, o ile nie jest jawnie zestaw na OFF.

  • Historia haseł jest inicjowana z wartością bieżącą wartość mieszania hasła.

CHECK_POLICY została zmieniona na OFF, następujące zachowanie:

  • CHECK_EXPIRATION jest również zestaw na OFF.

  • Historia haseł jest wyczyszczone.

  • Wartość lockout_time powoduje zresetowanie.

Jeżeli określono MUST_CHANGE, CHECK_EXPIRATION i CHECK_POLICY muszą być ustawione na ON.W przeciwnym wypadku instrukcja nie powiedzie się.

Jeśli CHECK_POLICY ma wartość OFF, CHECK_EXPIRATION nie zestaw na ON.Instrukcja ALTER LOGIN, zawierający tę kombinację opcji nie powiedzie się.

Important noteImportant Note:

CHECK_EXPIRATION i CHECK_POLICY tylko są wymuszane na Windows Server 2003 i nowszych. Aby uzyskać więcej informacji, zobacz Password Policy.

Important noteImportant Note:

Znany problem w Windows Server 2003 można spowodować, że licznik nieprawidłowe hasło resetowanie po osiągnięciu progu blokady konta. Może to spowodować, że natychmiastowe blokady na prób kolejnych logowania nie powiodło się.Można ręcznie zresetować licznik nieprawidłowe hasło krótko ustawiając CHECK_POLICY = OFF, po której następuje CHECK_POLICY = ON.Aby uzyskać więcej informacji o progu blokady konta Zobacz Microsoft 818078 Artykuł bazy wiedza Microsoft wiedza Base: Twoje konto użytkownika może być przedwcześnie zablokowane.

Nie można używać ALTER_LOGIN z argumentem DISABLE, aby odmówić dostępu do grupy systemu Windows.Na przykład [ALTER_LOGINdomena\grupaDISABLE zwróci następujący komunikat o błędzie:

„ Msg 15151 poziom 16, State 1, wiersz 1

"Nie może zmienić identyfikator logowania"domena\Group", ponieważ nie istnieje lub nie masz uprawnień. „

Jest to zgodne z projektem.

Uprawnienia

Wymaga ALTER LOGIN bez uprawnień.

Jeżeli używana jest opcja POŚWIADCZEŃ, wymaga również uprawnienie ALTER bez POŚWIADCZEŃ.

Jeśli identyfikator logowania, który został zmieniony, jest członkiem sysadmin roli serwera lub grantee uprawnień CONTROL SERVER wymaga także uprawnienie Kontrola SERVER podczas wprowadzania następujących zmian:

  • Resetowanie hasła bez podawania starego hasła.

  • Po włączeniu MUST_CHANGE, CHECK_POLICY lub CHECK_EXPIRATION.

  • Zmiana nazwy logowania.

  • Włączanie lub wyłączanie logowania.

  • Mapowania różnych poświadczeń logowania.

Głównym obiektem można zmienić hasło, język domyślny i domyślna baza danych własnych podczas logowania.

Przykłady

A.Włączanie wyłączonych logowania

Poniższy przykład włącza logowania Mary5.

ALTER LOGIN Mary5 ENABLE;

B.Zmiana hasła nazwa logowania

W poniższym przykładzie zmienia hasło logowania Mary5 Silne hasło.

ALTER LOGIN Mary5 WITH PASSWORD = '<enterStrongPasswordHere>';

C.Zmiana nazwy identyfikatora logowania

W poniższym przykładzie zmienia nazwę logowania Mary5 Aby John2.

ALTER LOGIN Mary5 WITH NAME = John2;

D.Mapowanie identyfikatora logowania do poświadczenie

W poniższym przykładzie Odwzorowuje identyfikator logowania John2 do poświadczeń Custodian04.

ALTER LOGIN John2 WITH CREDENTIAL = Custodian04;

E.Mapowanie identyfikatora logowania do poświadczeń Extensible zarządzania kluczami

W poniższym przykładzie Odwzorowuje identyfikator logowania Mary5 Aby poświadczenie EKM EKMProvider1.

ALTER LOGIN Mary5
ADD CREDENTIAL EKMProvider1;
GO

F.Odblokowywanie identyfikatora logowania

Aby odblokować SQL Server Identyfikator logowania, wykonać następującą instrukcję zastępowania **** hasłem żądanego konta.

ALTER LOGIN [Mary5] WITH PASSWORD = '****' UNLOCK ;
GO

Aby odblokować identyfikatora logowania bez zmiany hasła, zasadę wyboru wylogowywania się i następnie ponownie włączyć.

ALTER LOGIN [Mary5] WITH CHECK_POLICY = OFF;
ALTER LOGIN [Mary5] WITH CHECK_POLICY = ON;
GO

G.Zmienianie hasła logowania, za pomocą HASHED

W poniższym przykładzie zmienia hasło TestUser Zaloguj się do już mieszanych wartości.

ALTER LOGIN TestUser WITH 
PASSWORD = 0x01000CF35567C60BFB41EBDE4CF700A985A13D773D6B45B90900 HASHED ;
GO