SQL2000附加SQL2005数据具体方法
如题,若使用SQL2000附加SQL2005的数据库时在附加时会出现了错误602,提示“对sysindexes运行DBCC CHECKTABLE”因为数据库附加到2005的时候, 数据库文件已经自动升级到2005, 所以在2000下是无法再附加的(没有向上兼容的)直接restore或附加是不行的, 用脚本+导数据肯定没有问题。
2005转到2000的步骤步骤
1. 生成for 2000版本的数据库脚本
2005 的manger studio
-- 打开"对象资源管理器"(没有的话按F8), 连接到你的实例
-- 右键要转到2000的库
-- 任务
-- 生成脚本
-- 在"脚本向导"的"选择数据库"中, 确定选择的是要转到2000的库
-- 勾选"为所选数据库中的所有对象编写脚本"
-- 在接下来的"选择脚本选项"中, 找到"为服务器版本编写脚本"项, 选择"SQL Server 2000"
-- 其他选项根据需要设置
-- 最后把脚本保存到一个 .sql 脚本文件2. 在2000中创建目标数据库
在查询分析器(或2005的manger studio在打开脚本文件), 连接到SQL Server 2000,执行上面生成的脚本.以创建一个新的数据库3. 将数据从2005导到2000
2005 的manger studio
-- 打开"对象资源管理器"(没有的话按F8), 连接到你的实例
-- 右键要转到2000的库
-- 任务
-- 导出数据
-- 在"SQL Server 导入和导出向导"的"选择数据源"步骤中, 确定选择的是要导出的数  据库
-- 在"选择目标"步骤中, 连接到 2000, 并选择步骤2新建的库
-- 在"选择源表和源视图"中, 选择所有的表
-- 最后完成 
 

解决方案 »

  1.   

    我用的是SQL-server2005的数据库,不是2000的!!
      

  2.   

    就是在SQL-server2005上附加SQL-server2005的数据库文件时发生错误!!
      

  3.   

    你是否用sql2005的管理器去连接了sql2000的实例,然后去附加sql2005的库文件?
      

  4.   

    实际就是问你你是不是在用2000的实例去附加sql2005库文件。如果是的话,那么在2005里附加,然后用导入导出弄到sql2000里。因为sql2000不能附加sql2005的文件
      

  5.   


    你先装的2000,后装的2005, 默认情况下,localhost是你2000的实例,当然不能附加2005的库文件了 你用2005的管理器去连localhost相当于还是在2000的实例下进行附加,不知道说明白没有。
      

  6.   

    sqlexpress是sql2005引擎
    mssqlserver是sql2000引擎
      

  7.   

    管理器是管理器,实例是实列。
    管理器相当于一个客户端工具,实例才是数据库引擎(服务器)。
    你用sql2005管理器去连 localhost,相当于用sql2005的客户端工具去连了一个sql2000的数据库服务器。 
    尽管你这时是在sql2005管理器下进行附加的,但实际上,附加的对象是sql2000的数据库服务器。
    sql2005的数据文件,不能附加在sql2000数据库服务器下
      

  8.   

    其实老顾在原理上讲得已经很清楚了,只是没谈到实际的操作。那么我再补充一下吧。
    安装的sql2000的服务器是本地计算机名称,而sql2005的服务器是计算机名称\SQLEXPRESS
    现在查看你的sql2005管理器的连接的服务器名称,即对象资源管理器中的服务器,如果只是本地计算机名称,那么你连接的是2000数据库引擎,你会在数据库中发现你自己的2000数据库。这样的话先断开对象资源管理的连接,然后重新连接数据库引擎,记得把服务名称改为计算机名称\SQLEXPRESS。如果连接成功,那么恭喜你,你已经可以附加2005数据库了。如果失败,那么到外围应用配置器中把服务都打开,在重新连接一次。一般来说会成功的。