具有标识列的导入和导出向导
我想将数据从一个数据库移到另一个数据库,同时保持旧数据库中的标识列值。 当我运行向导时,我得到一个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,