最近,常有需要開放資料庫的某種權限給某些人,例如查詢、開Profiler等,就順手將MS SQL的GRAIN記錄一下。
說明
1.給預查詢Profile的權限:需要「ALTER TRACE」權限
範例:將 ALTER TRACE 權限授與 SQL Server 登入者 Jassie
註:USE master; GRANT ALTER TRACE TO Jassie; GO
具有 SHOWPLAN、ALTER TRACE 或 VIEW SERVER STATE 權限的使用者可以檢視執行程序表輸出中所擷取的查詢。這些查詢可能會包含類似密碼的敏感資訊。因此,我們建議您只能將這些權限授與給有權檢視敏感資訊的使用者,例如 db_owner 固定資料庫角色的成員或是 sysadmin 固定伺服器角色的成員。
2.授與事件通知的擁有者並具有GRANT 權限的權限:需要「ALTER ANY EVENT NOTIFICATION 」及「WITH GRANT OPTION」權限
範例:將 ALTER ANY EVENT NOTIFICATION 授與 SQL Server 登入者 Jassie,同時,Jassie也可以賦予別人權限。
授與具有 GRANT 權限的權限USE master; GRANT ALTER ANY EVENT NOTIFICATION TO Jassie WITH GRANT OPTION; GO
附錄
伺服器權限 | 伺服器權限所隱含 |
---|---|
ADMINISTER BULK OPERATIONS | CONTROL SERVER |
ALTER ANY CONNECTION | CONTROL SERVER |
ALTER ANY CREDENTIAL | CONTROL SERVER |
ALTER ANY DATABASE | CONTROL SERVER |
ALTER ANY ENDPOINT | CONTROL SERVER |
ALTER ANY EVENT NOTIFICATION | CONTROL SERVER |
ALTER ANY LINKED SERVER | CONTROL SERVER |
ALTER ANY LOGIN | CONTROL SERVER |
ALTER ANY SERVER AUDIT | CONTROL SERVER |
ALTER RESOURCES | CONTROL SERVER |
ALTER SERVER STATE | CONTROL SERVER |
ALTER SETTINGS | CONTROL SERVER |
ALTER TRACE | CONTROL SERVER |
AUTHENTICATE SERVER | CONTROL SERVER |
CONNECT SQL | CONTROL SERVER |
CONTROL SERVER | CONTROL SERVER |
CREATE ANY DATABASE | ALTER ANY DATABASE |
CREATE DDL EVENT NOTIFICATION | ALTER ANY EVENT NOTIFICATION |
CREATE ENDPOINT | ALTER ANY ENDPOINT |
CREATE TRACE EVENT NOTIFICATION | ALTER ANY EVENT NOTIFICATION |
EXTERNAL ACCESS ASSEMBLY | CONTROL SERVER |
SHUTDOWN | CONTROL SERVER |
UNSAFE ASSEMBLY | CONTROL SERVER |
VIEW ANY DATABASE | VIEW ANY DEFINITION |
VIEW ANY DEFINITION | CONTROL SERVER |
VIEW SERVER STATE | ALTER SERVER STATE |
Reference
http://msdn.microsoft.com/zh-tw/library/ms187611.aspx
http://msdn.microsoft.com/zh-tw/library/ms186717.aspx
沒有留言:
張貼留言