刚刚.Net相关知识技术互动平台(绿色天堂)
.Net知识技术交流、探讨、请教与共享(Visual Studio.Net、Asp.Net、VB/C#、.NetWindows应用程序、Windows服务、Socket通信、GIS、ArcGIS、JavaScript、Sql Server和Oracle等)
posts - 74,  comments - 474,  trackbacks - 40
      现在手中有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时输入的数据库名称可以是任意的一个名称,不必与原库名称相同。

转载本文说明(以下简称本说明):必须遵守《刚刚网络作品版权声明》,再转载。"本说明、作者、作者博客网址及作者博客坐落,本文中提及的各种说明、备注或附录性文字"必须被转载,且不得改变其原有内容和要表达的意图!
作者:刚刚   作者博客网址:http://lijigang.cnblogs.com/   作者博客坐落在博客园
把握现实生活,培养自身能力
掌握新型技术,提高自我力量

posted on 2008-06-06 13:37 刚刚 阅读(895) 评论(4)  编辑 收藏 所属分类: 数据库技术

FeedBack:
2008-06-06 14:22 | Jude Chen      
经常在2000和2005之间还原数据库

不过楼主的总结挺好的,暂时还没有发现这样的错误

改天研究一下
  回复  引用  查看    
#2楼 [楼主]
2008-06-06 17:37 | 刚刚      
@Jude Chen
我碰到问题时,到网上搜索,发现有关的文章不多,于是乎,就想写一篇此类的文章总结一下。
谢谢,感谢您认同本随笔呀!
  回复  引用  查看    
2008-07-06 22:35 | 老费 [未注册用户]
感谢楼主总结经验,现在还原正常了。
  回复  引用    
#4楼 [楼主]
2008-07-07 08:30 | 刚刚      
@老费
不用客气,呵呵,大家共同研究!
  回复  引用  查看    

标题  
姓名  
主页
Email (博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
该文被作者在 2008-06-06 17:36 编辑过


相关链接:
 
郑重声明:
本博客的所有内容均使用
{刚刚网络作品版权声明}
保护本博客网络作品版权
    非常欢迎您的到来!Asp.Net Ajax已经出台正式的第3.5版了,现将有关下载放在了本博客的置顶随笔中,有需要者请大家浏览此置顶随笔或者点击此处,因博客园上传附件大小和空间容量有限,刚刚(也就是本人)决定将最新版本放在CSDN资源上,望广大博友谅解。如果有人希望最新动态,请关注官方网站,网址请点击此处
本人其他博客:超越自我de博客刚刚.Net相关知识技术互动平台(粉色回忆)163博客百度博客

     ——刚刚 (公告)
赳赳老秦,复我河山;血不流干,死不休战! 9-9 18:38

<2008年6月>
25262728293031
1234567
891011121314
15161718192021
22232425262728
293012345

与我联系

搜索

 

常用链接

留言簿(12)

我管理的小组

我参与的团队

随笔分类(79)

随笔档案(73)

文章分类(1)

文章档案(1)

收藏夹(152)

本人其他博客

园子里的优秀博客

最新随笔

积分与排名

  • 积分 - 106283
  • 排名 - 377

最新评论

阅读排行榜

评论排行榜