SQL Server 代理程式角色 - Amazon Relational Database Service

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

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
  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 代理程式任務的清單。

  4. 重要

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

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

    USE msdb GO ALTER ROLE SQLAgentOperatorRole DROP MEMBER UserName GO

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