sp_addrole (Transact-SQL)

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

Observação importanteImportante

sp_addrole é incluído para compatibilidade com versões anteriores do Microsoft SQL Server e talvez não tenha suporte em uma versão futura. Em vez disso, use CREATE ROLE.

Ícone de vínculo de tópicoConvenções de sintaxe Transact-SQL

Sintaxe

sp_addrole [ @rolename = ] 'role' [ , [ @ownername = ] 'owner' ] 

Argumentos

  • [ @rolename = ] 'role'
    É o nome da nova função de banco de dados. role é sysname, sem nenhum padrão. role deve ser um identificador (ID) válido e ainda não deve existir no banco de dados atual.

  • [ @ownername =] 'owner'
    É o proprietário da nova função de banco de dados. owner é sysname, com um padrão do usuário em execução atual. owner deve ser um usuário de banco de dados ou uma função de banco de dados no banco de dados atual.

Valores de código de retorno

0 (êxito) ou 1 (falha)

Comentários

Os nomes de funções de banco de dados do SQL Server podem ter de 1 a 128 caracteres, incluindo letras, símbolos e números. O nome das funções de banco de dados não podem: conter uma barra invertida (\), ser NULL ou uma cadeia de caracteres vazia ('').

Após adicionar uma função de banco de dados, use sp_addrolemember (Transact-SQL) para adicionar entidades à função. Quando as instruções GRANT, DENY ou REVOKE são usadas para aplicar permissões na função de banco de dados, os membros da função de banco de dados herdam essas permissões como se elas fossem aplicadas diretamente em suas contas.

ObservaçãoObservaçã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 em uma transação definida pelo usuário.

Permissões

Requer a permissão CREATE ROLE no banco de dados. Se estiver criando um esquema, requer CREATE SCHEMA no banco de dados. Se owner for especificado como um usuário ou grupo, requer IMPERSONATE nesse usuário ou grupo. Se owner for especificado como uma função, requer a permissão ALTER nessa função ou em um membro dessa função. Se o proprietário for especificado como uma função de aplicativo, requer a permissão ALTER 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'