2010-11-08 192 views

回答

4

如果兩臺服務器位於同一網絡上,則可以通過例如以下方式創建「鏈接服務器」。你的目標服務器到源服務器,然後你可以寫這樣的:

INSERT INTO dbo.DOG(list of columns) 
    SELECT (list of columns) 
    FROM SourceServer.ANIMAL2.dbo.DOG 

如果你的ID是IDENTITY,你必須在命令前打開IDENTITY_INSERT:

SET IDENTITY_INSERT dbo.DOG ON 

INSERT INTO dbo.DOG(list of columns) 
    SELECT (list of columns) 
    FROM SourceServer.ANIMAL2.dbo.DOG 

SET IDENTITY_INSERT dbo.DOG OFF 

,並把它在INSERT命令運行後退出。

+1

+1 - OP應該知道任何索引和其他元數據都不會被保留(如FK約束,PK等)。 – JNK 2010-11-08 20:30:39

1

bcp會工作正常,我認爲。很明顯,如果表格已經在目標上包含行,並且您從源追加更多行,則它會在您違反主鍵約束時發出投訴

如果您想要這樣做一次或多次,如果一次,那麼BCP可能會是你最好的,如果所有的時間,連接的服務器,甚至複製可能是你最好的選擇

相關問題