注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

我的博客

等闲识得东风面,万紫千红总是春!

 
 
 

日志

 
 

sql server 2005还原sql server 2000的数据库备份  

2009-06-25 10:43:11|  分类: 数据库 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

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

 

DECLARE @cmd VARCHAR(500);

SET @cmd='';

SELECT

    @cmd=@cmd+';KILL '+RTRIM(spid)

FROM master.dbo.sysprocesses

WHERE dbid=db_id('数据库名');

EXEC(@cmd);

GO

RESTORE DATABASE dbname FROM DISK='D:\AAA.BAK' WITH REPLACE;

--返回由备份集内包含的数据库和日志文件列表组成的结果集。

sql server 2005还原sql server 2000的数据库备份 - 才人 - 我的博客--主要获得逻辑文件名

sql server 2005还原sql server 2000的数据库备份 - 才人 - 我的博客USE master

sql server 2005还原sql server 2000的数据库备份 - 才人 - 我的博客RESTORE FILELISTONLY

sql server 2005还原sql server 2000的数据库备份 - 才人 - 我的博客   FROM DISK = 'g:\back.Bak' 

sql server 2005还原sql server 2000的数据库备份 - 才人 - 我的博客Go

sql server 2005还原sql server 2000的数据库备份 - 才人 - 我的博客************************************************

sql server 2005还原sql server 2000的数据库备份 - 才人 - 我的博客/**//*

sql server 2005还原sql server 2000的数据库备份 - 才人 - 我的博客利用bak恢复数据库,强制还原(REPLACE)

sql server 2005还原sql server 2000的数据库备份 - 才人 - 我的博客STATS = 10 每完成10%显示一条记录

sql server 2005还原sql server 2000的数据库备份 - 才人 - 我的博客DBTest和DBTest_log是上面g:\back.Bak里的逻辑文件

sql server 2005还原sql server 2000的数据库备份 - 才人 - 我的博客*/

sql server 2005还原sql server 2000的数据库备份 - 才人 - 我的博客USE master

sql server 2005还原sql server 2000的数据库备份 - 才人 - 我的博客RESTORE DATABASE DB 

sql server 2005还原sql server 2000的数据库备份 - 才人 - 我的博客   FROM DISK = 'g:\back.Bak'

sql server 2005还原sql server 2000的数据库备份 - 才人 - 我的博客   WITH MOVE 'DBTest' TO 'E:\Program Files\Microsoft SQL Server2005\Data\DB.mdf', 

sql server 2005还原sql server 2000的数据库备份 - 才人 - 我的博客   MOVE 'DBTest_log' TO 'E:\Program Files\Microsoft SQL Server2005\Data\DB_log.ldf',

sql server 2005还原sql server 2000的数据库备份 - 才人 - 我的博客STATS = 10, REPLACE

sql server 2005还原sql server 2000的数据库备份 - 才人 - 我的博客GO

sql server 2005还原sql server 2000的数据库备份 - 才人 - 我的博客++++++++++++++++++++++++++++++++

sql server 2005还原sql server 2000的数据库备份 - 才人 - 我的博客

/**//*

sql server 2005还原sql server 2000的数据库备份 - 才人 - 我的博客备份数据DB 到.bak文件。然后利用此bak文件恢复一个新的数据库DBTest。

sql server 2005还原sql server 2000的数据库备份 - 才人 - 我的博客*/

sql server 2005还原sql server 2000的数据库备份 - 才人 - 我的博客USE master

sql server 2005还原sql server 2000的数据库备份 - 才人 - 我的博客BACKUP DATABASE DB 

sql server 2005还原sql server 2000的数据库备份 - 才人 - 我的博客  TO DISK = 'g:\DBBack0930.bak' 

sql server 2005还原sql server 2000的数据库备份 - 才人 - 我的博客RESTORE FILELISTONLY 

sql server 2005还原sql server 2000的数据库备份 - 才人 - 我的博客  FROM DISK = 'g:\DBBack0930.bak' 

sql server 2005还原sql server 2000的数据库备份 - 才人 - 我的博客RESTORE DATABASE DBTest 

sql server 2005还原sql server 2000的数据库备份 - 才人 - 我的博客  FROM DISK = 'g:\DBBack0930.bak' 

sql server 2005还原sql server 2000的数据库备份 - 才人 - 我的博客  WITH MOVE 'DBTest' TO 'E:\Program Files\Microsoft SQL Server2005\Data\DBTest.mdf', 

sql server 2005还原sql server 2000的数据库备份 - 才人 - 我的博客  MOVE 'DBTest_log' TO 'E:\Program Files\Microsoft SQL Server2005\Data\DBTest_log.ldf'

sql server 2005还原sql server 2000的数据库备份 - 才人 - 我的博客GO 


现在手中有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://hi.baidu.com/ecgql/blog/item/7f43cb2a5a7c469d033bf6d9.html

以下内容为自己的补充

如果经过上面的方法还是不可以的话 可能就是数据库备份的数据问题了

如果出现这样的错误提示画面

 

说明是路径的问题,将数据库的备份文件 放在相应的路径下面,如上文的是"c:\Program Files\Microsoft SQL Server\MSSQL\data\"文件件下,重新添加文件即可。
 


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/be_a_happylucky_dog/archive/2009/04/24/4105474.aspx

  评论这张
 
阅读(1544)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017