sp_droprole (Transact-SQL)

Remove uma função de banco de dados do banco de dados atual.

Observação importanteImportante

No SQL Server 2005, sp_droprole foi substituído pela instrução DROP ROLE. sp_droprole foi incluído somente para compatibilidade com versões anteriores do SQL Server e talvez não tenha suporte em uma futura versão.

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

Sintaxe

sp_droprole [ @rolename= ] 'role'

Argumentos

  • [ @rolename = ] 'role'
    É o nome da função de banco de dados a ser removido do banco de dados atual. role é um sysname, sem nenhum padrão. role já deve existir no banco de dados atual.

Valores de código de retorno

0 (êxito) ou 1 (falha)

Comentários

Apenas funções de banco de dados podem ser removidas usando sp_droprole.

Uma função de banco de dados com membros existentes não pode ser removida. Todos os membros de uma função de banco de dados devem ser removidos antes que ela possa ser removida. Para remover os usuários de uma função, use sp_droprolemember. Se qualquer usuário ainda for membro da função, sp_droprole exibirá esses membros.

As funções fixas e a função pública não podem ser removidas.

Uma função não poderá ser removida se possuir qualquer protegível. Antes de descartar uma função de aplicativo que possui protegíveis, é necessário transferir a propriedade dos protegíveis primeiro ou descartá-los. Use ALTER AUTHORIZATION para alterar o proprietário de objetos que não devem ser removidos.

sp_droprole não pode ser executado em uma transação definida pelo usuário.

Permissões

Requer a permissão CONTROL na função.

Exemplos

O exemplo a seguir remove a função de aplicativo Sales.

EXEC sp_droprole 'Sales';
GO