共用方式為


建立 SQL Server Agent Proxy

本主題描述如何使用 SQL Server Management Studio 或 Transact-SQL,在 SQL Server 2014 中建立 SQL Server Agent Proxy。

SQL Server Agent Proxy 帳戶會定義可執行作業步驟的安全性內容。 每個代理都對應一個安全憑證。 若要設定特定作業步驟的許可權,請建立具有 SQL Server Agent 子系統所需許可權的 Proxy,然後將該 Proxy 指派給作業步驟。

本主題內容

開始之前

限制與制約

  • 如果尚未提供認證,您必須先建立認證,才能建立 Proxy。

  • SQL Server Agent Proxy 會使用認證來儲存 Windows 使用者帳戶的相關信息。 認證中指定的用戶必須在執行 SQL Server 的電腦上具有「以批次作業身分登入」許可權。

  • SQL Server Agent 會檢查 Proxy 的子系統存取權,並在每次執行作業步驟時提供 Proxy 的存取權。 如果 Proxy 不再具有子系統的存取權,作業步驟就會失敗。 否則,SQL Server Agent 會模擬 Proxy 中指定的使用者,並執行作業步驟。

  • 建立 Proxy 並不會變更 Proxy 認證中指定的用戶許可權。 例如,您可以為沒有連線到 SQL Server 實例之許可權的使用者建立 Proxy。 在此情況下,使用該 Proxy 的作業步驟無法連線到 SQL Server。

  • 如果使用者的登入具有 Proxy 的存取權,或使用者屬於具有 Proxy 存取權的任何角色,則用戶可以在作業步驟中使用 Proxy。

安全

權限

  • 只有 系統管理員成員 固定伺服器角色具有建立、修改或刪除 Proxy 帳戶的許可權。 不是系統管理員固定伺服器角色成員的用戶必須新增至 msdb 資料庫中下列其中一個 SQL Server Agent 固定資料庫角色,才能使用 Proxy:SQLAgentUserRole、SQLAgentReaderRoleSQLAgentOperatorRole

  • 除了 Proxy 之外,建立認證還需要 ALTER ANY CREDENTIAL 許可權。

使用 SQL Server Management Studio

建立 SQL Server Agent Proxy

  1. [物件瀏覽器]中,按一下加號以展開您要在 SQL Server Agent 中建立代理的伺服器。

  2. 點選加號以展開 SQL Server Agent

  3. 以滑鼠右鍵按兩下 [Proxy] 資料夾,然後選取 [[新增 Proxy]。

  4. 新增 Proxy 帳戶 對話框的 一般 頁面上,在 Proxy 名稱 欄位中輸入 Proxy 帳戶的名稱。

  5. 在 [認證名稱] 方塊中,輸入 Proxy 帳戶將使用的安全性認證名稱。

  6. 在 [描述] 方塊中,輸入 Proxy 帳戶的描述

  7. 在 [Active 至下列子系統下,選取此 Proxy 的適當子系統或子系統。

  8. 在 [主體] 頁面上,新增或移除登入或角色,以授與或移除 Proxy 帳戶的存取權。

  9. 完成後,請按一下 [確定]

使用 Transact-SQL

建立 SQL Server Agent Proxy

  1. 物件總管中,連線到資料庫引擎實例。

  2. 在標準列上,按一下 [新增查詢]

  3. 複製下列範例並將其貼到查詢視窗中,然後按一下 [執行]

    -- creates credential CatalogApplicationCredential  
    USE msdb ;  
    GO  
    CREATE CREDENTIAL CatalogApplicationCredential WITH IDENTITY = 'REDMOND/TestUser',   
        SECRET = 'G3$1o)lkJ8HNd!';  
    GO  
    -- creates proxy "Catalog application proxy" and assigns the credential 'CatalogApplicationCredential' to it.  
    EXEC dbo.sp_add_proxy  
        @proxy_name = 'Catalog application proxy',  
        @enabled = 1,  
        @description = 'Maintenance tasks on catalog application.',  
        @credential_name = 'CatalogApplicationCredential' ;  
    GO  
    -- grants the proxy "Catalog application proxy" access to the ActiveX Scripting subsystem.  
    EXEC dbo.sp_grant_proxy_to_subsystem  
        @proxy_name = N'Catalog application proxy',  
        @subsystem_id = 2 ;  
    GO  
    

如需詳細資訊,請參閱: