Sdílet prostřednictvím


ALTER LOGIN (Transact-SQL)

Změní vlastnosti přihlašovacího účtu SQL Serveru.

Transact-SQL konvence syntaxe

Poznámka

Microsoft Entra ID se dříve označovala jako Azure Active Directory (Azure AD).

Výběr produktu

V následujícím řádku vyberte název produktu, který vás zajímá, a zobrazí se jenom informace o daném produktu.

* SQL Server *  

SQL Database

spravované instance SQL

 

SQL Server

Syntaxe pro 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

Určuje název přihlašovacího jména SQL Serveru, které se mění. Přihlášení k doméně musí být uzavřena v hranatých závorkách ve formátu [<domain>\<user>].

POVOLIT | VYPNOUT

Povolí nebo zakáže toto přihlášení. Zakázání přihlášení nemá vliv na chování přihlášení, která jsou již připojená. (Ukončete existující připojení pomocí příkazu KILL.) Zakázaná přihlášení si zachovají svá oprávnění a stále se dají zosobnět.

PASSWORD = 'heslo'

Platí jenom pro přihlášení k SQL Serveru. Určuje heslo pro změněné přihlášení. V heslech se rozlišují malá a velká písmena.

HESLO = hashed_password

Platí pouze pro klíčové slovo HASHED. Určuje hodnotu hash hesla pro vytvářené přihlášení.

Důležitý

Když se přihlášení (nebo uživatel databáze s omezením) připojí a ověří, připojení ukládá do mezipaměti informace o identitě přihlášení. Pro přihlášení k ověřování systému Windows to zahrnuje informace o členství ve skupinách Windows. Identita přihlášení zůstane ověřená, pokud je připojení zachováno. Pokud chcete vynutit změny identity, jako je resetování hesla nebo změna členství ve skupině Windows, musí se přihlášení odhlásit od ověřovací autority (Windows nebo SQL Server) a znovu se přihlásit. Člen správce systému pevné role serveru nebo jakékoli přihlášení s oprávněním ALTER ANY CONNECTION může pomocí příkazu KILL ukončit připojení a vynutit opětovné připojení přihlášení. SQL Server Management Studio může opakovaně používat informace o připojení při otevírání více připojení k Průzkumníku objektů a okna Editoru dotazů. Zavřete všechna připojení, aby se vynutil opětovné připojení.

HASHED

Platí jenom pro přihlášení k SQL Serveru. Určuje, že heslo zadané po argumentu PASSWORD je již hashováno. Pokud tato možnost není vybraná, heslo se před uložením do databáze zatřiďuje. Tato možnost by se měla používat pouze pro synchronizaci přihlášení mezi dvěma servery. Nepoužívejte možnost HASHED k rutině změn hesel.

OLD_PASSWORD = 'old_password'

Platí jenom pro přihlášení k SQL Serveru. Aktuální heslo pro přihlášení, ke kterému se přiřadí nové heslo. V heslech se rozlišují malá a velká písmena.

MUST_CHANGE

Platí jenom pro přihlášení k SQL Serveru. Pokud je tato možnost zahrnutá, SQL Server zobrazí výzvu k zadání aktualizovaného hesla při prvním použití změněného přihlášení.

DEFAULT_DATABASE = databáze

Určuje výchozí databázi, která se má přiřadit k přihlášení.

DEFAULT_LANGUAGE = jazyk

Určuje výchozí jazyk, který se má přiřadit k přihlášení. Výchozí jazyk pro všechna přihlášení ke službě SQL Database je angličtina a nedá se změnit. Výchozí jazyk přihlášení sa na SQL Serveru v Linuxu je angličtina, ale dá se změnit.

NAME = login_name

Nový název přihlášení, které se přejmenuje. Pokud se jedná o přihlášení systému Windows, musí identifikátor SID objektu zabezpečení systému Windows odpovídající novému názvu odpovídat identifikátoru SID přidruženému k přihlášení na SQL Serveru. Nový název přihlášení k SQL Serveru nemůže obsahovat znak zpětného lomítka (\).

CHECK_EXPIRATION = { ON | VYPNUTO }

Platí jenom pro přihlášení k SQL Serveru. Určuje, jestli se při tomto přihlášení mají vynucovat zásady vypršení platnosti hesla. Výchozí hodnota je VYPNUTÁ.

CHECK_POLICY = { ON | VYPNUTO }

Platí jenom pro přihlášení k SQL Serveru. Určuje, že pro toto přihlášení by se měly vynutit zásady hesel systému Windows počítače, na kterém běží SQL Server. Výchozí hodnota je ZAPNUTÁ.

CREDENTIAL = credential_name

Název přihlašovacích údajů, které se mají namapovat na přihlášení k SQL Serveru. Přihlašovací údaje již musí existovat na serveru. Další informace najdete v tématu Přihlašovací údaje. Přihlašovací údaje nelze namapovat na přihlášení sa.

ŽÁDNÉ PŘIHLAŠOVACÍ ÚDAJE

