Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Přejmenuje uživatele databáze nebo změní výchozí schéma.
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 *
Azure Synapse
analýzy
SQL Server
Syntax
-- Syntax for SQL Server
ALTER USER user_name
WITH <set_item> [ ,...n ]
[;]
<set_item> ::=
NAME = new_user_name
| DEFAULT_SCHEMA = { schema_name | NULL }
| LOGIN = login_name
| PASSWORD = 'password' [ OLD_PASSWORD = 'oldpassword' ]
| DEFAULT_LANGUAGE = { NONE | <lcid> | <language name> | <language alias> }
| ALLOW_ENCRYPTED_VALUE_MODIFICATIONS = [ ON | OFF ]
Arguments
user_name
Určuje jméno, podle kterého je uživatel identifikován uvnitř této databáze.
LOGIN = login_name
Znovu namapuje uživatele na jiné přihlášení změnou identifikátoru zabezpečení uživatele (SID) tak, aby odpovídal identifikátoru SID přihlášení.
NAME = new_user_name
Určuje nový název tohoto uživatele. new_user_name již nesmí v aktuální databázi existovat.
DEFAULT_SCHEMA = { schema_name | NULL }
Určuje první schéma, které bude prohledávat server při překladu názvů objektů pro tohoto uživatele. Nastavení výchozího schématu na hodnotu NULL odebere výchozí schéma ze skupiny Windows. Možnost NULL nelze použít s uživatelem systému Windows.
PASSWORD = 'heslo'
platí pro: SQL Server 2012 (11.x) a novější verze, Azure SQL Database.
Určuje heslo pro uživatele, který se mění. V heslech se rozlišují malá a velká písmena.
Note
Tato možnost je dostupná jenom pro uživatele s omezením. Další informace naleznete v tématu obsažené databáze a sp_migrate_user_to_contained (Transact-SQL).
OLD_PASSWORD ='oldpassword'
platí pro: SQL Server 2012 (11.x) a novější verze, Azure SQL Database.
Aktuální uživatelské heslo, které bude nahrazeno "heslo". V heslech se rozlišují malá a velká písmena. OLD_PASSWORD je nutné změnit heslo, pokud nemáte ALTER ANY USER oprávnění. Vyžadování OLD_PASSWORD zabrání uživatelům s oprávněním zosobnění změnit heslo.
Note
Tato možnost je dostupná jenom pro uživatele s omezením.
DEFAULT_LANGUAGE ={ NONE | <lcid> | <název jazyka> | <alias jazyka> }
platí pro: SQL Server 2012 (11.x) a novější verze.
Určuje výchozí jazyk, který se má uživateli přiřadit. Pokud je tato možnost nastavena na HODNOTU NONE, výchozí jazyk je nastaven na aktuální výchozí jazyk databáze. Pokud se později změní výchozí jazyk databáze, výchozí jazyk uživatele zůstane beze změny. DEFAULT_LANGUAGE může být místní ID (lcid), název jazyka nebo alias jazyka.
Note
Tuto možnost lze zadat pouze v databázi s omezením a pouze pro uživatele s omezením.
ALLOW_ENCRYPTED_VALUE_MODIFICATIONS = [ ON | VYPNUTO ]
platí pro: SQL Server 2016 (13.x) a novější verze, Azure SQL Database.
Potlačí kontroly kryptografických metadat na serveru v operacích hromadného kopírování. To uživateli umožňuje hromadně kopírovat šifrovaná data mezi tabulkami nebo databázemi bez dešifrování dat. Výchozí hodnota je VYPNUTÁ.
Warning
Nesprávné použití této možnosti může vést k poškození dat. Další informace najdete v tématu Hromadné načtení šifrovaných dat do sloupců pomocí funkce Always Encrypted.
Remarks
Výchozí schéma bude prvním schématem, které bude server prohledávat při překladu názvů objektů pro tohoto uživatele databáze. Pokud neurčíte jinak, výchozí schéma bude vlastníkem objektů vytvořených tímto uživatelem databáze.
Pokud má uživatel výchozí schéma, použije se toto výchozí schéma. Pokud uživatel nemá výchozí schéma, ale uživatel je členem skupiny, která má výchozí schéma, použije se výchozí schéma skupiny. Pokud uživatel nemá výchozí schéma a je členem více než jedné skupiny, bude výchozím schématem pro uživatele skupina Windows s nejnižšími principal_id a explicitně nastaveným výchozím schématem. Pokud pro uživatele nelze určit žádné výchozí schéma, použije se dbo schéma.
DEFAULT_SCHEMA lze nastavit na schéma, které v databázi aktuálně nedochází. Proto můžete uživateli přiřadit DEFAULT_SCHEMA před vytvořením schématu.
DEFAULT_SCHEMA nelze zadat pro uživatele, který je namapovaný na certifikát nebo asymetrický klíč.
Important
Hodnota DEFAULT_SCHEMA se ignoruje, pokud je uživatel členem správce systému pevné role serveru. Všichni členové pevné role serveru mají výchozí schéma dbo.
Jméno uživatele, který je namapovaný na přihlašovací jméno nebo skupinu systému Windows, můžete změnit pouze v případech, kdy identifikátor SID nového uživatelského jména odpovídá identifikátoru SID zaznamenanému v databázi. Tato kontrola pomáhá zabránit falšování identity přihlášení windows v databázi.
Klauzule WITH LOGIN umožňuje přemapování uživatele na jiné přihlášení. Uživatelé bez přihlášení, uživatelé namapovaní na certifikát nebo uživatelé mapovaní na asymetrický klíč se s touto klauzulí nedají znovu namapovat. Přemapovat je možné jenom uživatele SQL a uživatele Windows (nebo skupiny). Klauzule WITH LOGIN se nedá použít ke změně typu uživatele, například ke změně účtu systému Windows na přihlášení k SQL Serveru.
Neshoda identifikátoru SID může nastat, když jste obnovili databázi z jiného serveru a namapovali uživatele databáze na přihlášení k SQL Serveru. Tuto situaci můžete opravit pomocí klauzule WITH LOGIN nahrazením identifikátoru SID uživatele v databázi identifikátorem SID pro přihlášení ze serveru.
Pokud jsou splněny následující podmínky, jméno uživatele se automaticky přejmenuje na přihlašovací jméno.
Uživatel je uživatel systému Windows.
Název je název Systému Windows (obsahuje zpětné lomítko).
Nebyl zadán žádný nový název.
Aktuální název se liší od přihlašovacího jména.
Jinak se uživatel nepřejmenuje, pokud volající navíc nevyvolá klauzuli NAME.
Jméno uživatele namapovaného na přihlašovací jméno SQL Serveru, certifikát nebo asymetrický klíč nemohou obsahovat znak zpětného lomítka (\).
Note
Schémata nejsou ekvivalentní uživatelům databáze. Pomocí zobrazení katalogu systému identifikujte všechny rozdíly mezi uživateli databáze a schématy.
Počínaje SQL Serverem 2012 (11.x) sql Server a Azure SQL DB používaly hodnotu hash SHA-512 v kombinaci s 32bitovou náhodnou a jedinečnou solí. Tato metoda znepřístupnil útočníkům statisticky neproveditelná hesla.
SQL Server 2025 (17.x) Preview zavádí algoritmus iterated hash, RFC2898, označovaný také jako funkce odvozování klíče založeného na heslech (PBKDF). Tento algoritmus stále používá algoritmus SHA-512, ale několikrát zatřiďuje heslo (100 000 iterací), což výrazně zpomaluje útoky hrubou silou. Tato změna vylepšuje ochranu heslem v reakci na vyvíjející se bezpečnostní hrozby a pomáhá zákazníkům dodržovat pokyny NIST SP 800-63b. Toto vylepšení zabezpečení používá silnější algoritmus hash, který může mírně zvýšit dobu přihlášení pro přihlášení k ověřování SQL. Dopad je obecně nižší v prostředích s sdružováním připojení, ale může být patrnější ve scénářích bez sdružování nebo v případě, že je latence přihlášení pečlivě sledována.
Zabezpečení
Note
Uživatel, který má ALTER ANY USER oprávnění, může změnit výchozí schéma libovolného uživatele. Uživatel, který má změněné schéma, může neúmyslně vybrat data z nesprávné tabulky nebo spustit kód z nesprávného schématu.
Permissions
Chcete-li změnit jméno uživatele, vyžaduje ALTER ANY USER oprávnění.
Ke změně cílového přihlášení uživatele se vyžaduje oprávnění CONTROL databáze.
Chcete-li změnit uživatelské jméno uživatele, který má oprávnění CONTROL k databázi, vyžaduje oprávnění CONTROL databáze.
Chcete-li změnit výchozí schéma nebo jazyk, vyžaduje oprávnění ALTER pro uživatele. Uživatelé můžou změnit vlastní výchozí schéma nebo jazyk.
Examples
Všechny příklady se spouští v uživatelské databázi.
A. Změna názvu uživatele databáze
Následující příklad změní název uživatele databáze Mary5 na Mary51.
ALTER USER Mary5 WITH NAME = Mary51;
GO
B. Změna výchozího schématu uživatele
Následující příklad změní výchozí schéma uživatele Mary51 na Purchasing.
ALTER USER Mary51 WITH DEFAULT_SCHEMA = Purchasing;
GO
C. Změna několika možností najednou
platí pro: SQL Server 2012 (11.x) a novější verze.
Následující příklad změní několik možností pro uživatele databáze s omezením v jednom příkazu. Nahraďte <new strong password here> a <old strong password here> nahraďte vlastními hodnotami.
ALTER USER Philip
WITH NAME = Philipe
, DEFAULT_SCHEMA = Development
, PASSWORD = '<new strong password here>' OLD_PASSWORD = '<old strong password here>'
, DEFAULT_LANGUAGE= French ;
GO
D. Oprava neshodovaného identifikátoru SID
Následující příklad opraví identifikátor SID uživatele v databázi tak, aby odpovídal identifikátoru SID na serveru pro ověřené přihlášení k SQL Serveru.
ALTER USER Mai
WITH LOGIN = Mai;
GO
Související obsah
-
CREATE USER (Transact-SQL) - DROP USER (Transact-SQL)
- obsahové databáze
- sp_migrate_user_to_contained (Transact-SQL)
* Azure SQL Database a Microsoft Fabric *
Azure Synapse
analýzy
Azure SQL Database a Microsoft Fabric
Syntax
Syntaxe pro Azure SQL Database
-- Syntax for Azure SQL Database
ALTER USER user_name
WITH <set_item> [ ,...n ]
<set_item> ::=
NAME = new_user_name
| DEFAULT_SCHEMA = schema_name
| LOGIN = login_name
| ALLOW_ENCRYPTED_VALUE_MODIFICATIONS = [ ON | OFF ]
[;]
-- Azure SQL Database Update Syntax
ALTER USER user_name
WITH <set_item> [ ,...n ]
[;]
<set_item> ::=
NAME = new_user_name
| DEFAULT_SCHEMA = { schema_name | NULL }
| LOGIN = login_name
| PASSWORD = 'password' [ OLD_PASSWORD = 'oldpassword' ]
| ALLOW_ENCRYPTED_VALUE_MODIFICATIONS = [ ON | OFF ]
-- SQL Database syntax when connected to a federation member
ALTER USER user_name
WITH <set_item> [ ,... n ]
[;]
<set_item> ::=
NAME = new_user_name
Syntaxe pro databázi SQL v Microsoft Fabric Preview
ALTER USER
{
Microsoft_Entra_principal FROM EXTERNAL PROVIDER [WITH OBJECT_ID = 'objectid']
}
[ ; ]
-- Users that cannot authenticate
ALTER USER user_name
{
{ FOR | FROM } CERTIFICATE cert_name
| { FOR | FROM } ASYMMETRIC KEY asym_key_name
}
[ ; ]
<options_list> ::=
DEFAULT_LANGUAGE = { NONE | lcid | language name | language alias }
-- SQL Database syntax when connected to a federation member
ALTER USER user_name
[;]
Syntaxe pro Microsoft Fabric Warehouse
-- Syntax for Fabric Data Warehouse
ALTER USER user_name
WITH <set_item> [ ,...n ]
<set_item> ::=
| DEFAULT_SCHEMA = schema_name
[;]
Arguments
user_name
Určuje jméno, podle kterého je uživatel identifikován uvnitř této databáze.
LOGIN = login_name
Znovu namapuje uživatele na jiné přihlášení změnou identifikátoru zabezpečení uživatele (SID) tak, aby odpovídal identifikátoru SID přihlášení.
Pokud je příkaz ALTER USER jediným příkazem v dávce SQL, Azure SQL Database podporuje klauzuli WITH LOGIN. Pokud příkaz ALTER USER není jediným příkazem v dávce SQL nebo se provádí v dynamickém SQL, není klauzule WITH LOGIN podporovaná.
NAME = new_user_name
Určuje nový název tohoto uživatele. new_user_name již nesmí v aktuální databázi existovat.
DEFAULT_SCHEMA = { schema_name | NULL }
Určuje první schéma, které bude prohledávat server při překladu názvů objektů pro tohoto uživatele.
Nastavení výchozího schématu na NULL odebere výchozí schéma od uživatele vytvořeného pro skupinu MICROSOFT Entra ID. Možnost NULL nelze použít s žádným jiným druhem uživatele.
PASSWORD = 'heslo'
platí pro: Azure SQL Database.
Určuje heslo pro uživatele, který se mění. V heslech se rozlišují malá a velká písmena.
Note
Tato možnost je dostupná jenom pro uživatele s omezením. Další informace naleznete v tématu obsažené databáze a sp_migrate_user_to_contained (Transact-SQL).
OLD_PASSWORD ='oldpassword'
platí pro: Azure SQL Database.
Aktuální uživatelské heslo, které bude nahrazeno "heslo". V heslech se rozlišují malá a velká písmena. OLD_PASSWORD je nutné změnit heslo, pokud nemáte ALTER ANY USER oprávnění. Vyžadování OLD_PASSWORD zabrání uživatelům s oprávněním zosobnění změnit heslo.
Note
Tato možnost je dostupná jenom pro uživatele s omezením.
ALLOW_ENCRYPTED_VALUE_MODIFICATIONS = [ ON | VYPNUTO ]
platí pro: SQL Server 2016 (13.x) a novější verze, Azure SQL Database.
Potlačí kontroly kryptografických metadat na serveru v operacích hromadného kopírování. To uživateli umožňuje hromadně kopírovat šifrovaná data mezi tabulkami nebo databázemi bez dešifrování dat. Výchozí hodnota je VYPNUTÁ.
Warning
Nesprávné použití této možnosti může vést k poškození dat. Další informace najdete v tématu Hromadné načtení šifrovaných dat do sloupců pomocí funkce Always Encrypted.
Remarks
Výchozí schéma bude prvním schématem, které bude server prohledávat při překladu názvů objektů pro tohoto uživatele databáze. Pokud neurčíte jinak, výchozí schéma bude vlastníkem objektů vytvořených tímto uživatelem databáze.
Pokud má uživatel výchozí schéma, použije se toto výchozí schéma. Pokud uživatel nemá výchozí schéma, ale uživatel je členem skupiny, která má výchozí schéma, použije se výchozí schéma skupiny. Pokud uživatel nemá výchozí schéma a je členem více než jedné skupiny, výchozí schéma pro uživatele bude mít nejnižší principal_id a explicitně nastavené výchozí schéma. Pokud pro uživatele nelze určit žádné výchozí schéma, použije se dbo schéma.
DEFAULT_SCHEMA lze nastavit na schéma, které v databázi aktuálně nedochází. Proto můžete uživateli přiřadit DEFAULT_SCHEMA před vytvořením schématu.
DEFAULT_SCHEMA nelze zadat pro uživatele, který je namapovaný na certifikát nebo asymetrický klíč.
Important
Hodnota DEFAULT_SCHEMA se ignoruje, pokud je uživatel členem správce systému pevné role serveru. Všichni členové pevné role serveru mají výchozí schéma dbo.
Klauzule WITH LOGIN umožňuje přemapování uživatele na jiné přihlášení. Uživatelé bez přihlášení, uživatelé namapovaní na certifikát nebo uživatelé mapovaní na asymetrický klíč se s touto klauzulí nedají znovu namapovat. Přemapovat je možné jenom uživatele SQL. Klauzule WITH LOGIN se nedá použít ke změně typu uživatele.
Pokud jsou splněny následující podmínky, jméno uživatele se automaticky přejmenuje na přihlašovací jméno.
Nebyl zadán žádný nový název.
Aktuální název se liší od přihlašovacího jména.
Jinak se uživatel nepřejmenuje, pokud volající navíc nevyvolá klauzuli NAME.
Jméno uživatele namapovaného na přihlašovací jméno SQL Serveru, certifikát nebo asymetrický klíč nemohou obsahovat znak zpětného lomítka (\).
Note
Schémata nejsou ekvivalentní uživatelům databáze. Pomocí zobrazení katalogu systému identifikujte všechny rozdíly mezi uživateli databáze a schématy.
Databáze SQL infrastruktury
Další informace najdete tady:
- ověřování v databázi Microsoft Fabric SQL
- autorizace v databázi Microsoft Fabric SQL
Fabric Warehouse
V Microsoft Fabric Warehouse je alter USER omezen pouze na nastavení výchozího schématu. Všechny ostatní argumenty běžně spojené s ALTER USER v SQL nebo jiných produktech nejsou podporovány a vrátí chybu.
V Microsoft Fabric Warehouse se v názvu kolace rozlišují malá a velká písmena.
Výchozí schéma bude prvním schématem, které bude server prohledávat při překladu názvů objektů pro tohoto uživatele databáze. Pokud neurčíte jinak, výchozí schéma bude vlastníkem objektů vytvořených tímto uživatelem databáze.
Pokud má uživatel výchozí schéma, použije se toto schéma. Pokud není zadáno žádné výchozí schéma, použije se schéma dbo. Databázový stroj se nejprve pokusí přeložit objekty ve výchozím schématu uživatele. Pokud se nenajde žádný odpovídající objekt, zkontroluje schéma dbo.
DEFAULT_SCHEMA lze nastavit na schéma, které v databázi aktuálně neexistuje. Proto můžete uživateli přiřadit DEFAULT_SCHEMA před vytvořením schématu.
Další informace najdete tady:
Zabezpečení
Note
Uživatel, který má ALTER ANY USER oprávnění, může změnit výchozí schéma libovolného uživatele. Uživatel, který má změněné schéma, může neúmyslně vybrat data z nesprávné tabulky nebo spustit kód z nesprávného schématu.
Permissions
Chcete-li změnit jméno uživatele, vyžaduje ALTER ANY USER oprávnění.
Ke změně cílového přihlášení uživatele se vyžaduje oprávnění CONTROL databáze.
Chcete-li změnit uživatelské jméno uživatele, který má oprávnění CONTROL k databázi, vyžaduje oprávnění CONTROL databáze.
Chcete-li změnit výchozí schéma nebo jazyk, vyžaduje oprávnění ALTER pro uživatele. Uživatelé můžou změnit vlastní výchozí schéma nebo jazyk.
Oprávnění role Fabric Warehouse
Uživatelé s minimálním členstvím v roli PŘISPĚVATEL v pracovním prostoru můžou změnit výchozí schéma libovolného uživatele v datovém skladu Fabric.
Uživatelé s členstvím v roli VIEWER v pracovním prostoru nemohou změnit vlastní výchozí schéma, pokud uživatel se zvýšeným přístupem toto oprávnění nepovolí.
Uživatelé, kteří jsou součástí role VIEWER na úrovni pracovního prostoru, vyžadují oprávnění ALTER ANY USER ke změně výchozího schématu jiných uživatelů.
Examples
Všechny příklady se spouští v uživatelské databázi.
A. Změna názvu uživatele databáze
Následující příklad změní název uživatele databáze Mary5 na Mary51.
ALTER USER Mary5 WITH NAME = Mary51;
GO
B. Změna výchozího schématu uživatele
Následující příklad změní výchozí schéma uživatele Mary51 na Purchasing.
ALTER USER Mary51 WITH DEFAULT_SCHEMA = Purchasing;
GO
C. Změna několika možností najednou
Následující příklad změní několik možností pro uživatele databáze s omezením v jednom příkazu. Nahraďte <new strong password here> a <old strong password here> nahraďte vlastními hodnotami.
ALTER USER Philip
WITH NAME = Philipe
, DEFAULT_SCHEMA = Development
, PASSWORD = '<new strong password here>' OLD_PASSWORD = '<old strong password here>';
GO
D. Změna výchozího schématu uživatele
Následující příklad změní výchozí schéma uživatele Mary51 na Purchasing.
ALTER USER Mary51 WITH DEFAULT_SCHEMA = Purchasing;
GO
Související obsah
-
CREATE USER (Transact-SQL) - DROP USER (Transact-SQL)
- obsahové databáze
- sp_migrate_user_to_contained (Transact-SQL)
- tabulky v datovém skladu Microsoft Fabric
- ověřování v databázi Microsoft Fabric SQL
* SQL Managed Instance *
Azure Synapse
analýzy
Azure SQL Managed Instance
Syntax
Important
Při použití uživatelů s přihlášeními k Microsoft Entra jsou podporovány pouze následující možnosti pro azure SQL Managed Instance: DEFAULT_SCHEMA = { schema_name | NULL } a DEFAULT_LANGUAGE = { NONE | lcid | language name | language alias }
Přidání nového rozšíření syntaxe, které pomáhá přemapovat uživatele v databázi, která byla migrována do azure SQL Managed Instance. Syntaxe ALTER USER pomáhá mapovat uživatele databáze v federované a synchronizované doméně s ID Microsoft Entra na přihlášení Microsoft Entra.
-- Syntax for SQL Managed Instance
ALTER USER user_name
{ WITH <set_item> [ ,...n ] | FROM EXTERNAL PROVIDER }
[;]
<set_item> ::=
NAME = new_user_name
| DEFAULT_SCHEMA = { schema_name | NULL }
| LOGIN = login_name
| PASSWORD = 'password' [ OLD_PASSWORD = 'oldpassword' ]
| DEFAULT_LANGUAGE = { NONE | <lcid> | <language name> | <language alias> }
| ALLOW_ENCRYPTED_VALUE_MODIFICATIONS = [ ON | OFF ]
-- Users or groups that are migrated as federated and synchronized with Azure AD have the following syntax:
/** Applies to Windows users that were migrated and have the following user names:
- Windows user <domain\user>
- Windows group <domain\MyWindowsGroup>
- Windows alias <MyWindowsAlias>
**/
ALTER USER user_name
{ WITH <set_item> [ ,...n ] | FROM EXTERNAL PROVIDER }
[;]
<set_item> ::=
NAME = new_user_name
| DEFAULT_SCHEMA = { schema_name | NULL }
| LOGIN = login_name
| DEFAULT_LANGUAGE = { NONE | <lcid> | <language name> | <language alias> }
Arguments
user_name
Určuje jméno, podle kterého je uživatel identifikován uvnitř této databáze.
LOGIN = login_name
Znovu namapuje uživatele na jiné přihlášení změnou identifikátoru zabezpečení uživatele (SID) tak, aby odpovídal identifikátoru SID přihlášení.
Pokud je příkaz ALTER USER jediným příkazem v dávce SQL, Azure SQL Database podporuje klauzuli WITH LOGIN. Pokud příkaz ALTER USER není jediným příkazem v dávce SQL nebo se provádí v dynamickém SQL, není klauzule WITH LOGIN podporovaná.
NAME = new_user_name
Určuje nový název tohoto uživatele. new_user_name již nesmí v aktuální databázi existovat.
DEFAULT_SCHEMA = { schema_name | NULL }
Určuje první schéma, které bude prohledávat server při překladu názvů objektů pro tohoto uživatele. Nastavení výchozího schématu na hodnotu NULL odebere výchozí schéma ze skupiny Windows. Možnost NULL nelze použít s uživatelem systému Windows.
PASSWORD = 'heslo'
Určuje heslo pro uživatele, který se mění. V heslech se rozlišují malá a velká písmena.
Note
Tato možnost je dostupná jenom pro uživatele s omezením. Další informace naleznete v tématu obsažené databáze a sp_migrate_user_to_contained (Transact-SQL).
OLD_PASSWORD = "oldpassword"
Aktuální uživatelské heslo, které bude nahrazeno "heslo". V heslech se rozlišují malá a velká písmena. OLD_PASSWORD je nutné změnit heslo, pokud nemáte ALTER ANY USER oprávnění. Vyžadování OLD_PASSWORD zabrání uživatelům s oprávněním zosobnění změnit heslo.
Note
Tato možnost je dostupná jenom pro uživatele s omezením.
DEFAULT_LANGUAGE ={ NONE | <lcid> | <název jazyka> | <alias jazyka> }
Určuje výchozí jazyk, který se má uživateli přiřadit. Pokud je tato možnost nastavena na HODNOTU NONE, výchozí jazyk je nastaven na aktuální výchozí jazyk databáze. Pokud se později změní výchozí jazyk databáze, zůstane výchozí jazyk uživatele beze změny. DEFAULT_LANGUAGE může být místní ID (lcid), název jazyka nebo alias jazyka.
Note
Tuto možnost lze zadat pouze v databázi s omezením a pouze pro uživatele s omezením.
ALLOW_ENCRYPTED_VALUE_MODIFICATIONS = [ ON | VYPNUTO ]
Potlačí kontroly kryptografických metadat na serveru v operacích hromadného kopírování. To uživateli umožňuje hromadně kopírovat šifrovaná data mezi tabulkami nebo databázemi bez dešifrování dat. Výchozí hodnota je VYPNUTÁ.
Warning
Nesprávné použití této možnosti může vést k poškození dat. Další informace najdete v tématu Hromadné načtení šifrovaných dat do sloupců pomocí funkce Always Encrypted.
Remarks
Výchozí schéma bude prvním schématem, které bude server prohledávat při překladu názvů objektů pro tohoto uživatele databáze. Pokud neurčíte jinak, výchozí schéma bude vlastníkem objektů vytvořených tímto uživatelem databáze.
Pokud má uživatel výchozí schéma, použije se toto výchozí schéma. Pokud uživatel nemá výchozí schéma, ale uživatel je členem skupiny, která má výchozí schéma, použije se výchozí schéma skupiny. Pokud uživatel nemá výchozí schéma a je členem více než jedné skupiny, bude výchozím schématem pro uživatele skupina Windows s nejnižšími principal_id a explicitně nastaveným výchozím schématem. Pokud pro uživatele nelze určit žádné výchozí schéma, použije se dbo schéma.
DEFAULT_SCHEMA lze nastavit na schéma, které v databázi aktuálně nedochází. Proto můžete uživateli přiřadit DEFAULT_SCHEMA před vytvořením schématu.
DEFAULT_SCHEMA nelze zadat pro uživatele, který je namapovaný na certifikát nebo asymetrický klíč.
Important
Hodnota DEFAULT_SCHEMA se ignoruje, pokud je uživatel členem správce systému pevné role serveru. Všichni členové pevné role serveru mají výchozí schéma dbo.
Jméno uživatele, který je namapovaný na přihlašovací jméno nebo skupinu systému Windows, můžete změnit pouze v případech, kdy identifikátor SID nového uživatelského jména odpovídá identifikátoru SID zaznamenanému v databázi. Tato kontrola pomáhá zabránit falšování identity přihlášení windows v databázi.
Klauzule WITH LOGIN umožňuje přemapování uživatele na jiné přihlášení. Uživatelé bez přihlášení, uživatelé namapovaní na certifikát nebo uživatelé mapovaní na asymetrický klíč se s touto klauzulí nedají znovu namapovat. Přemapovat je možné jenom uživatele SQL a uživatele Windows (nebo skupiny). Klauzule WITH LOGIN se nedá použít ke změně typu uživatele, například ke změně účtu systému Windows na přihlášení k SQL Serveru. Jedinou výjimkou je změna uživatele systému Windows na uživatele Microsoft Entra.
Note
Následující pravidla se nevztahují na uživatele Windows ve službě Azure SQL Managed Instance, protože nepodporujeme vytváření přihlášení windows ve službě Azure SQL Managed Instance. Možnost WITH LOGIN lze použít pouze v případě, že jsou k dispozici přihlášení Microsoft Entra.
Pokud jsou splněny následující podmínky, jméno uživatele se automaticky přejmenuje na přihlašovací jméno.
Uživatel je uživatel systému Windows.
Název je název Systému Windows (obsahuje zpětné lomítko).
Nebyl zadán žádný nový název.
Aktuální název se liší od přihlašovacího jména.
Jinak se uživatel nepřejmenuje, pokud volající navíc nevyvolá klauzuli NAME.
Jméno uživatele namapovaného na přihlašovací jméno SQL Serveru, certifikát nebo asymetrický klíč nemohou obsahovat znak zpětného lomítka (\).
Note
Schémata nejsou ekvivalentní uživatelům databáze. Pomocí zobrazení katalogu systému identifikujte všechny rozdíly mezi uživateli databáze a schématy.
Poznámky pro uživatele Windows v místním SQL migrovaném do Azure SQL Managed Instance
Tyto poznámky platí pro ověřování jako uživatelé Windows, kteří byli federovaní a synchronizovaní s Microsoft Entra ID.
- Ověřování uživatelů nebo skupin Windows mapovaných na ID Microsoft Entra se ve výchozím nastavení provádí prostřednictvím rozhraní Graph API ve všech verzích syntaxe ALTER USER, které se používají pro účely migrace.
- Místní uživatelé, kteří byli aliasovaní (používají jiný název než původní účet Windows), budou název aliasu uchovávat.
- U ověřování Microsoft Entra platí parametr LOGIN pouze pro službu Azure SQL Managed Instance a nejde ho použít se službou SQL Database.
- Pokud chcete zobrazit přihlášení pro objekty zabezpečení Microsoft Entra, použijte následující příkaz:
SELECT * FROM sys.server_principals;. - Zkontrolujte, jestli je zadaný typ přihlášení
EneboX. - Možnost HESLO nelze použít pro uživatele Microsoft Entra.
- Ve všech případech migrace se role a oprávnění uživatelů nebo skupin Windows automaticky přenesou do nových uživatelů nebo skupin Microsoft Entra.
-
FROM EXTERNAL PROVIDERje pro změnu uživatelů a skupin Windows z místního SQL na uživatele a skupiny Microsoft Entra. Doména Windows musí být federovaná s ID Microsoft Entra a všichni členové domény Systému Windows musí existovat v Microsoft Entra ID při použití tohoto rozšíření. SyntaxeFROM EXTERNAL PROVIDERplatí pro spravovanou instanci Azure SQL a měla by se použít v případě, že uživatelé Windows nemají v původní instanci SQL přihlášení a je potřeba je namapovat na samostatné uživatele databáze Microsoft Entra. - V tomto případě může být povolená
user_name: - Uživatel Windows (
domain\user). - Skupina Windows (
MyWindowsGroup). - Alias Windows (
MyWindowsAlias). - Výsledek příkazu ALTER nahradí starý
user_nameodpovídajícím názvem, který se nachází v Microsoft Entra ID na základě původního identifikátoru SID staréhouser_name. Změněný název se nahradí a uloží v metadatech databáze: - (
domain\user) bude nahrazena microsoft Entrauser@domain.com. - (
domain\MyWindowsGroup) bude nahrazena skupinou Microsoft Entra. - (
MyWindowsAlias) zůstane beze změny, ale identifikátor SID tohoto uživatele bude vrácen se změnami v Microsoft Entra ID.
Note
Pokud identifikátor SID původního uživatele převedeného na object_ID nelze najít v tenantovi Microsoft Entra ID, příkaz ALTER USER selže.
- Pokud chcete zobrazit změněné uživatele, použijte následující příkaz:
SELECT * FROM sys.database_principals; - Zkontrolujte zadaný typ uživatele
EneboX. - Pokud se k migraci uživatelů Systému Windows na uživatele Microsoft Entra používá název, platí následující omezení:
- Je nutné zadat platné PŘIHLÁŠENÍ.
- Název bude vrácený se změnami v tenantovi Microsoft Entra ID a může to být pouze:
- Název PŘIHLÁŠENÍ.
- Alias – název nemůže existovat v ID Microsoft Entra.
- Ve všech ostatních případech syntaxe selže.
Zabezpečení
Note
Uživatel, který má ALTER ANY USER oprávnění, může změnit výchozí schéma libovolného uživatele. Uživatel, který má změněné schéma, může neúmyslně vybrat data z nesprávné tabulky nebo spustit kód z nesprávného schématu.
Permissions
Chcete-li změnit jméno uživatele, vyžaduje ALTER ANY USER oprávnění.
Ke změně cílového přihlášení uživatele se vyžaduje oprávnění CONTROL databáze.
Chcete-li změnit uživatelské jméno uživatele, který má oprávnění CONTROL k databázi, vyžaduje oprávnění CONTROL databáze.
Chcete-li změnit výchozí schéma nebo jazyk, vyžaduje oprávnění ALTER pro uživatele. Uživatelé můžou změnit vlastní výchozí schéma nebo jazyk.
Examples
Všechny příklady se spouští v uživatelské databázi.
A. Změna názvu uživatele databáze
Následující příklad změní název uživatele databáze Mary5 na Mary51.
ALTER USER Mary5 WITH NAME = Mary51;
GO
B. Změna výchozího schématu uživatele
Následující příklad změní výchozí schéma uživatele Mary51 na Purchasing.
ALTER USER Mary51 WITH DEFAULT_SCHEMA = Purchasing;
GO
C. Změna několika možností najednou
Následující příklad změní několik možností pro uživatele databáze s omezením v jednom příkazu. Nahraďte <new strong password here> a <old strong password here> nahraďte vlastními hodnotami.
ALTER USER Philip
WITH NAME = Philipe
, DEFAULT_SCHEMA = Development
, PASSWORD = '<new strong password here>' OLD_PASSWORD = '<old strong password here>'
, DEFAULT_LANGUAGE= French ;
GO
D. Mapování uživatele v databázi na přihlášení Microsoft Entra po migraci
Následující příklad přemapuje uživatele, westus/joe na uživatele Microsoft Entra, joe@westus.com. Tento příklad je určený pro přihlášení, která už ve spravované instanci existují. To je potřeba provést po dokončení migrace databáze do azure SQL Managed Instance a chcete k ověření použít přihlášení Microsoft Entra.
ALTER USER [westus/joe] WITH LOGIN = [joe@westus.com]
E. Mapování starého uživatele Windows v databázi bez přihlášení ve službě Azure SQL Managed Instance na uživatele Microsoft Entra
Následující příklad přemapuje uživatele, westus/joe bez přihlášení, na uživatele Microsoft Entra, joe@westus.com. Federovaný uživatel musí existovat v Microsoft Entra ID.
ALTER USER [westus/joe] FROM EXTERNAL PROVIDER
F. Mapování uživatelského aliasu na existující přihlášení Microsoft Entra
Následující příklad přemapuje uživatelské jméno, westus\joe na joe_alias. Odpovídající přihlášení Microsoft Entra v tomto případě je joe@westus.com.
ALTER USER [westus/joe] WITH LOGIN = [joe@westus.com], name= joe_alias
G. Mapování skupiny Windows migrované ve službě Azure SQL Managed Instance na skupinu Microsoft Entra
Následující příklad přemapuje starou místní skupinu westus\mygroup na skupinu Microsoft Entra mygroup ve spravované instanci. Skupina musí existovat v MICROSOFT Entra ID.
ALTER USER [westus\mygroup] WITH LOGIN = mygroup;
Související obsah
* Azure Synapse
Analýza *
Azure Synapse Analytics
Syntax
-- Syntax for Azure Synapse
ALTER USER user_name
WITH <set_item> [ ,...n ]
<set_item> ::=
NAME = new_user_name
| LOGIN = login_name
| DEFAULT_SCHEMA = schema_name
[;]
Arguments
user_name
Určuje jméno, podle kterého je uživatel identifikován uvnitř této databáze.
LOGIN = login_name
Znovu namapuje uživatele na jiné přihlášení změnou identifikátoru zabezpečení uživatele (SID) tak, aby odpovídal identifikátoru SID přihlášení.
Pokud je příkaz ALTER USER jediným příkazem v dávce SQL, Azure SQL Database podporuje klauzuli WITH LOGIN. Pokud příkaz ALTER USER není jediným příkazem v dávce SQL nebo se provádí v dynamickém SQL, není klauzule WITH LOGIN podporovaná.
NAME = new_user_name
Určuje nový název tohoto uživatele. new_user_name již nesmí v aktuální databázi existovat.
DEFAULT_SCHEMA = { schema_name | NULL }
Určuje první schéma, které bude prohledávat server při překladu názvů objektů pro tohoto uživatele. Nastavení výchozího schématu na hodnotu NULL odebere výchozí schéma ze skupiny Windows. Možnost NULL nelze použít s uživatelem systému Windows.
Remarks
Výchozí schéma bude prvním schématem, které bude server prohledávat při překladu názvů objektů pro tohoto uživatele databáze. Pokud neurčíte jinak, výchozí schéma bude vlastníkem objektů vytvořených tímto uživatelem databáze.
Pokud má uživatel výchozí schéma, použije se toto výchozí schéma. Pokud uživatel nemá výchozí schéma, ale uživatel je členem skupiny, která má výchozí schéma, použije se výchozí schéma skupiny. Pokud uživatel nemá výchozí schéma a je členem více než jedné skupiny, bude výchozím schématem pro uživatele skupina Windows s nejnižšími principal_id a explicitně nastaveným výchozím schématem. Pokud pro uživatele nelze určit žádné výchozí schéma, použije se dbo schéma.
DEFAULT_SCHEMA lze nastavit na schéma, které v databázi aktuálně nedochází. Proto můžete uživateli přiřadit DEFAULT_SCHEMA před vytvořením schématu.
DEFAULT_SCHEMA nelze zadat pro uživatele, který je namapovaný na certifikát nebo asymetrický klíč.
Important
Hodnota DEFAULT_SCHEMA se ignoruje, pokud je uživatel členem správce systému pevné role serveru. Všichni členové pevné role serveru mají výchozí schéma dbo.
Klauzule WITH LOGIN umožňuje přemapování uživatele na jiné přihlášení. Uživatelé bez přihlášení, uživatelé namapovaní na certifikát nebo uživatelé mapovaní na asymetrický klíč se s touto klauzulí nedají znovu namapovat. Přemapovat je možné jenom uživatele SQL a uživatele Windows (nebo skupiny). Klauzule WITH LOGIN se nedá použít ke změně typu uživatele, například ke změně účtu systému Windows na přihlášení k SQL Serveru.
Pokud jsou splněny následující podmínky, jméno uživatele se automaticky přejmenuje na přihlašovací jméno.
Nebyl zadán žádný nový název.
Aktuální název se liší od přihlašovacího jména.
Jinak se uživatel nepřejmenuje, pokud volající navíc nevyvolá klauzuli NAME.
Jméno uživatele namapovaného na přihlašovací jméno SQL Serveru, certifikát nebo asymetrický klíč nemohou obsahovat znak zpětného lomítka (\).
Note
Schémata nejsou ekvivalentní uživatelům databáze. Pomocí zobrazení katalogu systému identifikujte všechny rozdíly mezi uživateli databáze a schématy.
Zabezpečení
Note
Uživatel, který má ALTER ANY USER oprávnění, může změnit výchozí schéma libovolného uživatele. Uživatel, který má změněné schéma, může neúmyslně vybrat data z nesprávné tabulky nebo spustit kód z nesprávného schématu.
Permissions
Chcete-li změnit jméno uživatele, vyžaduje ALTER ANY USER oprávnění.
Ke změně cílového přihlášení uživatele se vyžaduje oprávnění CONTROL databáze.
Chcete-li změnit uživatelské jméno uživatele, který má oprávnění CONTROL k databázi, vyžaduje oprávnění CONTROL databáze.
Chcete-li změnit výchozí schéma nebo jazyk, vyžaduje oprávnění ALTER pro uživatele. Uživatelé můžou změnit vlastní výchozí schéma nebo jazyk.
Examples
Všechny příklady se spouští v uživatelské databázi.
A. Změna názvu uživatele databáze
Následující příklad změní název uživatele databáze Mary5 na Mary51.
ALTER USER Mary5 WITH NAME = Mary51;
GO
B. Změna výchozího schématu uživatele
Následující příklad změní výchozí schéma uživatele Mary51 na Purchasing.
ALTER USER Mary51 WITH DEFAULT_SCHEMA = Purchasing;
GO
Související obsah
-
CREATE USER (Transact-SQL) - DROP USER (Transact-SQL)
- obsahové databáze
- sp_migrate_user_to_contained (Transact-SQL)
Azure Synapse
analýzy
*Analytika
Systém platformy (PDW) *
Systém analytických platforem
Syntax
-- Syntax for Analytics Platform System
ALTER USER user_name
WITH <set_item> [ ,...n ]
<set_item> ::=
NAME = new_user_name
| LOGIN = login_name
| DEFAULT_SCHEMA = schema_name
[;]
Arguments
user_name
Určuje jméno, podle kterého je uživatel identifikován uvnitř této databáze.
LOGIN = login_name
Znovu namapuje uživatele na jiné přihlášení změnou identifikátoru zabezpečení uživatele (SID) tak, aby odpovídal identifikátoru SID přihlášení.
Pokud je příkaz ALTER USER jediným příkazem v dávce SQL, Azure SQL Database podporuje klauzuli WITH LOGIN. Pokud příkaz ALTER USER není jediným příkazem v dávce SQL nebo se provádí v dynamickém SQL, není klauzule WITH LOGIN podporovaná.
NAME = new_user_name
Určuje nový název tohoto uživatele. new_user_name již nesmí v aktuální databázi existovat.
DEFAULT_SCHEMA = { schema_name | NULL }
Určuje první schéma, které bude prohledávat server při překladu názvů objektů pro tohoto uživatele. Nastavení výchozího schématu na hodnotu NULL odebere výchozí schéma ze skupiny Windows. Možnost NULL nelze použít s uživatelem systému Windows.
Remarks
Výchozí schéma bude prvním schématem, které bude server prohledávat při překladu názvů objektů pro tohoto uživatele databáze. Pokud neurčíte jinak, výchozí schéma bude vlastníkem objektů vytvořených tímto uživatelem databáze.
Pokud má uživatel výchozí schéma, použije se toto výchozí schéma. Pokud uživatel nemá výchozí schéma, ale uživatel je členem skupiny, která má výchozí schéma, použije se výchozí schéma skupiny. Pokud uživatel nemá výchozí schéma a je členem více než jedné skupiny, bude výchozím schématem pro uživatele skupina Windows s nejnižšími principal_id a explicitně nastaveným výchozím schématem. Pokud pro uživatele nelze určit žádné výchozí schéma, použije se dbo schéma.
DEFAULT_SCHEMA lze nastavit na schéma, které v databázi aktuálně nedochází. Proto můžete uživateli přiřadit DEFAULT_SCHEMA před vytvořením schématu.
DEFAULT_SCHEMA nelze zadat pro uživatele, který je namapovaný na certifikát nebo asymetrický klíč.
Important
Hodnota DEFAULT_SCHEMA se ignoruje, pokud je uživatel členem správce systému pevné role serveru. Všichni členové pevné role serveru mají výchozí schéma dbo.
Klauzule WITH LOGIN umožňuje přemapování uživatele na jiné přihlášení. Uživatelé bez přihlášení, uživatelé namapovaní na certifikát nebo uživatelé mapovaní na asymetrický klíč se s touto klauzulí nedají znovu namapovat. Přemapovat je možné jenom uživatele SQL a uživatele Windows (nebo skupiny). Klauzule WITH LOGIN se nedá použít ke změně typu uživatele, například ke změně účtu systému Windows na přihlášení k SQL Serveru.
Pokud jsou splněny následující podmínky, jméno uživatele se automaticky přejmenuje na přihlašovací jméno.
Nebyl zadán žádný nový název.
Aktuální název se liší od přihlašovacího jména.
Jinak se uživatel nepřejmenuje, pokud volající navíc nevyvolá klauzuli NAME.
Jméno uživatele namapovaného na přihlašovací jméno SQL Serveru, certifikát nebo asymetrický klíč nemohou obsahovat znak zpětného lomítka (\).
Note
Schémata nejsou ekvivalentní uživatelům databáze. Pomocí zobrazení katalogu systému identifikujte všechny rozdíly mezi uživateli databáze a schématy.
Zabezpečení
Note
Uživatel, který má ALTER ANY USER oprávnění, může změnit výchozí schéma libovolného uživatele. Uživatel, který má změněné schéma, může neúmyslně vybrat data z nesprávné tabulky nebo spustit kód z nesprávného schématu.
Permissions
Chcete-li změnit jméno uživatele, vyžaduje ALTER ANY USER oprávnění.
Ke změně cílového přihlášení uživatele se vyžaduje oprávnění CONTROL databáze.
Chcete-li změnit uživatelské jméno uživatele, který má oprávnění CONTROL k databázi, vyžaduje oprávnění CONTROL databáze.
Chcete-li změnit výchozí schéma nebo jazyk, vyžaduje oprávnění ALTER pro uživatele. Uživatelé můžou změnit vlastní výchozí schéma nebo jazyk.
Examples
Všechny příklady se spouští v uživatelské databázi.
A. Změna názvu uživatele databáze
Následující příklad změní název uživatele databáze Mary5 na Mary51.
ALTER USER Mary5 WITH NAME = Mary51;
GO
B. Změna výchozího schématu uživatele
Následující příklad změní výchozí schéma uživatele Mary51 na Purchasing.
ALTER USER Mary51 WITH DEFAULT_SCHEMA = Purchasing;
GO
Související obsah
-
CREATE USER (Transact-SQL) - DROP USER (Transact-SQL)
- obsahové databáze
- sp_migrate_user_to_contained (Transact-SQL)