SQL导入与身份问题
我有一个使用SQL导出工具创建的数据库,但现在看到我没有写出主键和约束。不幸的是,这是我仅有的数据拷贝 我已经创建了一个带有适当密钥的空白数据库结构,现在正在尝试使用SQL 2012中的导入数据向导将数据导入新数据库。在映射设置中,我选择了启用标识插入。但是,我总是一个接一个地犯错误 然后,我尝试在Visual Studio 2012中使用SQL比较工具,认为我可以生成ALTER table脚本来在保存数据的数据库上创建主键和约束,但我似乎只能让它生成create table脚本。显然,这样做会删除表,从而删除我的数据 最终,我只想要一个包含键、约束和数据的数据库。我已经用尽了我的知识,现在还不太确定该怎么做 我希望你们中的一些大师有一些技巧可以帮助我。如有任何帮助,我们将提前表示衷心的感谢 启用插入标识”对我有效 也许下次导入带有标识字段的表时,您可以尝试导入标识字段,方法是: 对于在向导的“选择源表和视图”步骤中导入的每个表 选择表>编辑映射>编辑sql> 代码如下所示:SQL导入与身份问题,sql,sql-server,database,compare,Sql,Sql Server,Database,Compare,我有一个使用SQL导出工具创建的数据库,但现在看到我没有写出主键和约束。不幸的是,这是我仅有的数据拷贝 我已经创建了一个带有适当密钥的空白数据库结构,现在正在尝试使用SQL 2012中的导入数据向导将数据导入新数据库。在映射设置中,我选择了启用标识插入。但是,我总是一个接一个地犯错误 然后,我尝试在Visual Studio 2012中使用SQL比较工具,认为我可以生成ALTER table脚本来在保存数据的数据库上创建主键和约束,但我似乎只能让它生成create table脚本。显然,这样做会
CREATE TABLE [dbo].[miTable] (
[idField] [int] NOT NULL,
[anotherColumns] varchar ...
)
修改如下:
CREATE TABLE [dbo].[miTable] (
[idField] [int] IDENTITY(1,1) NOT NULL,
[anotherColumns] varchar ...
)
不要忘了启用insert identity。您遇到了什么错误?除非这些错误是关键冲突,否则最好对数据应用结构更改,而不是尝试将数据注入到结构中。如果存在数据将进入目标datanase的间隙,并且表的值小于间隙,则可以尝试将IDENTITY_INSERT从表A中设置为-INSERT RECORDS为A,然后启用IDENTITY_INSERT。在连接工作中,在给定时间,这只是一个表的选项。基本上,允许您为间隙中的标识列指定值。我以为我通过选中“启用标识插入”来关闭标识插入,但我认为它一直受到外键表约束的阻碍。我最终按照Rbaryyoung的建议做了,并更新了结构。乏味,但现在就完成了。我感谢你的帮助和评论。谢谢