Odebere všechna existující mapování přihlášení k přihlašovacím údajům serveru. Další informace najdete v tématu Přihlašovací údaje.

ODEMKNOUT

Platí jenom pro přihlášení k SQL Serveru. Určuje, že by mělo být odemknuté přihlášení, které je uzamčeno.

PŘIDÁNÍ PŘIHLAŠOVACÍCH ÚDAJŮ

Přidá přihlašovací údaje zprostředkovatele EKM (Extensible Key Management). Další informace najdete v tématuExtensible Key Management (EKM).

DROP CREDENTIAL

Odebere přihlašovací údaje zprostředkovatele EKM (Extensible Key Management). Další informace najdete v tématu [Extensible Key Management (EKM)] (.. /.. /relational-databases/security/encryption/extensible-key-management-ekm.md).

Poznámky

Pokud je CHECK_POLICY nastavena na HODNOTU ON, nelze použít argument HASHED.

Když se CHECK_POLICY změní na ZAPNUTO, dojde k následujícímu chování:

  • Historie hesel se inicializuje s hodnotou aktuální hodnoty hash hesla.

Když se CHECK_POLICY změní na VYPNUTO, dojde k následujícímu chování:

  • CHECK_EXPIRATION je také vypnuto.
  • Historie hesel se vymaže.
  • Hodnota lockout_time je resetována.

Pokud je zadán MUST_CHANGE, musí být CHECK_EXPIRATION a CHECK_POLICY nastaveny na ZAPNUTO. Jinak příkaz selže.

Pokud je CHECK_POLICY nastavená na VYPNUTO, CHECK_EXPIRATION nejde nastavit na ZAPNUTO. Příkaz ALTER LOGIN, který má tuto kombinaci možností, selžou.

K odepření přístupu ke skupině Windows nemůžete použít funkci ALTER LOGIN s argumentem DISABLE. Například ALTER LOGIN [<domain>\<group>] DISABLE vrátí následující chybovou zprávu:

"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.

To je podle návrhu.

V SQL Database se přihlašovací data potřebná k ověření připojení a pravidel brány firewall na úrovni serveru dočasně ukládají do mezipaměti v každé databázi. Tato mezipaměť se pravidelně aktualizuje. Pokud chcete vynutit aktualizaci mezipaměti ověřování a ujistit se, že databáze má nejnovější verzi tabulky přihlášení, spusťte DBCC FLUSHAUTHCACHE.

Dovolení

Vyžaduje oprávnění ALTER ANY LOGIN.

Pokud se používá možnost CREDENTIAL, vyžaduje také oprávnění ALTER ANY CREDENTIAL.

Pokud je změněné přihlášení členem správce systému pevné role serveru nebo udělení oprávnění CONTROL SERVER, vyžaduje také oprávnění CONTROL SERVER při provádění následujících změn:

  • Resetování hesla bez zadání starého hesla
  • Povolení MUST_CHANGE, CHECK_POLICY nebo CHECK_EXPIRATION
  • Změna přihlašovacího jména
  • Povolení nebo zakázání přihlášení
  • Mapování přihlášení na jiné přihlašovací údaje

Objekt zabezpečení může změnit heslo, výchozí jazyk a výchozí databázi pro vlastní přihlášení.

Příklady

A. Povolení zakázaného přihlášení

Následující příklad povolí přihlašovací Mary5.

ALTER LOGIN Mary5 ENABLE;

B. Změna hesla pro přihlášení

Následující příklad změní heslo pro přihlášení Mary5 na silné heslo.

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

C. Změna hesla přihlášení při přihlášení jako přihlášení

Pokud se pokoušíte změnit heslo přihlášení, ke kterému jste právě přihlášení, a nemáte oprávnění ALTER ANY LOGIN, musíte zadat možnost OLD_PASSWORD.

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

D. Změna názvu přihlášení

Následující příklad změní jméno přihlašovací Mary5 na John2.

ALTER LOGIN Mary5 WITH NAME = John2;

E. Mapování přihlášení k přihlašovacím údajům

Následující příklad mapuje přihlašovací John2 na přihlašovací údaje Custodian04.

ALTER LOGIN John2 WITH CREDENTIAL = Custodian04;

F. Mapování přihlášení k přihlašovacím údajům rozšiřitelné správy klíčů

Následující příklad mapuje přihlašovací Mary5 na přihlašovací údaje EKM EKMProvider1.

ALTER LOGIN Mary5 ADD CREDENTIAL EKMProvider1;
GO

F. Odemknutí přihlášení

Pokud chcete odemknout přihlášení k SQL Serveru, spusťte následující příkaz a nahraďte **** požadovaným heslem účtu.

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

Pokud chcete odemknout přihlášení beze změny hesla, vypněte zásadu kontroly a pak znovu zapněte.

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

G. Změna hesla pro přihlášení pomocí funkce HASHED

Následující příklad změní heslo TestUser přihlášení k již hashované hodnotě.

ALTER LOGIN TestUser WITH PASSWORD = 0x01000CF35567C60BFB41EBDE4CF700A985A13D773D6B45B90900 HASHED;
GO

