sp_droprole (Transact-SQL)
從目前資料庫移除資料庫角色。
重要事項 |
---|
在 SQL Server 2005 中,sp_droprole 已經被 DROP ROLE 陳述式所取代。併入 sp_droprole 的目的,只是為了與舊版 SQL Server 相容,未來的版本不一定會支援。 |
適用於:SQL Server (SQL Server 2008 至目前版本)。 |
語法
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