Dela via


SKAPA ROLL (Transact-SQL)

gäller för:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)SQL-analysslutpunkt i Microsoft FabricWarehouse i Microsoft FabricSQL-databas i Microsoft Fabric

Skapar en ny databasroll i den aktuella databasen.

Transact-SQL syntaxkonventioner

Syntax

CREATE ROLE role_name [ AUTHORIZATION owner_name ]  

Argumentpunkter

role_name
Är namnet på den roll som ska skapas.

AUKTORISERING owner_name
Är databasanvändaren eller rollen som ska äga den nya rollen. Om ingen användare anges ägs rollen av den användare som kör CREATE ROLE. Rollens ägare eller någon medlem i en ägande roll kan lägga till eller ta bort medlemmar i rollen.

Anmärkningar

Roller är skyddsbara på databasnivå. När du har skapat en roll konfigurerar du behörigheterna på databasnivå för rollen med hjälp av GRANT, DENY och REVOKE. Om du vill lägga till medlemmar i en databasroll använder du ALTER ROLE (Transact-SQL). Mer information finns i Roller på databasnivå.

Databasroller visas i sys.database_role_members- och sys.database_principals katalogvyer.

Information om hur du utformar ett behörighetssystem finns i Komma igång med behörigheter för databasmotorn.

Anmärkning

Scheman motsvarar inte databasanvändare. Använd systemkatalogvyer för att identifiera eventuella skillnader mellan databasanvändare och scheman.

Behörigheter

Kräver behörigheten SKAPA ROLL för databasen eller medlemskapet i db_securityadmin fast databasroll. När du använder alternativet AUKTORISERING krävs även följande behörigheter:

  • Om du vill tilldela ägarskap för en roll till en annan användare, kräver IMPERSONATE-behörighet för den användaren.

  • Om du vill tilldela ägarskap för en roll till en annan roll kräver medlemskap i mottagarrollen eller ALTER-behörighet för den rollen.

  • Om du vill tilldela ägarskap för en roll till en programroll kräver alter-behörighet för programrollen.

Exempel

Följande exempel använder alla AdventureWorks-databasen.

A. Skapa en databasroll som ägs av en databasanvändare

I följande exempel skapas databasrollen buyers som ägs av användaren BenMiller.

CREATE ROLE buyers AUTHORIZATION BenMiller;  
GO  

B. Skapa en databasroll som ägs av en fast databasroll

I följande exempel skapas den databasroll auditors som ägs av den fasta databasrollen db_securityadmin .

CREATE ROLE auditors AUTHORIZATION db_securityadmin;  
GO  

Se även

huvudnamn (databasmotor)
ÄNDRA ROLL (Transact-SQL)
SLÄPP ROLL (Transact-SQL)
HÄNDELSEDATA (Transact-SQL)
sp_addrolemember (Transact-SQL)
sys.database_role_members (Transact-SQL)
sys.database_principals (Transact-SQL)
Komma igång med behörigheter för databasmotorn