老版本的应用系统装在A机(Windows NT 4.0,Sql 7.0数据库),现在需要在B机上安装新版本的应用系统,操作系统用Windows 2000 Advanced Server,数据库用Sql 2000,需要将A机的非系统数据库迁移到B机中去,我自己按下面步骤操作,总是报错。
我是这么做的,在A机中的Sql 7.0中备份该非系统数据库,然后将备份文件拷贝到B机中,在B机中的Sql 2000中先新建同名数据库,然后使用拷贝过来的备份文件进行还原,但每次总是报错“备份集中备份的数据库与现有的数据库'***'不同。RESTORE DATABASE 操作异常终止。”。
有谁能够指点我,我的做法到底是否可行?除了这种方法,还有没有其他的办法可以达到我的要求?

解决方案 »

  1.   

    先确定sqlserver7.0能在2000上恢复吗?
      

  2.   

    1.不用建同名数据库,直接恢复.
    2.或者直接拷贝MDF,LDF,附加数据库.
    用代码附加的方法如下:权限
    只有 sysadmin 和 dbcreator 固定服务器角色的成员才能执行本过程。示例
    下面的示例将 pubs 中的两个文件附加到当前服务器。EXEC sp_attach_db @dbname = N'pubs', 
       @filename1 = N'c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs.mdf', 
       @filename2 = N'c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs_log.ldf'
      

  3.   

    感谢3楼兄弟给我的提示,还原和附加两种方法我都试了,也都操作成功。
    两种方法的操作步骤如下:
    第一种:直接还原
        1、不要在sql 2000中新建同名数据库,这点很重要,如果你新建了同名数据库再还原的话就会报错。
        2、“右键/所有任务/还原数据库”,“从设备”选中备份文件后,别着急点“确定”。一定要切换到“选项”下面,把“移至物理文件名”下的目录改为当前机器的正确目录,完了之后就可以顺利还原数据库了。分析:sql 7.0的默认安装位置和sql 2000完全不一样,所以备份文件会默认显示sql 7.0下的目录,一定要手动改成sql 2000下的目录才行。第二种:附加
        1、停止A机的sql 服务,将.mfd和.ldf两个文件拷贝到B机中。
        2、仍然不要在sql 2000中新建同名数据库,不然会提示该数据库已存在。“右键/所有任务/附加数据库”,选中.mdf文件,开始附加。