Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a: 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ído pela declaraçãoDROP ROLE.
sp_droproleestá incluído apenas para compatibilidade com versões anteriores do SQL Server e pode não ser suportado numa versão futura.
Transact-SQL convenções de sintaxe
Syntax
sys.sp_droprole [ @rolename = ] N'rolename'
[ ; ]
Arguments
@rolename [ = ] N'rolename'
O nome do papel da base de dados a remover da base de dados atual. @rolename é sysname, sem padrão. @rolename já deve existir na base de dados atual.
Valores de código de retorno
0 (sucesso) ou 1 (fracasso).
Remarks
Apenas os papéis de base de dados podem ser removidos usando sp_droprole.
Um papel numa base de dados com membros existentes não pode ser removido. Todos os membros de um papel de base de dados devem ser removidos antes que o papel de base de dados possa ser removido. Para remover utilizadores de uma função, use sp_droprolemember. Se algum utilizador ainda for membro da função, sp_droprole exiba esses membros.
Papéis fixos e o papel público não podem ser removidos.
Uma função não pode ser removida se detiver algum valor garantido. Antes de abandonar uma função de aplicativo que possui protegíveis, você deve primeiro transferir a propriedade dos protegíveis ou descartá-los. Use ALTER AUTHORIZATION para mudar o proprietário dos objetos que não podem ser removidos.
sp_droprole não pode ser executado dentro de uma transação definida pelo usuário.
Permissions
Requer CONTROL permissão para o cargo.
Exemplos
O exemplo seguinte remove o papel Salesde aplicação .
EXECUTE sp_droprole 'Sales';
GO