* SQL Database *

spravované instance SQL

 

SQL Database

Syntaxe pro 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

Určuje název přihlašovacího jména SQL Serveru, které se mění. Přihlášení k doméně musí být uzavřena v hranatých závorkách ve formátu [doména\uživatel].

POVOLIT | VYPNOUT

Povolí nebo zakáže toto přihlášení. Zakázání přihlášení nemá vliv na chování přihlášení, která jsou již připojená. (Ukončete existující připojení pomocí příkazu KILL.) Zakázaná přihlášení si zachovají svá oprávnění a stále se dají zosobnět.

PASSWORD = 'heslo'

Platí jenom pro přihlášení k SQL Serveru. Určuje heslo pro změněné přihlášení. V heslech se rozlišují malá a velká písmena.

Nepřetržitá aktivní připojení ke službě SQL Database vyžadují opakované ověřování (prováděné databázovým strojem) alespoň každých 10 hodin. Databázový stroj se pokusí o opětovné ověření pomocí původně odeslaného hesla a nevyžaduje se žádný uživatelský vstup. Z důvodů výkonu se při resetování hesla ve službě SQL Database připojení znovu neověřuje, a to ani v případě, že se připojení resetuje kvůli sdružování připojení. Liší se to od chování místního SQL Serveru. Pokud se heslo od počátečního autorizace připojení změnilo, musí se připojení ukončit a nové připojení vytvořené pomocí nového hesla. Uživatel s oprávněním KILL DATABASE CONNECTION může explicitně ukončit připojení ke službě SQL Database pomocí příkazu KILL. Další informace naleznete v tématu KILL.

Důležitý

Když se přihlášení (nebo uživatel databáze s omezením) připojí a ověří, připojení ukládá do mezipaměti informace o identitě přihlášení. Pro přihlášení k ověřování systému Windows to zahrnuje informace o členství ve skupinách Windows. Identita přihlášení zůstane ověřená, pokud je připojení zachováno. Pokud chcete vynutit změny identity, jako je resetování hesla nebo změna členství ve skupině Windows, musí se přihlášení odhlásit od ověřovací autority (Windows nebo SQL Server) a znovu se přihlásit. Člen správce systému pevnou roli serveru nebo jakékoli přihlášení s oprávněním ALTER ANY CONNECTION může pomocí příkazu KILL ukončit připojení a vynutit opětovné připojení přihlášení. SQL Server Management Studio může opakovaně používat informace o připojení při otevírání více připojení k Průzkumníku objektů a okna Editoru dotazů. Zavřete všechna připojení, aby se vynutil opětovné připojení.

OLD_PASSWORD = 'old_password'

Platí jenom pro přihlášení k SQL Serveru. Aktuální heslo pro přihlášení, ke kterému se přiřadí nové heslo. V heslech se rozlišují malá a velká písmena.

NAME = login_name

Nový název přihlášení, které se přejmenuje. Pokud se jedná o přihlášení systému Windows, musí identifikátor SID objektu zabezpečení systému Windows odpovídající novému názvu odpovídat identifikátoru SID přidruženému k přihlášení na SQL Serveru. Nový název přihlášení k SQL Serveru nemůže obsahovat znak zpětného lomítka (\).

Poznámky

V SQL Database se přihlašovací data potřebná k ověření připojení a pravidel brány firewall na úrovni serveru dočasně ukládají do mezipaměti v každé databázi. Tato mezipaměť se pravidelně aktualizuje. Pokud chcete vynutit aktualizaci mezipaměti ověřování a ujistit se, že databáze má nejnovější verzi tabulky přihlášení, spusťte DBCC FLUSHAUTHCACHE.

Dovolení

Vyžaduje oprávnění ALTER ANY LOGIN.

Pokud je změněné přihlášení členem správce systému pevné role serveru nebo udělení oprávnění CONTROL SERVER, vyžaduje také oprávnění CONTROL SERVER při provádění následujících změn:

  • Resetování hesla bez zadání starého hesla
  • Změna přihlašovacího jména
  • Povolení nebo zakázání přihlášení
  • Mapování přihlášení na jiné přihlašovací údaje

Objekt zabezpečení může změnit heslo pro vlastní přihlášení.

Příklady

Mezi tyto příklady patří také příklady použití jiných produktů SQL. Podívejte se, které předchozí argumenty jsou podporované.

A. Povolení zakázaného přihlášení

Následující příklad povolí přihlašovací Mary5.

ALTER LOGIN Mary5 ENABLE;

B. Změna hesla pro přihlášení

Následující příklad změní heslo pro přihlášení Mary5 na silné heslo.

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

C. Změna názvu přihlášení

Následující příklad změní jméno přihlašovací Mary5 na John2.

ALTER LOGIN Mary5 WITH NAME = John2;

D. Mapování přihlášení k přihlašovacím údajům

Následující příklad mapuje přihlašovací John2 na přihlašovací údaje Custodian04.

ALTER LOGIN John2 WITH CREDENTIAL = Custodian04;

