sp_addrole (Transact-SQL)
Aplica-se: SQL Server
Cria uma nova função de banco de dados no banco de dados atual.
Importante
sp_addrole
está incluído para compatibilidade com versões anteriores do SQL Server e pode não ter suporte em uma versão futura. Em vez disso, use CREATE ROLE .
Convenções de sintaxe de Transact-SQL
Sintaxe
sp_addrole
[ @rolename = ] N'rolename'
[ , [ @ownername = ] N'ownername' ]
[ ; ]
Argumentos
@rolename [ = ] N'nome da função'
O nome da nova função de banco de dados. @rolename é sysname, sem padrão. @rolename deve ser um identificador válido e ainda não deve existir no banco de dados atual.
@ownername [ = ] N'nomedodono'
O proprietário da nova função de banco de dados. @ownername é sysname, com um padrão do usuário em execução atual. @ownername deve ser um usuário de banco de dados ou uma função de banco de dados no banco de dados atual.
Valores do código de retorno
0
(sucesso) ou 1
(falha).
Comentários
Os nomes das funções de banco de dados do SQL Server podem conter de 1 a 128 caracteres, incluindo letras, símbolos e números. Os nomes das funções de banco de dados não podem conter um caractere de barra invertida (\
), be NULL
ou uma cadeia de caracteres vazia (''
).
Depois de adicionar uma função de banco de dados, use sp_addrolemember para adicionar entidades de segurança à função. Quando GRANT
instruções , DENY
, ou REVOKE
são usadas para aplicar permissões à função de banco de dados, os membros da função de banco de dados herdam essas permissões como se as permissões fossem aplicadas diretamente às suas contas.
Observação
Novas funções de servidor não podem ser criadas. As funções podem ser criadas somente no nível do banco de dados.
sp_addrole
não pode ser usado dentro de uma transação definida pelo usuário.
Permissões
Requer a permissão CREATE ROLE
no banco de dados. Se estiver criando um esquema, será necessário CREATE SCHEMA
no banco de dados. Se @ownername for especificado como um usuário ou grupo, requer IMPERSONATE
nesse usuário ou grupo. Se @ownername for especificado como uma função, exigirá ALTER
permissão nessa função ou em um membro dessa função. Se owner for especificado como uma função de aplicativo, exigirá ALTER
permissão nessa função de aplicativo.
Exemplos
O exemplo a seguir adiciona uma nova função chamada Managers
ao banco de dados atual.
EXEC sp_addrole 'Managers';