从一个DB表到另一个DB表的重复数据?

时间:2010-11-08 20:25:36

标签: sql sql-server ssms

我想从DB ANIMAL1复制Table DOG并将数据复制/创建到DB ANIMAL2中的Table DOG。

表也需要复制所有行(主键)ID。

我该怎么做?

感谢。

3 个答案:

答案 0 :(得分: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)

我认为bcp会正常工作。很明显,如果表已经包含目标上的行,并且您要从源中追加更多行,则会在您违反主键约束时发出警告

你没有说你想要这样做一次,或者很多,如果一次,那么BCP可能是你最好的,如果所有的时间,链接的服务器,甚至复制可能是你最好的选择

答案 2 :(得分:1)

除了marc_s'回答,您还可以通过SSMS'向导export and import数据。