E. Mapování přihlášení k přihlašovacím údajům rozšiřitelné správy klíčů

Následující příklad mapuje přihlašovací Mary5 na přihlašovací údaje EKM EKMProvider1.

platí pro: SQL Server 2008 (10.0.x) a novější.

ALTER LOGIN Mary5 ADD CREDENTIAL EKMProvider1;
GO

F. Změna hesla pro přihlášení pomocí funkce HASHED

Následující příklad změní heslo TestUser přihlášení k již hashované hodnotě.

platí pro: SQL Server 2008 (10.0.x) a novější.

ALTER LOGIN TestUser WITH PASSWORD = 0x01000CF35567C60BFB41EBDE4CF700A985A13D773D6B45B90900 HASHED;
GO

SQL Database

* SQL Managed Instance *

 

Spravovaná instance Azure SQL

Syntaxe pro SQL Server a spravovanou instanci Azure 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
-- 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 použitelné pro přihlášení SQL a Microsoft Entra

login_name

Určuje název přihlašovacího jména SQL Serveru, které se mění. Přihlášení Microsoft Entra musí být zadána jako user@domain. Například john.smith@contoso.comnebo jako název skupiny Nebo aplikace Microsoft Entra. U přihlášení Microsoft Entra musí login_name odpovídat existujícímu přihlášení Microsoft Entra vytvořenému v databázi master.

POVOLIT | VYPNOUT

Povolí nebo zakáže toto přihlášení. Zakázání přihlášení nemá vliv na chování přihlášení, která jsou již připojená. (Ukončete existující připojení pomocí příkazu KILL.) Zakázaná přihlášení si zachovají svá oprávnění a stále se dají zosobnět.

DEFAULT_DATABASE = databáze

Určuje výchozí databázi, která se má přiřadit k přihlášení.

DEFAULT_LANGUAGE = jazyk

Určuje výchozí jazyk, který se má přiřadit k přihlášení. Výchozí jazyk pro všechna přihlášení ke službě SQL Database je angličtina a nedá se změnit. Výchozí jazyk přihlášení sa na SQL Serveru v Linuxu je angličtina, ale dá se změnit.

Argumenty platné pouze pro přihlášení SQL

PASSWORD = 'heslo'

Platí jenom pro přihlášení k SQL Serveru. Určuje heslo pro změněné přihlášení. V heslech se rozlišují malá a velká písmena. Hesla se také nevztahují při použití s externími přihlášeními, jako jsou přihlášení Microsoft Entra.

Nepřetržitá aktivní připojení ke službě SQL Database vyžadují opakované ověřování (prováděné databázovým strojem) alespoň každých 10 hodin. Databázový stroj se pokusí o opětovné ověření pomocí původně odeslaného hesla a nevyžaduje se žádný uživatelský vstup. Z důvodů výkonu se při resetování hesla ve službě SQL Database připojení znovu neověřuje, a to ani v případě, že se připojení resetuje kvůli sdružování připojení. Liší se to od chování místního SQL Serveru. Pokud se heslo od počátečního autorizace připojení změnilo, musí se připojení ukončit a nové připojení vytvořené pomocí nového hesla. Uživatel s oprávněním KILL DATABASE CONNECTION může explicitně ukončit připojení ke službě SQL Database pomocí příkazu KILL. Další informace naleznete v tématu KILL.

HESLO = hashed_password

Platí pouze pro klíčové slovo HASHED. Určuje hodnotu hash hesla pro vytvářené přihlášení.

HASHED

Platí jenom pro přihlášení k SQL Serveru. Určuje, že heslo zadané po argumentu PASSWORD je již hashováno. Pokud tato možnost není vybraná, heslo se před uložením do databáze zatřiďuje. Tato možnost by se měla používat pouze pro synchronizaci přihlášení mezi dvěma servery. Nepoužívejte možnost HASHED k rutině změn hesel.

OLD_PASSWORD = 'old_password'

Platí jenom pro přihlášení k SQL Serveru. Aktuální heslo pro přihlášení, ke kterému se přiřadí nové heslo. V heslech se rozlišují malá a velká písmena.

MUST_CHANGE

Platí jenom pro přihlášení k SQL Serveru. Pokud je tato možnost zahrnutá, SQL Server zobrazí výzvu k zadání aktualizovaného hesla při prvním použití změněného přihlášení.

NAME = login_name

Nový název přihlášení, které se přejmenuje. Pokud se jedná o přihlášení systému Windows, musí identifikátor SID objektu zabezpečení systému Windows odpovídající novému názvu odpovídat identifikátoru SID přidruženému k přihlášení na SQL Serveru. Nový název přihlášení k SQL Serveru nemůže obsahovat znak zpětného lomítka (\).

CHECK_EXPIRATION = { ON | VYPNUTO }

Platí jenom pro přihlášení k SQL Serveru. Určuje, jestli se při tomto přihlášení mají vynucovat zásady vypršení platnosti hesla. Výchozí hodnota je VYPNUTÁ.

