sys.sp_addrole (Transact-SQL)

Van toepassing op:SQL Server

Hiermee maakt u een nieuwe databaserol in de huidige database.

Important

sp_addroleis inbegrepen voor compatibiliteit met eerdere versies van SQL Server en wordt mogelijk niet ondersteund in een toekomstige versie. Gebruik in plaats daarvan CREATE ROLE.

Transact-SQL syntaxis-conventies

Syntax

sys.sp_addrole
    [ @rolename = ] N'rolename'
    [ , [ @ownername = ] N'ownername' ]
[ ; ]

Arguments

[ @rolename = ] N'rolnaam'

De naam van de nieuwe databaserol. @rolename is een systeemnaam, zonder standaard. @rolename moet een geldige identificatie zijn en mag nog niet bestaan in de huidige database.

[ @ownername = ] N'eigenaarnaam'

De eigenaar van de nieuwe databaserol. @ownername is sysname, met als standaard de huidige uitvoerende gebruiker. @ownername moet een databasegebruiker of databaserol zijn in de huidige database.

Codewaarden retourneren

0 (geslaagd) of 1 (mislukt).

Remarks

De namen van SQL Server-databaserollen kunnen bestaan uit 1 tot 128 tekens, waaronder letters, symbolen en cijfers. De namen van databaserollen kunnen geen backslash-teken (\), be NULL, of een lege string ('') bevatten.

Nadat je een databaserol hebt toegevoegd, gebruik sp_addrolemember om directeuren aan de rol toe te voegen. Wanneer GRANT, DENY, of REVOKE statements worden gebruikt om rechten toe te passen aan de databaserol, erven leden van de databaserol die rechten alsof de rechten direct op hun accounts zijn toegepast.

Note

Nieuwe serverrollen kunnen niet worden aangemaakt. Rollen kunnen alleen op databaseniveau worden aangemaakt.

sp_addrole Kan niet worden gebruikt binnen een door de gebruiker gedefinieerde transactie.

Permissions

Vereist CREATE ROLE machtiging voor de database. Als je een schema maakt, vereist CREATE SCHEMA het op de database. Als @ownername als gebruiker of groep is gespecificeerd, vereist IMPERSONATE dat op die gebruiker of groep. Als @ownername als rol is gespecificeerd, vereist ALTER het toestemming voor die rol of voor een lid van die rol. Als de eigenaar als applicatierol is gespecificeerd, vereist ALTER dat toestemming voor die applicatierol.

Examples

Het volgende voorbeeld voegt een nieuwe rol toe die wordt aangeroepen Managers aan de huidige database.

EXECUTE sp_addrole 'Managers';