SQL Server将表从一个数据库复制到另一个数据库并保留标识字段

时间:2014-03-04 15:35:09

标签: sql-server

我正在将一个表从一个数据库复制到另一个数据库,实际上是从一个连接到另一个连接。问题是关键字段是标识字段。在新数据库中没有标识属性。

因此,当我尝试插入新表时,我收到错误,因为以前具有identity属性的字段不能为null。我可以创建一个新的标识字段,然后将其重命名为原始名称,但这些值将与链接到的其他表格不同步。

提前感谢您的帮助。

鲍勃

2 个答案:

答案 0 :(得分:0)

这将在db2中创建表[db2].[dbo].[YoutableNameYouWantInDb2],其结构与db1中的相同,并从[db1].[dbo].[yourTableName]复制所有数据。

SELECT * INTO [db2].[dbo].[YoutableNameYouWantInDb2] 
FROM [db1].[dbo].[yourTableName] 

答案 1 :(得分:0)

答案可以在第二条评论中找到。我会把它贴在这里:

CREATE TABLE dbo.Tmp_Names     (       Id int NOT NULL              身份(1,1),       名称varchar(50)NULL     ) ON [主要] 去

SET IDENTITY_INSERT dbo.Tmp_Names ON 去

IF EXISTS(SELECT *             来自dbo.Names)     INSERT INTO dbo.Tmp_Names(Id,Name)             SELECT Id,                     名称             来自dbo.Names TABLOCKX 去

SET IDENTITY_INSERT dbo.Tmp_Names OFF 去