CHECK_POLICY = { ON | VYPNUTO }

Platí jenom pro přihlášení k SQL Serveru. Určuje, že pro toto přihlášení by se měly vynutit zásady hesel systému Windows počítače, na kterém běží SQL Server. Výchozí hodnota je ZAPNUTÁ.

CREDENTIAL = credential_name

Název přihlašovacích údajů, které se mají namapovat na přihlášení k SQL Serveru. Přihlašovací údaje již musí existovat na serveru. Další informace najdete v tématu Přihlašovací údaje. Přihlašovací údaje nelze namapovat na přihlášení sa.

ŽÁDNÉ PŘIHLAŠOVACÍ ÚDAJE

Odebere všechna existující mapování přihlášení k přihlašovacím údajům serveru. Další informace najdete v tématu Přihlašovací údaje.

ODEMKNOUT

Platí jenom pro přihlášení k SQL Serveru. Určuje, že by mělo být odemknuté přihlášení, které je uzamčeno.

PŘIDÁNÍ PŘIHLAŠOVACÍCH ÚDAJŮ

Přidá přihlašovací údaje zprostředkovatele EKM (Extensible Key Management). Další informace najdete v tématuExtensible Key Management (EKM).

DROP CREDENTIAL

Odebere přihlašovací údaje zprostředkovatele EKM (Extensible Key Management). Další informace najdete v tématuExtensible Key Management (EKM).

Poznámky

Pokud je CHECK_POLICY nastavena na HODNOTU ON, nelze použít argument HASHED.

Když se CHECK_POLICY změní na ZAPNUTO, dojde k následujícímu chování:

  • Historie hesel se inicializuje s hodnotou aktuální hodnoty hash hesla.

Když se CHECK_POLICY změní na VYPNUTO, dojde k následujícímu chování:

  • CHECK_EXPIRATION je také vypnuto.
  • Historie hesel se vymaže.
  • Hodnota lockout_time je resetována.

Pokud je zadán MUST_CHANGE, musí být CHECK_EXPIRATION a CHECK_POLICY nastaveny na ZAPNUTO. Jinak příkaz selže.

Pokud je CHECK_POLICY nastavená na VYPNUTO, CHECK_EXPIRATION nejde nastavit na ZAPNUTO. Příkaz ALTER LOGIN, který má tuto kombinaci možností, selžou.

Nemůžete použít ALTER_LOGIN s argumentem DISABLE k odepření přístupu ke skupině Windows. To je podle návrhu. Například ALTER_LOGIN [doména\skupina] DISABLE vrátí následující chybovou zprávu:

"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."

V SQL Database se přihlašovací data potřebná k ověření připojení a pravidel brány firewall na úrovni serveru dočasně ukládají do mezipaměti v každé databázi. Tato mezipaměť se pravidelně aktualizuje. Pokud chcete vynutit aktualizaci mezipaměti ověřování a ujistit se, že databáze má nejnovější verzi tabulky přihlášení, spusťte DBCC FLUSHAUTHCACHE.

Dovolení

Vyžaduje oprávnění ALTER ANY LOGIN.

Pokud se používá možnost CREDENTIAL, vyžaduje také oprávnění ALTER ANY CREDENTIAL.

Pokud je změněné přihlášení členem správce systému pevné role serveru nebo udělení oprávnění CONTROL SERVER, vyžaduje také oprávnění CONTROL SERVER při provádění následujících změn:

  • Resetování hesla bez zadání starého hesla
  • Povolení MUST_CHANGE, CHECK_POLICY nebo CHECK_EXPIRATION
  • Změna přihlašovacího jména
  • Povolení nebo zakázání přihlášení
  • Mapování přihlášení na jiné přihlašovací údaje

Objekt zabezpečení může změnit heslo, výchozí jazyk a výchozí databázi pro vlastní přihlášení.

Pouze objekt zabezpečení SQL s oprávněními sysadmin může spustit příkaz ALTER LOGIN proti přihlášení Microsoft Entra.

Příklady

Mezi tyto příklady patří také příklady použití jiných produktů SQL. Podívejte se, které předchozí argumenty jsou podporované.

A. Povolení zakázaného přihlášení

Následující příklad povolí přihlašovací Mary5.

ALTER LOGIN Mary5 ENABLE;

B. Změna hesla pro přihlášení

Následující příklad změní heslo pro přihlášení Mary5 na silné heslo.

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

C. Změna názvu přihlášení

Následující příklad změní jméno přihlašovací Mary5 na John2.

ALTER LOGIN Mary5 WITH NAME = John2;

D. Mapování přihlášení k přihlašovacím údajům

Následující příklad mapuje přihlašovací John2 na přihlašovací údaje Custodian04.

ALTER LOGIN John2 WITH CREDENTIAL = Custodian04;

E. Mapování přihlášení k přihlašovacím údajům rozšiřitelné správy klíčů

Následující příklad mapuje přihlašovací Mary5 na přihlašovací údaje EKM EKMProvider1.

platí pro: SQL Server 2008 (10.0.x) a novější a spravovaná instance Azure SQL.

