2010年7月9日 星期五

設定MS SQL 權限 [GRANT]

前言
最近,常有需要開放資料庫的某種權限給某些人,例如查詢、開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也可以賦予別人權限。
USE master; GRANT ALTER ANY EVENT NOTIFICATION TO Jassie WITH GRANT OPTION; GO
授與具有 GRANT 權限的權限

附錄

伺服器權限伺服器權限所隱含
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

沒有留言:

張貼留言