2014-03-04 33 views
0

我從一個連接到另一個複製表從一個數據庫到另一個,實際的表。問題是關鍵字段是身份字段。在新的數據庫中沒有標識屬性。SQL Server的複製,從一個數據庫到另一個,並保留標識字段

所以,當我嘗試插入到新表,因爲它曾經有一個標識屬性字段不能爲空,我得到一個錯誤。我可以創建一個新的標識字段,然後重命名爲原來的名字,但當時的值是不同步的其他表是鏈接。

在此先感謝您的幫助。

鮑勃

+0

請發表您的SQL。 – mayabelle

+0

也許這會爲你工作? http://stackoverflow.com/questions/1049210/adding-an-identity-to-an-existing-column – Sprouts83

+0

是相同的實例兩個數據庫? –

回答

0

這將創建與相同結構的DB2表[db2].[dbo].[YoutableNameYouWantInDb2]爲DB1和[db1].[dbo].[yourTableName]複製所有數據。

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

感謝響應。這雖然沒有奏效。一切都很好,除了新的表鍵沒有標識屬性。這是mu問題。 –

0

答案可以在第二條評論中找到。我會把它貼在這裏:

CREATE TABLE dbo.Tmp_Names ( ID INT NOT NULL IDENTITY(1,1), 名稱爲varchar(50)NULL ) ON [PRIMARY] 去

SET IDENTITY_INSERT dbo.Tmp_Names ON 去

IF EXISTS(SELECT * FROM dbo.Names) INSERT INTO dbo.Tmp_Names(ID,姓名) 選擇ID, 名稱 FROM dbo.Names TABLOCKX 去

SET IDENTITY_INSERT dbo.Tmp_Names OFF 去

相關問題