Sql-Server

連結伺服器在 SSMS 上工作,在 SSDT 上找不到

  • June 14, 2016

我的 Microsoft SQL Server 有一個連結到另一個 SQL Server 的伺服器。我有一個簡單的查詢在我的身上執行,刪除一個遠端表(截斷不起作用)並向其中插入數據。

如果它在 SSMS 中執行,則此查詢可以正常工作。但我需要它按計劃執行,所以我將它添加dtsx為 EST。問題是,當我執行它時dtsx,無論是在 SSDT 上手動還是在 SQL Server 代理上自動安排,它都會失敗並顯示以下消息:

在 sys.servers 中找不到伺服器“—–”。

這很奇怪。當然,伺服器在sys.servers並且連結伺服器正在工作。正如我所說,完全相同的查詢在 SSMS 上執行時有效。我什至無法想像是什麼導致了這種不一致。其他連結伺服器工作正常。

有人能猜出可能是什麼原因造成的,我可以尋找什麼線索嗎?Google搜尋這個錯誤只會讓我解釋如何配置連結伺服器,但它已經存在了!

您能否與查詢一起共享連結對象名稱?有時問題出在 FROM 部分。有很多情況會出現此錯誤,其中許多情況在 StackOverflow 上都有介紹。但是,在共享伺服器上可能特別遇到的一種情況是數據庫名稱中包含句點(點)。例如,如果它的名稱是 mysite.com_DB。這將自動導致問題。

解決辦法,如果不能重命名數據庫,就是將數據庫名稱封裝在方括號中,例如:

mysite.com_DB.Table_name

會變成:

[mysite.com_DB].Table_name

我無法找到此問題的原因。我嘗試使用另一個 MSSQL 實例,並從那裡開始工作。

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