sys.sp_droprole (Transact-SQL)

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