SQLServer之刪除使用者定義的資料庫角色
阿新 • • 發佈:2019-01-05
刪除使用者定義的資料庫角色注意事項
無法從資料庫刪除擁有安全物件的角色。 若要刪除擁有安全物件的資料庫角色,必須首先轉移這些安全物件的所有權,或從資料庫刪除它們。
無法從資料庫刪除擁有成員的角色。 若要刪除擁有成員的角色,必須首先刪除角色的成員。
若要刪除資料庫角色中的成員,請使用 ALTER ROLE (Transact-SQL)。
不能使用 DROP ROLE 刪除固定資料庫角色。
在 sys.database_role_members 目錄檢視中可以檢視有關角色成員身份的資訊。
若要刪除伺服器角色,請使用DROP SERVER ROLE (Transact-SQL)。
要求對資料庫具有 ALTER ANY ROLE 許可權、對角色具有 CONTROL 許可權或具有 db_securityadmin 中的成員身份。
使用SSMS資料庫管理工具刪除使用者定義的資料庫角色
1、連線伺服器-》在物件資源管理器視窗,展開資料庫-》選擇資料庫並展開-》展開安全性-》展開角色-》展開資料庫角色-》選擇要刪除的資料庫角色-》右鍵點選-》選擇刪除。
2、在刪除物件彈出框-》點選確定。
3、不需要重新整理即可在物件資源管理器視窗看到刪除結果。
使用T-SQL指令碼刪除使用者定義的資料庫角色
語法
--宣告資料庫引用 use database_name; go --建立用新的資料庫角色之前判斷角色是否已存在,如果已存在則刪除。 if exists(select * from sys.database_principals where name=role_name) drop role role_name; go
語法註釋
--語法註釋
--database_name
--引用資料庫名稱
--role_name
--指定要從資料庫刪除的角色。
示例
--宣告資料庫引用
use [testss];
go
--建立用新的資料庫角色之前判斷角色是否已存在,如果已存在則刪除。
if exists(select * from sys.database_principals where name='testrole')
drop role testrole;
go
示例結果:使用T-SQL指令碼刪除角色需要重新整理資料庫角色資料夾才能檢視刪除結果。