SQL Server Agent 角色 - Amazon Relational Database Service

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

SQL Server Agent 角色

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
  1. 使用 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 的變更許可授予使用者。這可讓使用者在該角色中新增/移除自己。

  2. 若要將自己新增至上述角色,請使用需要查看任務的使用者連線至 RDS SQL Server 執行個體,然後執行下列指令碼。

    use msdb go ALTER ROLE SQLAgentOperatorRole ADD MEMBER UserName GO

    接著,在任務資料夾上按一下滑鼠右鍵,然後選擇重新整理

  3. 當您執行此動作時,任務索引標籤會顯示 + (加號) 按鈕。按一下可展開 SQL Server Agent 任務的清單。

  4. 重要

    在中斷與 RDS SQL Server 執行個體的連線之前,您必須將自己從 SQLAgentOperatorRole 中移除。

    若要從 SQLAgentOperatorRole 中移除您的登入,請在將 Management Studio 中斷連線或關閉之前執行下列查詢:

    USE msdb GO ALTER ROLE SQLAgentOperatorRole DROP MEMBER UserName GO

如需詳細資訊,請參閱在 RDS SQL Server 中使用 SQLAgentOperatorRole