Chinaunix首页 | 论坛 | 博客
  • 博客访问: 161601
  • 博文数量: 37
  • 博客积分: 2030
  • 博客等级: 大尉
  • 技术积分: 405
  • 用 户 组: 普通用户
  • 注册时间: 2007-11-30 15:17
文章分类

全部博文(37)

文章存档

2011年(2)

2010年(3)

2009年(4)

2008年(13)

2007年(15)

我的朋友

分类:

2009-11-30 20:07:36

 现在手中有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)

有关帮助信息,请单击: 还原+Server&LinkId=20476

------------------------------

其他信息:

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

有关帮助信息,请单击:

------------------------------

按钮:

确定

------------------------------

附图如下:

 

详细错误信息附图如下:


 

【解决步骤】

      看了金庆的专栏的《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时输入的数据库名称可以是任意的一个名称,不必与原库名称相同。

阅读(523) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~