ALTER LOGIN Mary5 ADD CREDENTIAL EKMProvider1;
GO

F. Odemknutí přihlášení

Pokud chcete odemknout přihlášení k SQL Serveru, spusťte následující příkaz a nahraďte **** požadovaným heslem účtu.

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

Pokud chcete odemknout přihlášení beze změny hesla, vypněte zásadu kontroly a pak znovu zapněte.

ALTER LOGIN [Mary5] WITH CHECK_POLICY = OFF;

ALTER LOGIN [Mary5] WITH CHECK_POLICY = ON;
GO

G. Změna hesla pro přihlášení pomocí funkce HASHED

Následující příklad změní heslo TestUser přihlášení k již hashované hodnotě.

platí pro: SQL Server 2008 (10.0.x) a novější a spravovaná instance Azure SQL.

ALTER LOGIN TestUser WITH PASSWORD = 0x01000CF35567C60BFB41EBDE4CF700A985A13D773D6B45B90900 HASHED;
GO

H. Zakázání přihlášení uživatele Microsoft Entra

Následující příklad zakáže přihlášení uživatele Microsoft Entra, joe@contoso.com.

ALTER LOGIN [joe@contoso.com] DISABLE;

SQL Database

spravované instance SQL

* Azure Synapse
Analýza *

 

Azure Synapse Analytics

Syntaxe pro 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

Určuje název přihlašovacího jména SQL Serveru, které se mění. Přihlášení k doméně musí být uzavřena v hranatých závorkách ve formátu [doména\uživatel].

POVOLIT | VYPNOUT

Povolí nebo zakáže toto přihlášení. Zakázání přihlášení nemá vliv na chování přihlášení, která jsou již připojená. (Ukončete existující připojení pomocí příkazu KILL.) Zakázaná přihlášení si zachovají svá oprávnění a stále se dají zosobnět.

PASSWORD = 'heslo'

Platí jenom pro přihlášení k SQL Serveru. Určuje heslo pro změněné přihlášení. V heslech se rozlišují malá a velká písmena.

Nepřetržitá aktivní připojení ke službě SQL Database vyžadují opakované ověřování (prováděné databázovým strojem) alespoň každých 10 hodin. Databázový stroj se pokusí o opětovné ověření pomocí původně odeslaného hesla a nevyžaduje se žádný uživatelský vstup. Z důvodů výkonu se při resetování hesla ve službě SQL Database připojení znovu neověřuje, a to ani v případě, že se připojení resetuje kvůli sdružování připojení. Liší se to od chování místního SQL Serveru. Pokud se heslo od počátečního autorizace připojení změnilo, musí se připojení ukončit a nové připojení vytvořené pomocí nového hesla. Uživatel s oprávněním KILL DATABASE CONNECTION může explicitně ukončit připojení ke službě SQL Database pomocí příkazu KILL. Další informace naleznete v tématu KILL.

Důležitý

Když se přihlášení (nebo uživatel databáze s omezením) připojí a ověří, připojení ukládá do mezipaměti informace o identitě přihlášení. Pro přihlášení k ověřování systému Windows to zahrnuje informace o členství ve skupinách Windows. Identita přihlášení zůstane ověřená, pokud je připojení zachováno. Pokud chcete vynutit změny identity, jako je resetování hesla nebo změna členství ve skupině Windows, musí se přihlášení odhlásit od ověřovací autority (Windows nebo SQL Server) a znovu se přihlásit. Člen správce systému pevnou roli serveru nebo jakékoli přihlášení s oprávněním ALTER ANY CONNECTION může pomocí příkazu KILL ukončit připojení a vynutit opětovné připojení přihlášení. SQL Server Management Studio může opakovaně používat informace o připojení při otevírání více připojení k Průzkumníku objektů a okna Editoru dotazů. Zavřete všechna připojení, aby se vynutil opětovné připojení.

OLD_PASSWORD = 'old_password'

Platí jenom pro přihlášení k SQL Serveru. Aktuální heslo pro přihlášení, ke kterému se přiřadí nové heslo. V heslech se rozlišují malá a velká písmena.

NAME = login_name

Nový název přihlášení, které se přejmenuje. Pokud se jedná o přihlášení systému Windows, musí identifikátor SID objektu zabezpečení systému Windows odpovídající novému názvu odpovídat identifikátoru SID přidruženému k přihlášení na SQL Serveru. Nový název přihlášení k SQL Serveru nemůže obsahovat znak zpětného lomítka (\).

Poznámky

V SQL Database se přihlašovací data potřebná k ověření připojení a pravidel brány firewall na úrovni serveru dočasně ukládají do mezipaměti v každé databázi. Tato mezipaměť se pravidelně aktualizuje. Pokud chcete vynutit aktualizaci mezipaměti ověřování a ujistit se, že databáze má nejnovější verzi tabulky přihlášení, spusťte DBCC FLUSHAUTHCACHE.

Dovolení

Vyžaduje oprávnění ALTER ANY LOGIN.

