1. 程式人生 > >SQLServer之刪除使用者定義的資料庫角色

SQLServer之刪除使用者定義的資料庫角色

刪除使用者定義的資料庫角色注意事項

無法從資料庫刪除擁有安全物件的角色。 若要刪除擁有安全物件的資料庫角色,必須首先轉移這些安全物件的所有權,或從資料庫刪除它們。 

無法從資料庫刪除擁有成員的角色。 若要刪除擁有成員的角色,必須首先刪除角色的成員。

若要刪除資料庫角色中的成員,請使用 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指令碼刪除角色需要重新整理資料庫角色資料夾才能檢視刪除結果。