我正在将一个表从一个数据库复制到另一个数据库,实际上是从一个连接到另一个连接。问题是关键字段是标识字段。在新数据库中没有标识属性。
因此,当我尝试插入新表时,我收到错误,因为以前具有identity属性的字段不能为null。我可以创建一个新的标识字段,然后将其重命名为原始名称,但这些值将与链接到的其他表格不同步。
提前感谢您的帮助。
鲍勃
答案 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 去