Sql-Server
SQL Job 步驟作為不同的 sql 帳戶執行
我很好奇如何設置一個 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
,或創建在特定上下文中執行的儲存過程。