从SQL2008数据库导出数据到另外一个数据库,如果数据库中有自增主键,那么在导出的时候会报一个错误
用SQL2008导入数据,选择数据源为SQL2000的数据库在导入过程中出现的错误~
详细错误:
- 正在验证 (错误)
消息
错误 0xc0202049: 数据流任务: 无法在只读列“I_AID”中插入数据。
错误 0xc0202045: 数据流任务: 验证列元数据失败。
错误 0xc004706b: 数据流任务: “组件“目标 - AcceptInfo”(28)”验证失败,返回的验证状态为“VS_ISBROKEN”。
错误 0xc004700c: 数据流任务: 一个或多个组件未能通过验证。
错误 0xc0024107: 数据流任务: 任务验证期间出错。
解决方案很简单
在数据库导入"选择源表和源视图"->点击对应表后的“编辑映射”按钮->勾选“启用标识列插入”->导入即可。
摘自 http://blog.csdn.net/abandonship/archive/2010/04/08/5461987.aspx。
经过我试验,确实可用。
如果源数据库比目标数据库版本更高,那么多半bak文件在目标数据库不能还原。
这时候可用首先将表结构和存储过程导出到脚本,然后在目标数据库中创建一个新的库,执行此脚本,将表结构和存储过程复制过来。
然后利用SQL的导出数据功能,将源数据库的数据导出,如果数据库中有自增主键,务必做上述操作,否则导出不成功。
这样就把数据库成功的还原到新的低版本数据库中了。