SQL导入与身份问题

时间:2013-02-07 02:27:15

标签: sql sql-server database compare

我有一个使用SQL Export工具创建的数据库,但现在看到我没有写出主键和约束。不幸的是,它是我拥有数据的唯一副本。

我已经创建了一个空白数据库结构,其中包含正确的密钥,现在正尝试使用SQL 2012中的“导入数据”向导将数据导入新数据库。在映射设置中,我选择了启用身份插入。但是,我在错误后一直遇到错误。

然后我尝试在Visual Studio 2012中使用SQL Compare工具,以为我可以生成ALTER表脚本来创建主键和保存数据的数据库的约束,但我似乎只能让它生成CREATE TABLE脚本。显然,这样做会丢弃表格,从而丢弃我的数据。

最终,我只想要一个包含密钥,约束和数据的数据库。我已经耗尽了我的知识,并且我不太确定如何继续这一点。

我希望你们中的一些大师有一些技巧可以帮助我。任何帮助都是提前真诚的感谢。

1 个答案:

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

不要忘记启用插入标识。