当前位置:数据库 > SQLServer >>

sql2005还原数据库错误的问题解决方法

问题一,还原失败提示

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

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

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

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

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

还源数据库时出现以下错误

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

 


原因分析:

没有对"C:Program FilesMicrosoft SQL ServerMSSQL.1MSSQL"创建文件的权限(可以把它复制到data),这是SQL2005对文件夹的安全性限制。

解决办法:

修改文件夹到'C:Program FilesMicrosoft SQL ServerMSSQL.1MSSQLData”或其他盘的文件夹下(如E:mydb)即可。注意: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数据库上。需要注意一下。

补充:数据库,Mssql 
Oracle
MySQL
Access
SQLServer
DB2
Excel
SQLite
SYBASE
Postgres
如果你遇到数据库难题:
请访问www.zzzyk.com 试试
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,