Sql-Server

SQL Job 步驟作為不同的 sql 帳戶執行

  • March 17, 2014

我很好奇如何設置一個 SQL 作業步驟以作為不同的 SQL 登錄帳戶執行。看來我需要設置一個需要現有憑據的新代理帳戶。創建憑據時,我唯一的選擇是使用 Windows 登錄憑據。

我試圖執行的工作如下。還有其他附加語句,但是當我將作業步驟設置為作為 SQL 登錄執行時,它失敗了。

insert into [dbo].[TableA]
SELECT 
      ss.[Ref_ID]
     ,mm.[studentID]
     ,mm.[studentPersonID]
     ,mm.[studentFirstname]
 FROM [dbo].[TableB] mm
 left outer join [dbo].[TableC] ss on ss.parentPersonID=mm.parentPersonID and mm.studentPersonID = ss.studentPersonID
 where ss.Ref_ID is not null;

當它通過 SQL 作業步驟執行時,它會失敗。

Executed as user: an_admin_account. Access to the remote server is denied because the current security context is not trusted. [SQLSTATE 42000] (Error 15274).  The step failed.

當所有這些表都存在於本地數據庫上時,我不清楚為什麼它試圖訪問遠端伺服器。

如果您正在配置 T-SQL 作業步驟,請轉到高級頁面並將“以使用者身份執行”配置為您選擇的登錄名。 在此處輸入圖像描述

如果您正在使用 PowerShell 等其他作業步驟類型,則需要配置代理帳戶。

在開始時使用EXECUTE AS,或創建在特定上下文中執行的儲存過程。

引用自:https://dba.stackexchange.com/questions/60984