Pokud je změněné přihlášení členem správce systému pevné role serveru nebo udělení oprávnění CONTROL SERVER, vyžaduje také oprávnění CONTROL SERVER při provádění následujících změn:

  • Resetování hesla bez zadání starého hesla
  • Změna přihlašovacího jména
  • Povolení nebo zakázání přihlášení
  • Mapování přihlášení na jiné přihlašovací údaje

Objekt zabezpečení může změnit heslo pro vlastní přihlášení.

Příklady

Mezi tyto příklady patří také příklady použití jiných produktů SQL. Podívejte se, které předchozí argumenty jsou podporované.

A. Povolení zakázaného přihlášení

Následující příklad povolí přihlašovací Mary5.

ALTER LOGIN Mary5 ENABLE;

B. Změna hesla pro přihlášení

Následující příklad změní heslo pro přihlášení Mary5 na silné heslo.

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

C. Změna názvu přihlášení

Následující příklad změní jméno přihlašovací Mary5 na John2.

ALTER LOGIN Mary5 WITH NAME = John2;

D. Mapování přihlášení k přihlašovacím údajům

Následující příklad mapuje přihlašovací John2 na přihlašovací údaje Custodian04.

ALTER LOGIN John2 WITH CREDENTIAL = Custodian04;

E. Mapování přihlášení k přihlašovacím údajům rozšiřitelné správy klíčů

Následující příklad mapuje přihlašovací Mary5 na přihlašovací údaje EKM EKMProvider1.

platí pro: SQL Server 2008 (10.0.x) a novější.

ALTER LOGIN Mary5 ADD CREDENTIAL EKMProvider1;
GO

F. Odemknutí přihlášení

Pokud chcete odemknout přihlášení k SQL Serveru, spusťte následující příkaz a nahraďte **** požadovaným heslem účtu.

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

G. Změna hesla pro přihlášení pomocí funkce HASHED

Následující příklad změní heslo TestUser přihlášení k již hashované hodnotě.

platí pro: SQL Server 2008 (10.0.x) a novější.

ALTER LOGIN TestUser WITH PASSWORD = 0x01000CF35567C60BFB41EBDE4CF700A985A13D773D6B45B90900 HASHED;
GO

SQL Database

spravované instance SQL

* Analytics
Systém platformy (PDW) *

 

Systém analytických platforem

Syntaxe pro systém analytických platforem

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

Určuje název přihlašovacího jména SQL Serveru, které se mění. Přihlášení k doméně musí být uzavřena v hranatých závorkách ve formátu [doména\uživatel].

POVOLIT | VYPNOUT

Povolí nebo zakáže toto přihlášení. Zakázání přihlášení nemá vliv na chování přihlášení, která jsou již připojená. (Ukončete existující připojení pomocí příkazu KILL.) Zakázaná přihlášení si zachovají svá oprávnění a stále se dají zosobnět.

PASSWORD = 'heslo'

Platí jenom pro přihlášení k SQL Serveru. Určuje heslo pro změněné přihlášení. V heslech se rozlišují malá a velká písmena.

Důležitý

Když se přihlášení (nebo uživatel databáze s omezením) připojí a ověří, připojení ukládá do mezipaměti informace o identitě přihlášení. Pro přihlášení k ověřování systému Windows to zahrnuje informace o členství ve skupinách Windows. Identita přihlášení zůstane ověřená, pokud je připojení zachováno. Pokud chcete vynutit změny identity, jako je resetování hesla nebo změna členství ve skupině Windows, musí se přihlášení odhlásit od ověřovací autority (Windows nebo SQL Server) a znovu se přihlásit. Člen správce systému pevnou roli serveru nebo jakékoli přihlášení s oprávněním ALTER ANY CONNECTION může pomocí příkazu KILL ukončit připojení a vynutit opětovné připojení přihlášení. SQL Server Management Studio může opakovaně používat informace o připojení při otevírání více připojení k Průzkumníku objektů a okna Editoru dotazů. Zavřete všechna připojení, aby se vynutil opětovné připojení.

OLD_PASSWORD = 'old_password'

Platí jenom pro přihlášení k SQL Serveru. Aktuální heslo pro přihlášení, ke kterému se přiřadí nové heslo. V heslech se rozlišují malá a velká písmena.

MUST_CHANGE

Platí jenom pro přihlášení k SQL Serveru. Pokud je tato možnost zahrnutá, SQL Server zobrazí výzvu k zadání aktualizovaného hesla při prvním použití změněného přihlášení.

NAME = login_name

Nový název přihlášení, které se přejmenuje. Pokud se jedná o přihlášení systému Windows, musí identifikátor SID objektu zabezpečení systému Windows odpovídající novému názvu odpovídat identifikátoru SID přidruženému k přihlášení na SQL Serveru. Nový název přihlášení k SQL Serveru nemůže obsahovat znak zpětného lomítka (\).

CHECK_EXPIRATION = { ON | VYPNUTO }

