刪除用戶定義的數據庫角色注意事項
無法從數據庫刪除擁有安全對象的角色。 若要刪除擁有安全對象的數據庫角色,必須首先轉移這些安全對象的所有權,或從數據庫刪除它們。
無法從數據庫刪除擁有成員的角色。 若要刪除擁有成員的角色,必須首先刪除角色的成員。
若要刪除數據庫角色中的成員,請使用 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腳本刪除角色需要刷新數據庫角色文件夾才能查看刪除結果。