Compartilhar via


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 é incluído apenas para compatibilidade com versões anteriores do SQL Server e talvez não tenha suporte em uma versão futura.

Ícone de vínculo de tópico Convenções da sintaxe Transact-SQL

Sintaxe

sp_droprole [ @rolename= ] 'role'

Argumentos

  • [ @rolename = ] 'role'
    É o nome da função de banco de dados a ser removida do banco de dados atual. role é sysname, sem 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 itens protegíveis, é necessário transferir a propriedade dos itens 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

Consulte também

Referência

Procedimentos armazenados de segurança (Transact-SQL)

sp_addrole (Transact-SQL)

DROP ROLE (Transact-SQL)

ALTER AUTHORIZATION (Transact-SQL)

sp_dropapprole (Transact-SQL)

Procedimentos armazenados do sistema (Transact-SQL)