我嘗試使用下面的語法把值插入到表從另一個SQL Server 1的SQL Server:SQL Server錯誤:對象名稱包含超過最大數量的前綴。最大值爲2
SELECT * into [PWSQL0001-US].[test_database].[dbo].[wedata] FROM [mon-qa-01].[wma].[ci].[wemqadata]
,但我得到了以下錯誤:
The object name PWSQL0001-US.test_database.dbo.wedata contains more than the maximum number of prefixes. The maximum is 2.
基本上,我想從[mon-qa-01]。[wma]。[ci]。[wemqadata]到[PWSQL0001-US]。[test_database]。[dbo]。[wedata]使用sql查詢傳輸每個值。
我最後的選擇可能是使用SSIS,但我想先嚐試使用查詢並繼續它,而不是先使用SSIS或導入/導出。
任何幫助,將不勝感激。
這聽起來不像一個SQL Server錯誤,因爲SQL Server允許4部分組成的命名。 –
這是['INTO ...'](https://docs.microsoft.com/zh-cn/sql/t-sql/queries/select-into-clause-transact-sql)樣式的限制。寫一個'INSERT ... SELECT',或者在'PWSQL0001-US'服務器上運行你的查詢,這樣你就不需要使用四部分的名字。 –
謝謝@Damien_The_Unbeliever。我試過了,似乎應該有一個鏈接的服務器連接到它。它試圖插入後給我這個錯誤...選擇: Msg 7202,級別11,狀態2,行11 在sys.servers中找不到服務器'mon-qa-01'。驗證是否指定了正確的服務器名稱。如有必要,請執行存儲過程sp_addlinkedserver以將服務器添加到sys.servers。 – NancyJoe