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.
platí pro:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
databáze SQL v Microsoft Fabric
Přidá uživatele databáze, roli databáze, přihlášení systému Windows nebo skupinu Windows do databázové role v aktuální databázi.
Důležité
Tato funkce bude odebrána v budoucí verzi SQL Serveru. Nepoužívejte tuto funkci v nové vývojové práci a naplánujte úpravu aplikací, které tuto funkci aktuálně používají. Použijte místo toho ALTER ROLE .
Syntaxe
sp_addrolemember
[ @rolename = ] N'rolename'
, [ @membername = ] N'membername'
[ ; ]
Poznámka:
Tato syntaxe není podporována bezserverovým fondem SQL ve službě Azure Synapse Analytics.
Arguments
[ @rolename = ] N'rolename'
Název role databáze v aktuální databázi. @rolename je sysname, bez výchozího nastavení.
[ @membername = ] N'členské jméno'
Bezpečnostní účet, který je přidáván do role. @membername je sysname bez výchozího nastavení. @membername může být uživatel databáze, databázová role, přihlášení do Windows nebo skupina pro Windows.
Hodnoty návratového kódu
0 (úspěch) nebo 1 (selhání).
Poznámky
Člen přidaný do role pomocí sp_addrolemember dědí oprávnění této role. Pokud je nový člen principal na úrovni Windows bez odpovídajícího uživatele databáze, uživatel databáze je vytvořen, ale nemusí být plně přiřazen k přihlašovacímu údajům. Vždy zkontrolujte, že přihlášení existuje a má přístup k databázi.
Role se nemůže sama zařadit do role člena. Takové kruhové definice nejsou platné, ani když je členství nepřímo implikováno jedním nebo více mezilehlými členstvími.
sp_addrolemember Nelze přidat pevnou databázovou roli, pevnou serverovou roli nebo DBO k roli.
Používám sp_addrolemember jen k přidání člena do databázové role. Pro přidání člena do role serveru použijte sp_addsrvrolemember.
Povolení
Přidání členů do flexibilních databázových rolí vyžaduje jedno z následujících oprávnění:
Členství v db_securityadmin nebo db_owner pevné databázové roli.
Členství v roli, která tuto roli vlastní.
ALTER ANY ROLEPovolení neboALTERpovolení k roli.
Přidání členů do pevných databázových rolí vyžaduje členství v db_owner pevné databázové roli.
Examples
A. Přidejte přihlášení do Windows
Následující příklad přidává přihlášení Contoso\Mary5 do Windows do databáze AdventureWorks2025 jako uživatel Mary5. Uživatel Mary5 je pak přidán do Production role.
Protože Contoso\Mary5 je v databázi Mary5 označován jako uživatel AdventureWorks2025 databáze, musí být uvedeno uživatelské jménoMary5. Příkaz selže, pokud Contoso\Mary5 neexistuje přihlášení. Testujte to pomocí přihlášení z vaší domény.
USE AdventureWorks2022;
GO
CREATE USER Mary5 FOR LOGIN [Contoso\Mary5];
GO
B. Přidejte uživatele databáze
Následující příklad přidává uživatele Mary5 databáze do role databáze Production v aktuální databázi.
EXECUTE sp_addrolemember 'Production', 'Mary5';
Příklady: Systém analytických platforem (PDW)
C. Přidejte přihlášení do Windows
Následující příklad přidává přihlášení LoginMary do databáze AdventureWorks2025 jako uživatel UserMary. Uživatel UserMary je pak přidán do Production role.
Poznámka:
Protože je přihlášení LoginMary v databázi UserMary označováno jako uživatel AdventureWorks2025 databáze, musí být uvedeno uživatelské jménoUserMary. Příkaz selže, pokud Mary5 neexistuje přihlášení. Přihlášení a uživatelé obvykle mají stejné jméno. Tento příklad používá různé názvy k rozlišení akcí ovlivňujících přihlášení a uživatele.
-- Uses AdventureWorks2022
CREATE USER UserMary FOR LOGIN LoginMary;
GO
EXECUTE sp_addrolemember 'Production', 'UserMary';
D. Přidejte uživatele databáze
Následující příklad přidává uživatele UserMary databáze do role databáze Production v aktuální databázi.
EXECUTE sp_addrolemember 'Production', 'UserMary';