Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform Systeem (PDW)
SQL-database in Microsoft Fabric
Voegt een databasegebruiker, databaserol, Windows-aanmelding of Windows-groep toe aan een databaserol in de huidige database.
Belangrijk
Deze functie wordt verwijderd in een toekomstige versie van SQL Server. Vermijd het gebruik van deze functie in nieuwe ontwikkelwerkzaamheden en plan om toepassingen te wijzigen die momenteel gebruikmaken van deze functie. Gebruik in plaats daarvan ALTER ROLE .
Transact-SQL syntaxis-conventies
Syntaxis
sp_addrolemember
[ @rolename = ] N'rolename'
, [ @membername = ] N'membername'
[ ; ]
Opmerking
Deze syntaxis wordt niet ondersteund door een serverloze SQL-pool in Azure Synapse Analytics.
Arguments
[ @rolename = ] N'rolnaam'
De naam van de databaserol in de huidige database. @rolename is een systeemnaam, zonder standaard.
[ @membername = ] Naamnaam'
Het beveiligingsaccount wordt toegevoegd aan de rol. @membername is een systeemnaam, zonder standaard. @membername kan een databasegebruiker, databaserol, Windows-login of Windows-groep zijn.
Codewaarden retourneren
0 (geslaagd) of 1 (mislukt).
Opmerkingen
Een lid dat aan een rol wordt toegevoegd door gebruik te maken sp_addrolemember , erft de rechten van de rol. Als het nieuwe lid een Windows-niveau principal is zonder een bijbehorende databasegebruiker, wordt er een databasegebruiker aangemaakt, maar deze is mogelijk niet volledig gekoppeld aan de login. Controleer altijd of de login bestaat en toegang heeft tot de database.
Een rol kan zichzelf niet als lid bevatten. Dergelijke circulaire definities zijn niet geldig, zelfs niet wanneer lidmaatschap indirect wordt geïmpliceerd door een of meer tussenliggende lidmaatschappen.
sp_addrolemember Je kunt geen vaste databaserol, vaste serverrol of DBO aan een rol toevoegen.
Gebruik alleen sp_addrolemember om een lid toe te voegen aan een databaserol. Om een lid toe te voegen aan een serverrol, gebruik sp_addsrvrolemember.
Permissions
Het toevoegen van leden aan flexibele databaserollen vereist een van de volgende rechten:
Lidmaatschap van de db_securityadmin of db_owner vaste databaserol.
Lidmaatschap in de rol die de rol bezit.
ALTER ANY ROLEToestemming ofALTERtoestemming voor de rol.
Het toevoegen van leden aan vaste databaserollen vereist lidmaatschap van de db_owner vaste databaserol.
Voorbeelden
Eén. Voeg een Windows-login toe
Het volgende voorbeeld voegt de Windows-login Contoso\Mary5 toe aan de AdventureWorks2025 database als gebruiker Mary5. De gebruiker Mary5 wordt vervolgens aan de Production rol toegevoegd.
Omdat Contoso\Mary5 bekend staat als de databasegebruiker Mary5 in de AdventureWorks2025 database, moet de gebruikersnaam Mary5 worden opgegeven. De verklaring faalt tenzij er een Contoso\Mary5 login bestaat. Test door in te loggen vanuit je domein.
USE AdventureWorks2022;
GO
CREATE USER Mary5 FOR LOGIN [Contoso\Mary5];
GO
B. Voeg een databasegebruiker toe
Het volgende voorbeeld voegt de databasegebruiker Mary5 toe aan de Production databaserol in de huidige database.
EXECUTE sp_addrolemember 'Production', 'Mary5';
Voorbeelden: Analytics Platform System (PDW)
C. Voeg een Windows-login toe
Het volgende voorbeeld voegt de login LoginMary toe aan de AdventureWorks2025 database als gebruiker UserMary. De gebruiker UserMary wordt vervolgens aan de Production rol toegevoegd.
Opmerking
Omdat de login LoginMary in de UserMary database bekend staat als de databasegebruikerAdventureWorks2025, moet de gebruikersnaam UserMary worden opgegeven. De verklaring zal falen tenzij er een Mary5 login bestaat. Inloggegevens en gebruikers hebben meestal dezelfde naam. Dit voorbeeld gebruikt verschillende namen om de acties die de login beïnvloeden te onderscheiden van die van de gebruiker.
-- Uses AdventureWorks2022
CREATE USER UserMary FOR LOGIN LoginMary;
GO
EXECUTE sp_addrolemember 'Production', 'UserMary';
D. Voeg een databasegebruiker toe
Het volgende voorbeeld voegt de databasegebruiker UserMary toe aan de Production databaserol in de huidige database.
EXECUTE sp_addrolemember 'Production', 'UserMary';