2016-02-26 88 views
0

我有一個嘗試從遠程服務器訪問數據的作業。我創建了連接成功的鏈接服務器。當我嘗試通過直接運行查詢訪問表時,它工作正常。但是當我通過作業運行相同的查詢時,會引發錯誤「用戶登錄失敗」。無法通過SQL Server中的作業訪問鏈接服務器表

將作業分配給所有者'sa'並使用sysadmin和公共角色與ssis代理一起運行。在鏈接服務器屬性的安全選項卡中,我沒有選擇映射並且「使用登錄的當前安全上下文」。

我不知道該如何糾正。如果我應該添加映射,那麼應該映射什麼?請幫助我,因爲我已經花了一整天的時間探索可能的選擇,但找不到任何有用的東西。

+0

SSIS包是否從具有SQL或Windows身份驗證的用戶運行? – Indian

+0

@Indian它運行在SQL服務器身份驗證與SA的usedid和密碼。 –

+0

並且'sa'在鏈接的服務器上有相同的密碼嗎? – Indian

回答

0

無論誰是包的所有者。只有發送數據包的用戶纔是重要的。

  • 如果該用戶是基於Windows(Windows domen)的用戶,請閱讀本link
  • 如果您的用戶是sql-user,請檢查鏈接服務器上的密碼和權限。
  • 如果以上所有步驟都正確,請嘗試將此用戶添加到使用複選框Impersonate複選框的映射中。
+0

步入失敗的工作基本上是執行一個ssis包。在運行字段我有「SSIS代理」,其中有憑據 /管理員。現在對這些證書給出了系統管理員和公共角色。現在在鏈接服務器的安全性中,我添加了 /管理員在映射與impersonate檢查。這是當前狀態,並且作業發出錯誤以用戶身份執行:NT AUTHORITY \ SYSTEM。 「用戶登錄失敗' \ $'。[SQLSTATE 42000](錯誤50000)。步驟失敗。」 –

相關問題