本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
SQL Server 代理程式角色
RDS for SQL Server 支援下列 SQL Server Agent 角色,具有不同層級的管理任務許可:
SQLAgentUserRole
許可
建立和管理自己的任務、排程和運算子
檢視其任務和排程的屬性
無法檢視或管理其他使用者建立的任務
此角色適合需要建立和管理自己的任務,但不需要存取其他使用者所建立任務的使用者。
-
SQLAgentReaderRole
許可
SQLAgentUserRole 的所有許可
檢視所有任務和排程的清單,包括其他人建立的任務和排程
檢視所有任務的屬性
檢閱任務歷史記錄
此角色適合需要監控所有任務狀態,但不需要管理任務的使用者。
-
SQLAgentOperatorRole
許可
SQLAgentUserRole 和 SQLAgentReaderRole 的所有許可
執行、停止或啟動任務
管理任務歷史記錄
啟用/停用任務和排程
檢視運算子和代理
此角色提供最全面的許可,適合需要完全控制所有任務的使用者。
使用下列命令將角色指派給 SQL Server 登入:
USE msdb; EXEC sp_addrolemember 'SQLAgentOperatorRole', '
username
';
在 RDS for SQL Server 中管理 SQLAgentOperatorRole
若要檢視目前的任務,您必須將 SQLAgentOperatorRole 新增至 SQL Server 登入,並在中斷與資料庫的連線之前將其移除。
若要在 SQL Server Management Studio 中視覺化 SQL Server Agent 樹狀結構,請遵循下列指示:
在 SQL Server Management Studio (SSMS) 上檢視 SQL Server Agent
-
使用 RDS 主登入資料登入 RDS SQL Server 執行個體,並授予所需的使用者 SQLAgentUserRole。
USE msdb GO IF NOT EXISTS(SELECT name FROM sys.database_principals WHERE name = 'UserName') BEGIN CREATE USER UserName FROM LOGIN UserName END GO ALTER ROLE SQLAgentUserRole ADD MEMBER UserName GO GRANT ALTER ON ROLE::[SQLAgentOperatorRole] to UserName GO
這些命令會在
msdb
資料庫中建立使用者,以防不存在。它也會在 SQLAgentUserRole 上新增使用者,因此可以看到 SSMS 上的 SQL Server Agent 樹狀結構。最後,它會將 SQLAgentOperatorRole 上的變更許可授予使用者。這可讓使用者從該角色新增/移除自己。 -
若要將自己新增至上述角色,請與需要查看任務的使用者連線到 RDS SQL Server 執行個體,然後執行下列指令碼。
use msdb go ALTER ROLE SQLAgentOperatorRole ADD MEMBER UserName GO
之後,在任務資料夾上按一下滑鼠右鍵,然後選擇重新整理。
-
當您執行此動作時,任務索引標籤會顯示 + (加號) 按鈕。按一下 以展開 SQL Server 代理程式任務的清單。
-
重要
在中斷與 RDS SQL Server 執行個體的連線之前,您需要將自己從 SQLAgentOperatorRole 中移除。
若要從 SQLAgentOperatorRole 移除您的登入,請在中斷連線或關閉 Management Studio 之前執行下列查詢:
USE msdb GO ALTER ROLE SQLAgentOperatorRole DROP MEMBER UserName GO
如需詳細資訊,請參閱在 RDS SQL Server 中利用 SQLAgentOperatorRole