2013-04-17 231 views
0

我需要每天傳送一個表。表名每天都在變化,所以我應該使用腳本來獲取表名。SQL Server 2008 R2 JOB步驟鏈接服務器登錄失敗

有一個工作步驟,通過使用T-SQL查詢創建的數據從源表格傳輸到destinationTable。 sourceTable和destinationTable位於不同的服務器中。鏈接服務器工作正常。

如果我在sql serer management studio中執行相同的查詢,它工作正常。但是,當在這一步執行作業時,我看到以下消息:

作爲用戶執行:NT AUTHORITY \ SYSTEM。用戶登錄失敗「NT AUTHORITY \ ANONYMOUS LOGON」。該步驟失敗。

兩個SQL服務器2008 R2版本和彼此連接。

您可以使用T-SQL建議其他一些方法。

任何幫助,將不勝感激。

回答

0

我無法連接服務器的解決這個問題。

代替鏈接服務器的我用下列步驟進行:

  1. 重命名x至x_temp
  2. 使用SSIS包(它比鏈接的服務器查詢快得多),以從x_temp移動所有數據到其他服務器。
  3. 將x_temp重命名爲x_dd_mm_yyyy
1

這是因爲SQL Server的「2跳」問題。 我能夠通過以下兩種方式解決此問題: 1.仍使用鏈接服務器:在遠程服務器上創建具有SQL Server身份驗證的用戶並提供所有必需的權限。然後打開鏈接的服務器性能和映射爲你的帳戶的用戶,您剛創建,就像這樣: enter image description here

之後,你將能夠運行腳本

  • 使用OPENROWSET:

    選擇一個* FROM OPENROWSET( 'SQLNCLI', '服務器=; Trusted_Connection =是;', 'SELECT *從.dbo。')AS一個;

  • +0

    Thanks @Vitality for your answer。你的答案看起來很棒,但是我解決了我的問題,但沒有鏈接服務器。 –

    相關問題