CREATE ROLE (Transact-SQL)

Gäller för:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalysplattformssystem (PDW)SQL-analysslutpunkt i Microsoft FabricLager 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 ]  

Arguments

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

AUTHORIZATION 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 exekverar CREATE ROLE. Rollens ägare eller någon medlem i en ägande roll kan lägga till eller ta bort medlemmar i rollen.

Remarks

Roller är skyddsbara på databasnivå. Efter att du skapat en roll, konfigurera databasnivåbehörigheterna för rollen genom att använda GRANT, DENY, och REVOKE. För att lägga till medlemmar i en databasroll, använd 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.

Note

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

Permissions

Kräver CREATE ROLE behörighet i databasen eller medlemskap i den db_securityadmin fasta databasrollen. När du använder AUTHORIZATION alternativet 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.

Examples

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)
ALTER ROLE (Transact-SQL)
DROP ROLE (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