CREATE ROLE (Transact-SQL)

Van toepassing op:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)SQL Analytics-eindpunt in Microsoft FabricMagazijn in Microsoft FabricSQL-database in Microsoft Fabric

Hiermee maakt u een nieuwe databaserol in de huidige database.

Transact-SQL syntaxis-conventies

Syntax

CREATE ROLE role_name [ AUTHORIZATION owner_name ]  

Arguments

role_name
Is de naam van de rol die moet worden gemaakt.

AUTHORIZATION owner_name
Is de databasegebruiker of -rol die eigenaar is van de nieuwe rol. Als er geen gebruiker is gespecificeerd, zal de rol eigendom zijn van de gebruiker die uitvoert CREATE ROLE. De eigenaar van de rol of een lid van een rol die eigenaar is, kan leden van de rol toevoegen of verwijderen.

Remarks

Rollen zijn beveiligbaar op databaseniveau. Nadat je een rol hebt aangemaakt, configureer je de database-niveau rechten van de rol door gebruik te maken van GRANT, DENY, en REVOKE. Om leden toe te voegen aan een databaserol, gebruik ALTER ROLE (Transact-SQL). Zie Rollen op databaseniveau voor meer informatie.

Databaserollen zijn zichtbaar in de sys.database_role_members- en sys.database_principals catalogusweergaven.

Zie Aan de slag met database-enginemachtigingenvoor informatie over het ontwerpen van een machtigingssysteem.

Note

Schema's zijn niet gelijk aan databasegebruikers. Gebruik systeemcatalogusweergaven om eventuele verschillen tussen databasegebruikers en schema's te identificeren.

Permissions

Vereist CREATE ROLE toestemming voor de database of lidmaatschap van de db_securityadmin vaste databaserol. Wanneer je de AUTHORIZATION optie gebruikt, zijn ook de volgende rechten vereist:

  • Als u het eigendom van een rol aan een andere gebruiker wilt toewijzen, moet u de machtiging IMITATE voor die gebruiker hebben.

  • Als u het eigendom van een rol aan een andere rol wilt toewijzen, moet u lid zijn van de rol van de ontvanger of alter-machtiging voor die rol.

  • Als u het eigendom van een rol wilt toewijzen aan een toepassingsrol, moet u alter-machtigingen voor de toepassingsrol hebben.

Examples

In de volgende voorbeelden wordt de AdventureWorks-database gebruikt.

A. Een databaserol maken die eigendom is van een databasegebruiker

In het volgende voorbeeld wordt de databaserol buyers gemaakt die eigendom is van de gebruiker BenMiller.

CREATE ROLE buyers AUTHORIZATION BenMiller;  
GO  

B. Een databaserol maken die eigendom is van een vaste databaserol

In het volgende voorbeeld wordt de databaserol auditors gemaakt die eigendom is van de db_securityadmin vaste databaserol.

CREATE ROLE auditors AUTHORIZATION db_securityadmin;  
GO  

Zie ook

Principals (database-engine)
ALTER ROLE (Transact-SQL)
DROP ROLE (Transact-SQL)
EVENTDATA (Transact-SQL)
sp_addrolemember (Transact-SQL)
sys.database_role_members (Transact-SQL)
sys.database_principals (Transact-SQL)
Aan de slag met database-enginemachtigingen