【发布时间】:2013-02-07 02:27:15
【问题描述】:
我有一个使用 SQL 导出工具创建的数据库,但现在看到我没有写出主键和约束。不幸的是,这是我唯一的数据副本。
我已经创建了一个带有适当键的空白数据库结构,现在正尝试使用 SQL 2012 中的导入数据向导将数据导入新数据库。在映射设置中,我选择了启用身份插入.但是,我不断地在错误中遇到错误。
然后我尝试使用 Visual Studio 2012 中的 SQL 比较工具,认为我可以生成 ALTER 表脚本来创建主键和保存数据的数据库的约束,但我似乎只能让它生成 CREATE TABLE脚本。显然,这样做会删除表格,从而删除我的数据。
最终,我只想要一个包含键、约束和数据的数据库。我已经用尽了我的知识,现在不太确定如何进行。
我希望你们中的一些大师有一些技巧可以帮助我。提前真诚感谢您的任何帮助。
【问题讨论】:
-
你遇到了什么错误?
-
除非错误是关键违规,否则最好将结构更改应用于数据,而不是尝试将数据注入结构。
-
如果存在数据将进入目标数据库的 GAPS,并且表的值低于 GAPS,您可以尝试 SET IDENTITY_INSERT OFF TABLE A - INSERT RECORDS TO A 然后打开 IDENTITY_INSERT。这只是连接工作中给定时间一个表的一个选项。基本上,允许您在间隙中指定 IDENTITY 列的值。
-
我以为我通过选中“启用身份插入”来关闭身份插入,但我认为它一直受到外键表的约束。我最终按照 RBarryYoung 的建议做了并更新了结构。乏味,但现在完成了。我感谢帮助和 cmets。谢谢!
标签: sql sql-server database compare