2013-02-07 70 views
0

我有一個使用SQL Export工具創建的數據庫,但現在看到我沒有寫出主鍵和約束。不幸的是,這是我對數據的唯一拷貝。SQL Import With Identity Trouble

我已經創建了一個空白的數據庫結構,其中包含正確的鍵,現在正嘗試使用SQL 2012中的導入數據嚮導將數據導入到新數據庫中。在映射設置中,我選擇了啓用標識插。但是,錯誤發生後我仍然遇到錯誤。

然後,我試圖使用Visual Studio 2012中的SQL比較工具,認爲我可以生成ALTER表腳本來創建數據庫上的主鍵和約束,但我似乎只能讓它生成CREATE TABLE腳本。顯然,這樣做會使表格和我的數據下降。

最終,我只想要一個數據庫,其中包含鍵和約束以及數據。我已經耗盡了我的知識,我不太清楚如何在這一點上進行。

我希望你們中的一些人有一些竅門可以幫助我。任何幫助都預先感謝。

+2

你遇到什麼錯誤? –

+0

除非錯誤是密鑰違規,否則將結構更改應用於數據可能會更好,而不是嘗試將數據注入到結構中。 – RBarryYoung

+0

如果有數據將進入目標datanase的GAPS,並且表的值低於GAPS,則可以嘗試SET IDENTITY_INSERT OFF TABLE A - INSERT RECORDS TO A then turn on IDENTITY_INSERT。這只是連接工作中給定時間的一張表的選項。基本上,允許您爲間隔中的IDENTITY列指定值。 –

回答

0

「啓用插入標識」適用於我。

也許下次你導入帶有標識字段的表,你可以嘗試導入標識字段時,該怎麼辦?:這樣

每個表您在「選擇源表和視圖」導入的步驟嚮導

選擇表>編輯映射>編輯SQL>

該代碼將是這樣的:

CREATE TABLE [dbo].[miTable] (
[idField] [int] NOT NULL, 
[anotherColumns] varchar ... 
) 

修改它是這樣的:

CREATE TABLE [dbo].[miTable] (
[idField] [int] IDENTITY(1,1) NOT NULL, 
[anotherColumns] varchar ... 
) 

不要忘記啓用插入標識。