1

我試圖將數據從一臺服務器複製到另一臺服務器。我的源服務器中已有鏈接服務器。當我嘗試執行下面的查詢時,出現錯誤。SQL Server 2012:使用鏈接服務器將數據從一個數據庫服務器複製到其他數據庫的表結構

SELECT Appt.C1 AS AppointmentId 
    ,Appt.C2 
INTO [190.28.111.187].[WH_AC].[dbo].[ApptDet] 
FROM [whse].[Vw_ApptDet] Appt 
INNER JOIN #DealerList DL ON DL.DealerId = Appt.DealerId 

錯誤:

Msg 117, Level 15, State 1, Line 4 
The object name '190.28.111.187.WH_AC.dbo.ApptDet' contains more than the maximum number of prefixes. The maximum is 2. 

我不知道我很想念那裏。請建議我如何執行此操作。

回答

0

從上INTO clause文檔:

You cannot create new_table on a remote server; however, you can populate new_table from a remote data source. [...]

所以,你一定要扭轉你的聲明(即從遠程服務器上執行它),或做這是另一種方式。

0

You can retrive the data using this type of code style [190.28.111.187].[WH_AC].[dbo].[ApptDet]. in case of manipulation activity the SQL do not support. I would recommend to use openrowset to achieve this concept.

OPENROWSET('SQLNCLI', 'Server=YourServername;Trusted_Connection=yes;', 

To identify server name run the code

Select @@servername. 
0

我會爲此使用集成服務(SSIS)。

0

如果你需要這樣做(我下一步,這麼好的問題)。

只需先創建表(在遠程服務器上)

CREATE TABLE dbo.[TEST](
    [id] [int] NOT NULL, 
    [description] [varchar](50) NULL, 
    ) 

然後

insert into [server].[db].dbo.[TEST] 
select * from [TEST] 

我需要在這裏我就不SA權利下週所以你將數據移動到鏈接服務器讓我擔心。我當然可以創建一個表,但不能建立遠程的鏈接服務器。

相關問題