2010-11-08 194 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可能会是你最好的,如果所有的时间,连接的服务器,甚至复制可能是你最好的选择

相关问题