• 用Sql Server 2000的数据库备份来还原Sql Server 2005中的数据库


          现在手中有Sql Server 2000中的数据库备份文件(如果此备份文件没有后缀名*.bak或*.trn,请追加相应的后缀名),欲将此文件还原到Sql Server 2005中,还原时突然报错,为此在网上搜索了有关文章,金庆的专栏中有一篇《SQL2005备份还原问题 》讲解到了,但个人感觉不是很详细,现将分析和解决方法详细讲解。
    【简单回顾】
          如果我们有Sql Server 2000的数据库备份文件,要还原到另外一个Sql Server 2000数据库中,我们的操作是什么样的呢?
    1、在目标数据库服务器中,打开Sql Server 2000的企业管理器,并新建与原库同名的数据库;
    2、右键选择新建的数据库,找到并选择还原数据库,再随后的窗口中选择从设备;
    3、添加Sql Server 2000的数据库备份文件并勾选覆盖原有数据库,点击确定,还原成功!
    以上叙述为简单的回顾在Sql Server 2000中还原数据库的过程,虽然叙述的步骤不详细,但这大体的步骤已经可以说明一些问题了!请接着往下看……

    【还原Sql Server 2005】
          回顾完Sql Server 2000中的数据库还原步骤,那么要将Sql Server 2000的数据库备份还原到Sql Server 2005上是不是也是如此呢?于是我如此这般的做了:
    1、在目标数据库服务器中,打开SQL Server Management Studio,登录成功后,新建与原库同名的数据库;
    2、右键选择新建的数据库,选择“任务”下的“还原”,再随后的窗口中选择“源设备”;
    3、添加Sql Server 2000的数据库备份文件(此处的备份文件必须已经添加好后缀名),在列表中勾选此文件点击“确定”。
    4、提示错误信息如下:
    标题: Microsoft SQL Server Management Studio
    ------------------------------

    还原 对于 服务器“***”失败。  (Microsoft.SqlServer.Smo)

    有关帮助信息,请单击: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=9.00.3042.00&EvtSrc=Microsoft.SqlServer.Management.Smo.ExceptionTemplates.FailedOperationExceptionText&EvtID=还原+Server&LinkId=20476

    ------------------------------
    其他信息:

    System.Data.SqlClient.SqlError: 备份集中的数据库备份与现有的 '***' 数据库不同。 (Microsoft.SqlServer.Smo)

    有关帮助信息,请单击: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=9.00.3042.00&LinkId=20476

    ------------------------------
    按钮:

    确定
    ------------------------------
    附图如下:

    详细错误信息附图如下:

    【解决步骤】
          看了金庆的专栏的《SQL2005备份还原问题 》后知道,若要用Sql Server 2000成功还原到Sql Server 2005中并不能按照在Sql Server 2000中的还原步骤来还原,即不能新建与原库同名的数据库,正确的还原方法如下叙述:
    1、删除上述操作中新建的数据库或还原时要起的数据库名称相同的数据库名称,结合上图如删除已存在的'CN17006_db'数据库;
    2、右击“数据库”选择“还原数据库”;

    3、在出现的窗口中输入目标数据库,如输入CN17006_db,并选择“源设备”,点击浏览按钮;

    4、单击“添加”按钮,选择Sql Server 2000的备份文件,点击“确定”按钮到初始窗口,勾选文件前“还原”列的复选框;

    5、点击“确定”按钮,数据库还原成功。

    【关键所在】
          由上述内容不难看出来,使用Sql Server 2000的数据库备份文件还原Sql Server 2000的数据库和还原Sql Server 2005的数据库时,其关键所在就是在Sql 2000时是必须新建数据库并对其还原,而在Sql 2005时是必须不能新建数据库才能对其还原。另外一个区别就是Sql 2000时是要新建的数据库名称与原库名称相同,而Sql 2005时输入的数据库名称可以是任意的一个名称,不必与原库名称相同。

    作者对转载者要求说明(以下简称本说明):

    1、确保您已经遵守了《中华人民共和国信息网络传播权保护条例》,且必须遵守《刚刚网络作品版权声明》(若两文件有冲突内容以《中华人民共和国信息网络传播权保护条例》为准,但其他非冲突内容依然各自有效),再转载。

    2、“本说明、作者、作者博客网址及作者博客坐落,本文中提及的各种说明、备注或附录性文字”必须被转载,且不得改变其原有内容和要表达的意图!
    作者:刚刚   作者博客网址:http://lijigang.cnblogs.com/   作者博客坐落在博客园


    把握现实生活,培养自身能力
    掌握新型技术,提高自我力量

  • 相关阅读:
    中国开源现状如何?
    程序员怎么升职?
    如何从挫败感到成就感,身为程序员每天都在经历这些!
    现实版“无间道”,4名煞星潜伏,只为拖库!
    想想当初为什么做程序员!
    做程序员累的时候想想这个!
    别人问我:为什么程序员都不善言辞?惭愧啊!
    程序员被沦陷!国内程序员真的饱和了?
    JS和JSP的区别?
    web.xml配置WebApplicationContext的两种方法
  • 原文地址:https://www.cnblogs.com/lijigang/p/1215112.html
Copyright © 2020-2023  润新知