sp_droprole (Transact-SQL)
Aplica-se: SQL Server
Remove uma função de banco de dados do banco de dados atual.
Importante
No SQL Server 2005 (9.x), sp_droprole
foi substituída pela instrução DROP ROLE. sp_droprole
está incluído apenas para compatibilidade com versões anteriores do SQL Server e pode não ter suporte em uma versão futura.
Convenções de sintaxe de Transact-SQL
Sintaxe
sp_droprole [ @rolename = ] N'rolename'
[ ; ]
Argumentos
@rolename [ = ] N'nome da função'
O nome da função de banco de dados a ser removida do banco de dados atual. @rolename é sysname, sem padrão. @rolename já deve existir no banco de dados atual.
Valores do código de retorno
0
(sucesso) ou 1
(falha).
Comentários
Somente 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 usuários de uma função, use sp_droprolemember
. Se algum 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 protegíveis. 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 CONTROL
permissão na função.
Exemplos
O exemplo a seguir remove a função de aplicativo Sales
.
EXEC sp_droprole 'Sales';
GO