具有标识列的导入和导出向导

我想将数据从一个数据库移到另一个数据库,同时保持旧数据库中的标识列值。 当我运行向导时,我得到一个validation错误“插入到只读列”ChannelID“失败。

其中ChannelID是该表上的标识列。 如何覆盖身份function以便能够导入数据?

你需要启用身份插入。 单击编辑映射时有一个checkbox。

Byte56的回答是正确的 – 在Edit Mappings(编辑映射)屏幕上勾选“Enable identity insert”(启用身份插入)。 我只想指出,“select源表和视图”列表支持多选,因此您可以按住Shift或Ctrl在列表中select多个表格。

您应该使用SET IDENTITY INSERT ON以允许在IDENTITY列中插入值

这里是MSDN的链接

编辑列映射中 ,勾选ENABLE IDENTITY INSERT。 然后点击编辑SQLbutton。

更改

 [MyID] int NOT NULL, 

 [MyID] int IDENTITY(1,1), 

在导入MS Access数据库中工作。 这将保留“自动编号”字段中的数据转换为“标识”列。

SQL Server 2008 R2使用SSMS 2008 R2。

只需启用“编辑映射”上的标识就不会保留identity = true。 我必须手动编辑每个表的sql,并在SQL代码中包含IDENTITY属性。

例如:ADD MS_IDENT numeric(18,0)IDENTITY NOT NULL,