帳號許可權列表
出於安全考慮,RDS未開放所有許可權。針對此問題,阿里雲利用預存程序對部分未開放許可權做了封裝,您可通過預存程序執行部分受限的操作。更多資訊,請參見預存程序。
說明 RDS控制台支援使用者授予SQL Server資料庫庫層級的許可權,如需授予資料庫內特定對象(如表)更精細的許可權,您可以通過SQL Server中的標準SQL語句實現,詳情請參見微軟官方教程-授予對象許可權。
普通帳號/高許可權帳號
授權對象:使用者資料庫
權限類別型 | 角色 | 許可權 |
所有者 | Server層級角色 public processadmin setupadmin
Database層級角色
| Server層級許可權 CONNECT SQL ALTER ANY LOGIN ALTER ANY LINKED SERVER ALTER ANY CONNECTION ALTER TRACE VIEW ANY DATABASE VIEW SERVER STATE ALTER SERVER STATE
Database層級許可權 CREATE TABLE CREATE VIEW CREATE PROCEDURE CREATE FUNCTION CREATE RULE CREATE DEFAULT CREATE TYPE CREATE ASSEMBLY CREATE XML SCHEMA COLLECTION CREATE SCHEMA CREATE SYNONYM CREATE AGGREGATE CREATE ROLE CREATE MESSAGE TYPE CREATE SERVICE CREATE CONTRACT CREATE REMOTE SERVICE BINDING CREATE ROUTE CREATE QUEUE CREATE SYMMETRIC KEY CREATE ASYMMETRIC KEY CREATE FULLTEXT CATALOG CREATE CERTIFICATE CREATE DATABASE DDL EVENT NOTIFICATION CONNECT CONNECT REPLICATION CHECKPOINT SUBSCRIBE QUERY NOTIFICATIONS AUTHENTICATE SHOWPLAN ALTER ANY USER ALTER ANY ROLE ALTER ANY APPLICATION ROLE ALTER ANY COLUMN ENCRYPTION KEY ALTER ANY COLUMN MASTER KEY ALTER ANY SCHEMA ALTER ANY ASSEMBLY ALTER ANY DATABASE SCOPED CONFIGURATION ALTER ANY DATASPACE ALTER ANY EXTERNAL DATA SOURCE ALTER ANY EXTERNAL FILE FORMAT ALTER ANY MESSAGE TYPE ALTER ANY CONTRACT ALTER ANY SERVICE ALTER ANY REMOTE SERVICE BINDING ALTER ANY ROUTE ALTER ANY FULLTEXT CATALOG ALTER ANY SYMMETRIC KEY ALTER ANY ASYMMETRIC KEY ALTER ANY CERTIFICATE ALTER ANY SECURITY POLICY SELECT INSERT UPDATE DELETE REFERENCES EXECUTE ALTER ANY DATABASE DDL TRIGGER ALTER ANY DATABASE EVENT NOTIFICATION ALTER ANY DATABASE AUDIT ALTER ANY DATABASE EVENT SESSION KILL DATABASE CONNECTION VIEW ANY COLUMN ENCRYPTION KEY DEFINITION VIEW ANY COLUMN MASTER KEY DEFINITION VIEW DATABASE STATE VIEW DEFINITION TAKE OWNERSHIP ALTER ALTER ANY MASK UNMASK EXECUTE ANY EXTERNAL SCRIPT CONTROL
|
唯讀 | Server層級角色 public processadmin setupadmin
Database層級角色
| Server層級許可權 CONNECT SQL ALTER ANY LOGIN ALTER ANY LINKED SERVER ALTER ANY CONNECTION ALTER TRACE VIEW ANY DATABASE VIEW SERVER STATE ALTER SERVER STATE
|
讀寫(DML) | Server層級角色 public processadmin setupadmin
Database層級角色 public db_datareader db_datawriter
| Server層級許可權 CONNECT SQL ALTER ANY LOGIN ALTER ANY LINKED SERVER ALTER ANY CONNECTION ALTER TRACE VIEW ANY DATABASE VIEW SERVER STATE ALTER SERVER STATE
|
修改帳號許可權
訪問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
操作許可權,詳情請查看帳號許可權列表。如果您需要在資料庫中建表,可以通過如下方法:
若僅需授予帳號CREATE TABLE
許可權,推薦您通過方法一實現,該方法安全性相對較高。