本文提供了RDS SQL Server各類帳號的許可權列表,以便您瞭解不同帳號類型的許可權範圍。您可以按需調整普通帳號和高許可權帳號的許可權。超級許可權帳號擁有所有資料庫的所有許可權,不涉及許可權修改操作。
帳號許可權列表
出於安全考慮,RDS未開放所有許可權。針對此問題,阿里雲利用預存程序對部分未開放許可權做了封裝,您可通過預存程序執行部分受限的操作。更多資訊,請參見預存程序。
RDS控制台支援使用者授予SQL Server資料庫庫層級的許可權,如需授予資料庫內特定對象(如表)更精細的許可權,您可以通過SQL Server中的標準SQL語句實現,詳情請參見微軟官方教程-授予對象許可權。
超級許可權帳號
-
授權對象:所有資料庫
-
權限類別型:超級許可權帳號擁有SQL Server執行個體上的所有許可權。更多詳情,請參見微軟官方教程-資料庫許可權。
普通帳號/高許可權帳號
授權對象:使用者資料庫
|
權限類別型 |
角色 |
許可權 |
|
所有者 |
|
|
|
唯讀 |
|
|
|
讀寫(DML) |
|
|
全域唯讀帳號
-
授權對象:執行個體內全部使用者資料庫。
-
權限類別型:唯讀,對建立資料庫自動生效。
修改帳號許可權
訪問RDS執行個體列表,在上方選擇地區,然後單擊目標執行個體ID。
-
在左側導覽列中選擇帳號管理。
-
找到要修改許可權的帳號,單擊修改許可權。
-
在修改帳號許可權頁面,變更帳號使用權限設定:
-
修改授權的資料庫:選中需要授權的資料庫,單擊
或
進行許可權配置。 -
修改帳號使用權限設定:在已授權資料庫區塊,將使用權限設定為:
-
唯讀:賦予許可權對應SQL Server中的
db_datareader資料庫角色。 -
讀寫(DML):賦予許可權對應SQL Server中的
db_datawriter和db_datareader資料庫角色。 -
所有者:賦予許可權對應SQL Server中的
db_owner資料庫角色。
有關資料庫層級角色的更多詳細資料,請參見微軟官網教程。
-
-
-
單擊確定。
常見問題
-
Q:為什麼我的讀寫(DML)許可權帳號無法在RDS SQL Server資料庫中建立表?
-
A:讀寫(DML)許可權帳號對應SQL Server中
db_datareader和db_datawriter標準資料庫角色許可權,不包含CREATE TABLE操作許可權,詳情請查看帳號許可權列表。如果您需要在資料庫中建表,可以通過如下方法:-
方法一:通過SQL Server的標準SQL語句實現,詳情請參見微軟官方教程-授予資料庫許可權和微軟官方教程-資料庫層級角色。
-
方法二:在RDS控制台帳號管理頁面,將該帳號的許可權修改為所有者,所有者所擁有的許可權支援建表,但同時所有者所擁有的操作許可權範圍較廣,因此建議您謹慎操作。具體操作,請參見修改帳號許可權。
若僅需授予帳號
CREATE TABLE許可權,推薦您通過方法一實現,該方法安全性相對較高。 -