Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
gäller för:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
SQL-databas i Microsoft Fabric
Lägger till en databasanvändare, databasroll, Windows-inloggning eller Windows-grupp till en databasroll i den aktuella databasen.
Viktigt!
Den här funktionen tas bort i en framtida version av SQL Server. Undvik att använda den här funktionen i nytt utvecklingsarbete och planera att ändra program som för närvarande använder den här funktionen. Använd istället ALTER ROLE .
Transact-SQL syntaxkonventioner
Syntax
sp_addrolemember
[ @rolename = ] N'rolename'
, [ @membername = ] N'membername'
[ ; ]
Anmärkning
Den här syntaxen stöds inte av en serverlös SQL-pool i Azure Synapse Analytics.
Arguments
[ @rolename = ] N'rollnamn'
Namnet på databasrollen i den aktuella databasen. @rolename är sysname, utan standard.
[ @membername = ] N'medlemnamn'
Säkerhetskontot läggs till i rollen. @membername är sysname, utan standard. @membername kan vara en databasanvändare, databasroll, Windows-inloggning eller Windows-grupp.
Returnera kodvärden
0 (lyckades) eller 1 (fel).
Anmärkningar
En medlem som läggs till i en roll genom att använda sp_addrolemember ärver behörigheterna för rollen. Om den nya medlemmen är en Windows-nivåchef utan motsvarande databasanvändare skapas en databasanvändare, men den kanske inte är helt kopplad till inloggningen. Kontrollera alltid att inloggningen finns och att den har tillgång till databasen.
En roll kan inte inkludera sig själv som medlem. Sådana cirkulära definitioner är inte gälla, även när medlemskap indirekt antydes av en eller flera mellanliggande medlemskap.
sp_addrolemember Man kan inte lägga till en fast databasroll, fast serverroll eller databas till en roll.
Använder sp_addrolemember det bara för att lägga till en medlem i en databasroll. För att lägga till en medlem i en serverroll, använd sp_addsrvrolemember.
Permissions
Att lägga till medlemmar i flexibla databasroller kräver en av följande behörigheter:
Medlemskap i db_securityadmin eller db_owner fast databasroll.
Medlemskap i den roll som äger rollen.
ALTER ANY ROLETillstånd ellerALTERtillstånd för rollen.
Att lägga till medlemmar i fasta databasroller kräver medlemskap i den db_owner fasta databasrollen.
Examples
A. Lägg till en Windows-inloggning
Följande exempel lägger till Windows-inloggningen Contoso\Mary5 i databasen AdventureWorks2025 som användare Mary5. Användaren Mary5 läggs sedan till i rollen Production .
Eftersom Contoso\Mary5 är känd som databasanvändaren Mary5 i databasen AdventureWorks2025 måste användarnamnet Mary5 anges. Uttalandet misslyckas om det inte finns en Contoso\Mary5 inloggning. Testa genom att logga in från din domän.
USE AdventureWorks2022;
GO
CREATE USER Mary5 FOR LOGIN [Contoso\Mary5];
GO
B. Lägg till en databasanvändare
Följande exempel lägger till databasanvändaren Mary5 i Production databasrollen i den aktuella databasen.
EXECUTE sp_addrolemember 'Production', 'Mary5';
Exempel: Analysplattformssystem (PDW)
C. Lägg till en Windows-inloggning
Följande exempel lägger till inloggningen LoginMary till databasen AdventureWorks2025 som användare UserMary. Användaren UserMary läggs sedan till i rollen Production .
Anmärkning
Eftersom inloggningen LoginMary kallas databasanvändaren UserMary i databasen AdventureWorks2025 måste användarnamnet UserMary anges. Utdraget kommer att misslyckas om det inte finns en Mary5 inloggning. Inloggningar och användare har vanligtvis samma namn. Detta exempel använder olika namn för att skilja på handlingarna som påverkar inloggningen jämfört med användaren.
-- Uses AdventureWorks2022
CREATE USER UserMary FOR LOGIN LoginMary;
GO
EXECUTE sp_addrolemember 'Production', 'UserMary';
D. Lägg till en databasanvändare
Följande exempel lägger till databasanvändaren UserMary i Production databasrollen i den aktuella databasen.
EXECUTE sp_addrolemember 'Production', 'UserMary';