请教一个sqlserver2005附加及还原数据库的问题?
我现在有一个sqlserver2005建的数据库的MDF和ldf文件,请问如何才能把这个数据库附加或还原到SQLSERVER2000里呢?
最好能说下详细的步骤,谢谢了!

解决方案 »

  1.   

    先还原在sql 2005 环境上,然后用sql 2005 功能导成sql 2000 版本。
      

  2.   

    注:我问的是“在不装sqlserver2005的情况下,如何把这个数据库附加或还原到SQLSERVER2000里?”
      

  3.   

    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新建的库
    -- 在"选择源表和源视图"中, 选择所有的表
    -- 最后完成 
     
      

  4.   

    同一局域网另一台机子装也行,如果找不到2000服务器,那是不行的.
    实在不行,还可以把建表语句导出,再把数据转到文本里,然后2000中运行,也能还原.如:
    use test
    create table tb(id int,username varchar(10))
    insert into tb select 2012,'ushdf'
    union all select 2015,'vniuna'
    union all select 2016,'aewefd'
    goselect 'insert into tb select '+ convert(varchar,id) + ','''+username+'''' as writestr into tc from tb
    EXEC master..xp_cmdshell 'bcp test..tc out c:\tb.sql -c -S"SQLSERVERNAME" -U"sa" -P"mypassword"'go
    drop table tb,tc
      

  5.   

    那用sqlserver2005express如何附加或还原sqlserver2005express建的数据库MDF文件呢?
      

  6.   


    SQLSERVER2005 EXPREES似乎只能用语句附加,ATTACH语句。好像没有SSMS操作界面。