共用方式為


sp_droprole (Transact-SQL)

從目前資料庫移除資料庫角色。

重要事項重要事項

在 SQL Server 2005 中,sp_droprole 已經被 DROP ROLE 陳述式所取代。併入 sp_droprole 的目的,只是為了與舊版 SQL Server 相容,未來的版本不一定會支援。

適用於:SQL Server (SQL Server 2008 至目前版本)。

主題連結圖示 Transact-SQL 語法慣例

語法

sp_droprole [ @rolename= ] 'role'

引數

  • [ @rolename = ] 'role'
    這是要從目前資料庫移除的資料庫角色名稱。 role 是 sysname,沒有預設值。 role 必須存在於目前資料庫中。

傳回碼值

0 (成功) 或 1 (失敗)

備註

只有資料庫角色可以利用 sp_droprole 移除。

無法移除含現有成員的資料庫角色。 資料庫角色的所有成員,都必須在移除資料庫角色之前移除。 若要從角色移除使用者,請使用 sp_droprolemember。 如果有任何使用者仍為角色的成員,sp_droprole 便會顯示那些成員。

固定角色和 public 角色不能移除。

如果角色擁有任何安全性實體,就不能移除。 在卸除擁有安全性實體的應用程式角色之前,必須先傳送安全性實體的擁有權,或卸除它們。 請使用 ALTER AUTHORIZATION 來變更不能移除之物件的擁有者。

sp_droprole 無法在使用者自訂交易內執行。

權限

需要角色的 CONTROL 權限。

範例

下列範例會移除應用程式角色 Sales。

EXEC sp_droprole 'Sales';
GO

請參閱

參考

安全性預存程序 (Transact-SQL)

sp_addrole (Transact-SQL)

DROP ROLE (Transact-SQL)

ALTER AUTHORIZATION (Transact-SQL)

sp_dropapprole (Transact-SQL)

系統預存程序 (Transact-SQL)