日期:2014-05-17  浏览次数:20728 次

两数据库间导入所有表和记录问题
一和二数据库,一是SQL2000的,二是2005的,一附加到2005报错附加不了现在想用脚本将一所有数据到二中,要保留原来的记录,原来的主键原来的索引,自增字段也要保留数据要一致,这样用什么方法好一些?谢谢

------解决方案--------------------
数据库生成表,触发器,存储过程的脚本,在05中执行

然后根据用脚本将00库导入到05库,导入方法大致如下:
建好新库后,先禁用新库所有触发器
对于自增列
set identity_insert tablename on
对于计算列,取出时排除掉,不然插入会有错
其他列直接处理
可以用try catch取出执行有问题的表,然后手动排除错误执行
最后启用新库所有触发器

------解决方案--------------------
附加应该一般都可以 数据库向下兼容 请将报错信息给出

另外:保持表同步 可以考虑下用订阅复制
------解决方案--------------------
你可以备份还原啊,低版本的是可以还原到高版本的。

另外你说无法附加有错误吗?
------解决方案--------------------
这说明你的数据有问题了,因为2000到2005还是需要升级的,所以你无法附加或者欢迎。需要将2000的错误修复,如果不解决的话可能会有更严重的错误出现。运行DBCC CHECKDB然后把错误贴出了。

如果你不想修复只是想导入数据,可以在2000中导出脚本,然后在SQL SERVER 2005中创建对象。创建完成后,使用导入导出向导将数据导入。