sys.sp_addrole (Transact-SQL)

Aplica-se a: SQL Server

Cria uma nova função de banco de dados no banco de dados atual.

Importante

sp_addroleestá incluído para compatibilidade com versões anteriores do SQL Server e pode não ser suportado numa versão futura. Utilize CREATE ROLE em substituição.

Transact-SQL convenções de sintaxe

Syntax

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

Arguments

[ @rolename = ] N'nome do papel'

O nome do novo papel na base de dados. @rolename é sysname, sem padrão. @rolename deve ser um identificador válido e não deve já existir na base de dados atual.

[ @ownername = ] N'nome do proprietário'

O proprietário do novo papel na base de dados. @ownername é sysname, com o padrão do utilizador que está a executar. @ownername deve ser um utilizador ou função de base de dados na base de dados atual.

Valores de código de retorno

0 (sucesso) ou 1 (fracasso).

Remarks

Os nomes dos papéis das bases de dados do SQL Server podem conter de 1 a 128 caracteres, incluindo letras, símbolos e números. Os nomes dos papéis da base de dados não podem conter um carácter de barra inversa (\), be NULL, ou uma cadeia vazia ('').

Depois de adicionares um papel na base de dados, usa sp_addrolemember para adicionar os principais à função. Quando GRANT, DENY, ou REVOKE instruções são usadas para aplicar permissões ao papel de base de dados, os membros do papel de base de dados herdam essas permissões como se fossem aplicadas diretamente às suas contas.

Note

Novos papéis de servidor não podem ser criados. Os papéis só podem ser criados ao nível da base de dados.

sp_addrole Não pode ser usado dentro de uma transação definida pelo utilizador.

Permissions

Requer permissão CREATE ROLE no banco de dados. Se criar um esquema, é necessário CREATE SCHEMA para a base de dados. Se @ownername for especificado como utilizador ou grupo, exige IMPERSONATE para esse utilizador ou grupo. Se @ownername for especificado como função, requer ALTER permissão para essa função ou para um membro dessa função. Se o proprietário for especificado como função de candidatura, requer ALTER permissão para essa função de candidatura.

Examples

O exemplo seguinte adiciona um novo papel chamado Managers à base de dados atual.

EXECUTE sp_addrole 'Managers';