SQL Server角色成員身份和許可權簡介

2022-05-10 17:46:54 字數 3071 閱讀 2571

為便於管理資料庫中的許可權,sql server提供了若干「角色」,這些角色是用於分組其他主體的安全主體。它們類似於 microsoft windows 作業系統中的組。資料庫級角色的許可權作用域為資料庫範圍。sql server 中有兩種型別的資料庫級角色:資料庫中預定義的「固定資料庫角色」和您可以建立的「靈活資料庫角色」。

固定資料庫角色是在資料庫級別定義的,並且存在於每個資料庫中。db_owner 和 db_securityadmin 資料庫角色的成員可以管理固定資料庫角色成員身份。但是,只有 db_owner 資料庫角色的成員能夠向db_owner 固定資料庫角色中新增成員。msdb 資料庫中還有一些特殊用途的固定資料庫角色。您可以向資料庫級角色中新增任何資料庫帳戶和其他sql server 角色。固定資料庫角色的每個成員都可向同乙個角色新增其他登入名。

資料庫級別的角色名稱及說明

db_owner 固定資料庫角色的成員可以執行資料庫的所有配置和維護活動,還可以刪除資料庫。

db_securityadmin 固定資料庫角色的成員可以修改角色成員身份和管理許可權。向此角色中新增主體可能會導致意外的許可權公升級。

db_accessadmin 固定資料庫角色的成員可以為 windows 登入名、windows 組和 sql server 登入名新增或刪除資料庫訪問許可權。

db_backupoperator 固定資料庫角色的成員可以備份資料庫。

db_ddladmin 固定資料庫角色的成員可以在資料庫中執行任何資料定義語言 (ddl) 命令。

db_datawriter 固定資料庫角色的成員可以在所有使用者表中新增、刪除或更改資料。

db_datareader 固定資料庫角色的成員可以從所有使用者表中讀取所有資料。

db_denydatawriter 固定資料庫角色的成員不能新增、修改或刪除資料庫內使用者表中的任何資料。

db_denydatareader 固定資料庫角色的成員不能讀取資料庫內使用者表中的任何資料。

有關資料庫級固定角色許可權的特定資訊,請參閱固定資料庫角色的許可權(資料庫引擎)。

msdb 角色名稱及說明

db_ssisadmin

db_ssisoperator 

db_ssisltduser 

這些資料庫角色的成員可以管理和使用ssis。從早期版本公升級的 sql server 例項可能包含使用 data transformation services (dts)(而不是 ssis)命名的舊版本角色。有關詳細資訊,請參閱使用 integration services 角色。

dc_admin

dc_operator

dc_proxy

這些資料庫角色的成員可以管理和使用資料收集器。有關詳細資訊,請參閱資料收集器的安全性。

policyadministratorrole

db_ policyadministratorrole  資料庫角色的成員可以對基於策略的管理策略和條件執行所有配置和維護活動。有關詳細資訊,請參閱使用基於策略的管理來管理伺服器。

servergroupadministratorrole

servergroupreaderrole

這些資料庫角色的成員可以管理和使用註冊的伺服器組。有關詳細資訊,請參閱建立伺服器組。

db_ssisadmin 角色和 dc_admin 角色的成員也許可以將其許可權提公升到sysadmin。之所以會發生此許可權提公升,是因為這些角色可以修改integration services 包,而 sql server 可以使用sql server **的sysadmin 安全上下文來執行integration services 包。若要防止在執行維護計畫、資料收集組和其他 integration services 包時出現此許可權提公升,請將執行包的 sql server **作業配置為使用擁有有限許可權的**帳戶,或只將 sysadmin 成員新增到 db_ssisadmin 和dc_admin 角色。

使用伺服器級角色

sp_helpdbfixedrole (transact-sql)   →  元資料   →  返回固定資料庫角色的列表。

sp_dbfixedrolepermission (transact-sql)   →  元資料   →  顯示固定資料庫角色的許可權。

sp_helprole (transact-sql)   →  元資料   →  返回當前資料庫中有關角色的資訊。

sp_helprolemember (transact-sql)   →  元資料   →  返回有關當前資料庫中某個角色的成員的資訊。

sys.database_role_members (transact-sql)   →  元資料   →  為每個資料庫角色的每個成員返回一行。

is_member (transact-sql)   →  元資料   →  指示當前使用者是否為指定 microsoft windows 組或 microsoft sql server 資料庫角色的成員。

create role (transact-sql)   →  命令   →  在當前資料庫中建立新的資料庫角色。

alter role (transact-sql)   →  命令   →  更改資料庫角色的名稱。

drop role (transact-sql)    →  命令從資料庫中刪除角色。

sp_addrole (transact-sql)   →  命令   →  在當前資料庫中建立新的資料庫角色。

sp_droprole (transact-sql)   →  命令   →  從當前資料庫中刪除資料庫角色。

sp_addrolemember (transact-sql)   →  命令   →  為當前資料庫中的資料庫角色新增資料庫使用者、資料庫角色、windows 登入名或 windows 組。

sp_droprolemember (transact-sql)   →  命令   →  從當前資料庫的 sql server 角色中刪除安全帳戶。

public 資料庫角色

每個資料庫使用者都屬於public 資料庫角色。如果未向某個使用者授予或拒絕對安全物件的特定許可權時,該使用者將繼承授予該物件的public 角色的許可權。

sql server角色成員身份許可權

為便於管理資料庫中的許可權,sql server 提供了若干 角色 這些角色是用於分組其他主體的安全主體。它們類似於 microsoft windows 作業系統中的組。資料庫級角色的許可權作用域為資料庫範圍。sql server 中有兩種型別的資料庫級角色 資料庫中預定義的 固定資料庫角色 和您可...

SQL Server角色成員身份和許可權簡介

為便於管理資料庫中的許可權,sql server提供了若干 角色 這些角色是用於分組其他主體的安全主體。它們類似於 microsoft windows 作業系統中的組。資料庫級角色的許可權作用域為資料庫範圍。sql server 中有兩種型別的資料庫級角色 資料庫中預定義的 固定資料庫角色 和您可以...

sqlserver 資料庫角色成員身份

db accessadmin 固定資料庫角色的成員可以為 windows 登入名 windows 組和 sql server 登入名新增或刪除資料庫訪問許可權。db backupoperator 固定資料庫角色的成員可以備份該資料庫。db datareader 固定資料庫角色的成員可以從所有使用者表...