www.9778.com 1

Sql2000数据库的备份文件恢复到Sql2005的方法

Sql2000数据库的备份文件恢复到Sql2005的方法。分享一篇在sql 2005或sql server
2000中还原数据库时出现各种各样的问题时的解决方法,有需要的朋友可以参考,当然这只是我收集的一部份,并且所有问题都收集到的哦。

在还源数据库时出现以下错误(详情参见下图):

Today the client tell me. all database can not be backup. and give me an
error. “Filegroup is full”.

核心步骤:

问题一,还原失败提示

System.Data.SqlClient.SqlError: 在对 ‘C:Program FilesMicrosoft SQL
ServerMSSQL.1MSSQLBusinessDB.mdf’ 尝试
‘RestoreContainer::ValidateTargetForCreation’ 时,操作系统返回了错误
‘5(拒绝访问。)’。 (Microsoft.SqlServer.Express.Smo)

After i check . i found the correct resaon is backup device is not
correct, the file or folder was be deleted.

在sql server 2005 中直接右击数据库选还原数据库。

System.Data.SqlClient.SqlError: The backup set holds a backup of a
database other than the existing ‘XXX’ database.
(Microsoft.SqlServer.Express.Smo)

原因分析:

 

详细内容:

检查了一下发现原来是自己操作上的问题

没有对”C:Program FilesMicrosoft SQL
ServerMSSQL.1MSSQL”创建文件的权限,这是SQL2005对文件夹的安全性限制。

The operating system returned error 21
(failed to retrieve text for this error. Reason: 15105)
to SQL Server during a read at offset 0x00000000120000 in file
‘H:Databasexxx.mdf’

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

原来在SQL2005还要在选项当中勾选覆盖现有数据库,并且选择目标数据库的路径,操作才会成功的。

解决办法:

System.Data.SqlClient.SqlError: Cannot open backup device
‘C:DATABASE_shops.bak.2010-05-23-03-00-00-000.ADD’. Operating
system error 3(failed to retrieve text for this error. Reason: 15105).
(Microsoft.SqlServer.Smo)

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

习惯了SQL2000的操作,在SQL2005上就经常粗心大意了

修改文件夹到’C:Program FilesMicrosoft SQL
ServerMSSQL.1MSSQLData”或其他盘的文件夹下即可。注意:mdf文件和ldf文件的路径都要修改。

www.9778.com 1
The resion is the file is missing. the file or the folder has been
delete .

4、提示错误信息如下: 标题: Microsoft SQL Server Management Studio

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

有关帮助信息,请单击:
+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)

有关帮助信息,请单击: +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时输入的数据库名称可以是任意的一个名称,不必与原库名称相同。

注意:

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

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

说明是路径的问题,将数据库的备份文件
放在相应的路径下面,如上文的是”c:Program FilesMicrosoft SQL
ServerMSSQLdata”文件件下,重新添加文件即可。

问题二,还原数据库名问题

原因是:数据库备份的文件夹不存在了。

www.9778.com,还源数据库时出现以下错误

System.Data.SqlClient.SqlError: 在对 ‘C:Program FilesMicrosoft SQL
ServerMSSQL.1MSSQLBusinessDB.mdf’ 尝试
‘RestoreContainer::ValidateTargetForCreation’ 时,操作系统返回了错误
‘5(拒绝访问。)’。 (Microsoft.SqlServer.Express.Smo)

原因分析:

没有对C:Program FilesMicrosoft SQL
ServerMSSQL.1MSSQL创建文件的权限,这是SQL2005对文件夹的安全性限制。

解决办法:

修改文件夹到’C:Program FilesMicrosoft SQL
ServerMSSQL.1MSSQLData或其他盘的文件夹下即可。注意:mdf文件和ldf文件的路径都要修改。

其它参考

当还原数据库时,如果出现为备份或还原操作指定的设备太多;只允许指定64个

设备。RESTORE
DATABASE操作异常终止。这个错误时,说明你是在把从SQLServer2005

上备份的数据还原到SQLServer2000数据库上。出现这个错误:

1.并不说明你的电脑系统

有问题(不用重装系统)。2.你的SQLServer2005或SQLServer2000数据库安装的有问题(不

用重装数据库)。3.不用破口大骂微软垃圾。很简单,只要你连接上SQLServer2005的SQLEXPRESS实例。在SQLServer2005库上还

原即可。下载SQL Server Management Studio Express软件,这是用于连接管理

SQLServer2005的工具。可以帮助你还原数据库,强调一下,虽然使用

SQL Server Management Studio
Express这个工具了,SQLEXPRESS这个实例才是你要连接

的2005数据库(.SQLEXPRESS)。而不是或(local),如果是(.)或(local)说明你没有

连接上SQLServer2005数据库,还会报错,必须确信你真正连接上了SQLServer2005数据库。

最后总结一下:SQLServer2005和SQLServer2000的备份是不能通用的,因此,当还原

数据库时不能搞混,特别是,当从网上下载一些源代码,有些数据库的备份,没有注明是

2005还是2000的,当出现以上错误时,说明你是在把从SQLServer2005上备份的数据还原到

SQLServer2000数据库上。需要注意一下。