Platí jenom pro přihlášení k SQL Serveru. Určuje, jestli se při tomto přihlášení mají vynucovat zásady vypršení platnosti hesla. Výchozí hodnota je VYPNUTÁ.

CHECK_POLICY = { ON | VYPNUTO }

Platí jenom pro přihlášení k SQL Serveru. Určuje, že pro toto přihlášení by se měly vynutit zásady hesel systému Windows počítače, na kterém běží SQL Server. Výchozí hodnota je ZAPNUTÁ.

ODEMKNOUT

Platí jenom pro přihlášení k SQL Serveru. Určuje, že by mělo být odemknuté přihlášení, které je uzamčeno.

Poznámky

Pokud je CHECK_POLICY nastavena na HODNOTU ON, nelze použít argument HASHED.

Když se CHECK_POLICY změní na ZAPNUTO, dojde k následujícímu chování:

  • Historie hesel se inicializuje s hodnotou aktuální hodnoty hash hesla.

Když se CHECK_POLICY změní na VYPNUTO, dojde k následujícímu chování:

  • CHECK_EXPIRATION je také vypnuto.
  • Historie hesel se vymaže.
  • Hodnota lockout_time je resetována.

Pokud je zadán MUST_CHANGE, musí být CHECK_EXPIRATION a CHECK_POLICY nastaveny na ZAPNUTO. Jinak příkaz selže.

Pokud je CHECK_POLICY nastavená na VYPNUTO, CHECK_EXPIRATION nejde nastavit na ZAPNUTO. Příkaz ALTER LOGIN, který má tuto kombinaci možností, selžou.

Nemůžete použít ALTER_LOGIN s argumentem DISABLE k odepření přístupu ke skupině Windows. To je podle návrhu. Například ALTER_LOGIN [doména\skupina] DISABLE vrátí následující chybovou zprávu:

"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."

V SQL Database se přihlašovací data potřebná k ověření připojení a pravidel brány firewall na úrovni serveru dočasně ukládají do mezipaměti v každé databázi. Tato mezipaměť se pravidelně aktualizuje. Pokud chcete vynutit aktualizaci mezipaměti ověřování a ujistit se, že databáze má nejnovější verzi tabulky přihlášení, spusťte DBCC FLUSHAUTHCACHE.

Dovolení

Vyžaduje oprávnění ALTER ANY LOGIN.

Pokud se používá možnost CREDENTIAL, vyžaduje také oprávnění ALTER ANY CREDENTIAL.

Pokud je změněné přihlášení členem správce systému pevné role serveru nebo udělení oprávnění CONTROL SERVER, vyžaduje také oprávnění CONTROL SERVER při provádění následujících změn:

  • Resetování hesla bez zadání starého hesla
  • Povolení MUST_CHANGE, CHECK_POLICY nebo CHECK_EXPIRATION
  • Změna přihlašovacího jména
  • Povolení nebo zakázání přihlášení
  • Mapování přihlášení na jiné přihlašovací údaje

Objekt zabezpečení může změnit heslo, výchozí jazyk a výchozí databázi pro vlastní přihlášení.

Příklady

Mezi tyto příklady patří také příklady použití jiných produktů SQL. Podívejte se, které předchozí argumenty jsou podporované.

A. Povolení zakázaného přihlášení

Následující příklad povolí přihlašovací Mary5.

ALTER LOGIN Mary5 ENABLE;

B. Změna hesla pro přihlášení

Následující příklad změní heslo pro přihlášení Mary5 na silné heslo.

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

C. Změna názvu přihlášení

Následující příklad změní jméno přihlašovací Mary5 na John2.

ALTER LOGIN Mary5 WITH NAME = John2;

D. Mapování přihlášení k přihlašovacím údajům

Následující příklad mapuje přihlašovací John2 na přihlašovací údaje Custodian04.

ALTER LOGIN John2 WITH CREDENTIAL = Custodian04;

E. Mapování přihlášení k přihlašovacím údajům rozšiřitelné správy klíčů

Následující příklad mapuje přihlašovací Mary5 na přihlašovací údaje EKM EKMProvider1.

platí pro: SQL Server 2008 (10.0.x) a novější.

ALTER LOGIN Mary5 ADD CREDENTIAL EKMProvider1;
GO

F. Odemknutí přihlášení

Pokud chcete odemknout přihlášení k SQL Serveru, spusťte následující příkaz a nahraďte **** požadovaným heslem účtu.

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

Pokud chcete odemknout přihlášení beze změny hesla, vypněte zásadu kontroly a pak znovu zapněte.

ALTER LOGIN [Mary5] WITH CHECK_POLICY = OFF;

ALTER LOGIN [Mary5] WITH CHECK_POLICY = ON;
GO

G. Změna hesla pro přihlášení pomocí funkce HASHED

Následující příklad změní heslo TestUser přihlášení k již hashované hodnotě.

platí pro: SQL Server 2008 (10.0.x) a novější.

ALTER LOGIN TestUser WITH PASSWORD = 0x01000CF35567C60BFB41EBDE4CF700A985A13D773D6B45B90900 HASHED;
GO