Sql-Server
連結伺服器在 SSMS 上工作,在 SSDT 上找不到
我的 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 實例,並從那裡開始工作。