Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Vonatkozik a következőkre:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analitikai Platform System (PDW)
SQL adatbázis a Microsoft Fabric-ben
Adatbázis-felhasználót, adatbázis-szerepkört, Windows-bejelentkezést vagy Windows-csoportot ad hozzá egy adatbázis-szerepkörhöz az aktuális adatbázisban.
Fontos
Ez a funkció az SQL Server egy későbbi verziójában lesz eltávolítva. Ne használja ezt a funkciót az új fejlesztési munkában, és tervezze meg a funkciót jelenleg használó alkalmazások módosítását. Használj inkább ALTER ROLE-t .
Transact-SQL szintaxis konvenciók
Szemantika
sp_addrolemember
[ @rolename = ] N'rolename'
, [ @membername = ] N'membername'
[ ; ]
Megjegyzés:
Ezt a szintaxist az Azure Synapse Analytics kiszolgáló nélküli SQL-készlete nem támogatja.
Arguments
[ @rolename = ] N'rolename'
Az adatbázis szerepének neve a jelenlegi adatbázisban. @rolenamea sysname, alapértelmezett nélkül.
[ @membername = ] N'membername'
A biztonsági fiók hozzáadása a szerephez. @membernamea sysname, alapértelmezett nélkül. @membername lehet adatbázis-felhasználó, adatbázis-szerep, Windows bejelentkezés vagy Windows csoport.
Kódértékek visszaadása
0 (sikeres) vagy 1 (hiba).
Megjegyzések
Egy tag, amelyet a szerep használatával sp_addrolemember hozzáadnak, örökli a szerep jogosultságát. Ha az új tag Windows-szintű alapvetély, és nincs megfelelő adatbázis-felhasználó, akkor létrejön egy adatbázis-felhasználó, de lehet, hogy nem teljesen leképezik a bejelentkezéshez. Mindig ellenőrizd, hogy a bejelentkezés létezik-e és hozzáfér-e az adatbázishoz.
Egy szerep nem foglalhatja magában magát tagként. Az ilyen körkörös definíciók nem érvényesek, még akkor sem, ha a tagság közvetve egy vagy több köztes tagság által utal.
sp_addrolemember Nem lehet rögzített adatbázis-szerepet, fix szerver szerepet vagy DBO-t hozzáadni egy szerephez.
Csak sp_addrolemember tag hozzáadására használják egy adatbázis szerepbe. Ha egy tagot szerver szerephez hozzáadhatsz, használd a sp_addsrvrolemember.
Permissions
Tagok hozzáadása rugalmas adatbázis-szerepekhez az alábbi jogosultságok egyikét igényli:
Tagság a db_securityadmin vagy db_owner fix adatbázis szerepében.
Tagság abban a szerepben, amely a szerep tulajdonosa.
ALTER ANY ROLEEngedély vagyALTERengedély a szerepre.
Tagok hozzáadásához fix adatbázis szerepekhez tagság szükséges db_owner fix adatbázis szerepében.
Példák
A. Hozzáadj egy Windows bejelentkezést
A következő példa hozzáadja a Windows bejelentkezést Contoso\Mary5 az AdventureWorks2025 adatbázishoz felhasználóként Mary5. Ezután a felhasználó Mary5 hozzáadódik a Production szerepbe.
Mivel Contoso\Mary5 az adatbázisban az adatbázis felhasználójaként Mary5AdventureWorks2025 ismert, a felhasználónevet Mary5 meg kell határozni. A kijelentés nem sikerül, hacsak nincs bejelentkezés Contoso\Mary5 . Teszteld a domainedről való bejelentkezéssel.
USE AdventureWorks2022;
GO
CREATE USER Mary5 FOR LOGIN [Contoso\Mary5];
GO
B. Adatbázis-felhasználó hozzáadása
Az alábbi példa hozzáadja az adatbázis-felhasználót Mary5 az Production aktuális adatbázis adatbázis szerepéhez.
EXECUTE sp_addrolemember 'Production', 'Mary5';
Példák: Elemzési platformrendszer (PDW)
C. Hozzáadj egy Windows bejelentkezést
A következő példa hozzáadja a bejelentkezést LoginMary az AdventureWorks2025 adatbázisba felhasználóként UserMary. Ezután a felhasználó UserMary hozzáadódik a Production szerepbe.
Megjegyzés:
Mivel a bejelentkezést LoginMary az adatbázisban az adatbázis felhasználóként UserMaryAdventureWorks2025 ismerik, a felhasználónevet UserMary meg kell határozni. A kijelentés meghibás, hacsak nincs bejelentkezés Mary5 . A bejelentkezések és a felhasználók általában ugyanazt a nevet viselik. Ez a példa különböző neveket használ, hogy megkülönböztesse a bejelentkezést és a felhasználót érintő műveleteket.
-- Uses AdventureWorks2022
CREATE USER UserMary FOR LOGIN LoginMary;
GO
EXECUTE sp_addrolemember 'Production', 'UserMary';
D. Adatbázis-felhasználó hozzáadása
Az alábbi példa hozzáadja az adatbázis-felhasználót UserMary az Production aktuális adatbázis adatbázis szerepéhez.
EXECUTE sp_addrolemember 'Production', 'UserMary';