Sql-Server

對所有表授予 SELECT、UPDATE、DELETE、ALTER 的權限

  • September 13, 2022

在 SQL Server 2019 中,我創建了一個使用者定義的數據庫角色MyDbRole

現在我想為MyDbRole數據庫中的所有表授予以下權限。

CREATE, SELECT, UPDATE, DELETE, ALTER

問題:完成此任務需要什麼最小權限。如果我要請求 DBA 給我一個權限,以便我可以授予以下MyDbRole權限,我應該向 dba 請求什麼權限。我猜,它與WITH GRANT OPTION,但我不太確定我需要什麼許可?

更新:請注意,我們不允許使用內置數據庫角色,例如 db_datawriter、db_ddladmin,因為這些角色會給使用者提供比所需更多的權限)。參考

如果您不需要這些權限,則只MyDbRole需要它們 - 您的 DBA 可以通過執行以下程式碼直接授予此角色權限,而無需您充當中間人:

use [YourDBName]

GRANT CREATE TABLE TO [MyDbRole]   
GRANT ALTER TO [MyDbRole]   
GRANT SELECT TO [MyDbRole]      
GRANT UPDATE TO [MyDbRole]   
GRANT DELETE TO [MyDbRole] 

如果您也需要這些權限,您的 DBA 可以使用授權選項將其授予您,因此您可以向您的角色授予權限:

use [YourDBName]

GRANT CREATE TABLE TO [YourLogin] with grant option 
GRANT ALTER TO [YourLogin] with grant option   
GRANT SELECT TO [YourLogin] with grant option      
GRANT UPDATE TO [YourLogin] with grant option   
GRANT DELETE TO [YourLogin] with grant option 

引用自:https://dba.stackexchange.com/questions/316811