共用方式為


建立 SQL Server Agent Proxy

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

SQL Server Agent Proxy 帳戶會定義作業步驟可以在其中執行的資訊安全內容。 每個 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。

安全性

權限

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

  • 如果除了 Proxy 之外還要建立認證,需要 ALTER ANY CREDENTIAL 權限。

使用 SQL Server Management Studio

若要建立 SQL Server Agent Proxy

  1. [物件總管]中,按一下加號展開要建立 SQL Server Agent Proxy 的伺服器。

  2. 按一下加號展開 [SQL Server Agent]

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

  4. [新 Proxy 帳戶] 對話方塊,於 [一般] 頁面上的 [Proxy 名稱] 方塊中輸入 Proxy 帳戶的名稱。

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

  6. [說明] 方塊中,輸入 Proxy 帳戶的說明。

  7. [對下列子系統有效]下,選取此 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  
    

如需詳細資訊,請參閱