sqlserver还原数据库失败 SqlServer 2000 通过.bak文件还原数据库的时候,报这个错误
大家好,感谢邀请,今天来为大家分享一下sqlserver还原数据库失败的问题,以及和SqlServer 2000 通过.bak文件还原数据库的时候,报这个错误的一些困惑,大家要是还不太明白的话,也没有关系,因为接下来将为大家分享,希望可以帮助到大家,解决大家的问题,下面就开始吧!
sql server 2008数据库还原报不兼容错误
很明确啊!你备份时的数据库版本和当前运行的数据库版本不一致,所以存在不兼容问题。看看当前这个版本在还原数据时是否可以忽略不兼容的信息,直接进行还原。否则只有在同版本进行还原,然后导出成通用格式数据,然后再导入到当前版本的数据库中。
如何还原sqlserver数据库
SQL Server中误删除数据的恢复本来不是件难事,从事务日志恢复即可。但是,这个恢复需要有两个前提条件:
1.至少有一个误删除之前的数据库完全备份。
2.数据库的恢复模式(Recovery mode)是“完整(Full)”。
针对这两个前提条件,会有三种情况:
情况一、如果这两个前提条件都存在,通过SQL语句只需三步就能恢复(参考文章),无需借助第三方工具。
a)备份当前数据库的事务日志:BACKUP LOG [数据库名] TO disk= N'备份文件名' WITH NORECOVERY
b)恢复一个误删除之前的完全备份:RESTORE DATABASE [数据库名] FROM DISK= N'完全备份文件名' WITH NORECOVERY, REPLACE
c)将数据库恢复至误删除之前的时间点:RESTORE LOG [数据库] FROM DISK= N'第一步的日志备份文件名' WITH STOPAT= N'误删除之前的时间点', RECOVERY
情况二、如果第1个前提条件不存在,第2个前提条件存在,需要借助第三方工具。
情况三、如果第2个前提条件不存在,无法恢复。所以,一定要将数据库恢复模式设置为“完整(Full)”。
我现在面临的是第二种情况,需要找第三方工具。
开始找的是Log Explorer for SQL Server,不支持SQL Server 2008。
后来找的是SQL Log Rescue,也不支持SQL Server 2008。
接着找到的是SysTools SQL Recovery,支持SQL Server 2008,但需要购买,Demo版并没有数据恢复功能。
最终在officerecovery.com上找到Recovery for SQL Server,虽然也是商业软件,需要购买,但Demo版可以恢复数据,只要数据库文件不超过24Gb。幸好朋友的数据库文件不大,用它完成了误删除数据的恢复。
下面分享一下用Recovery for SQL Server进行恢复的操作步骤:
1.运行Recovery for SQL Server
2.点击菜单中的 File> Recover,选择要恢复的数据库的数据文件(.mdf)
3. Next> Next,进入 Recovery Configuration界面,选择Custom(选择了Custom才可以选择从日志中恢复误删除的数据)。
4. Next进入 Recovery options窗口,选中 Search for deleted records,并选择要恢复的数据库的日志文件路径(log file path)。
5. Next并选择目标文件夹(Destination folder),用于存放恢复过程中生成的SQL语句与bat文件。
6.点击Start,开始恢复操作(在上一步选择的目标文件夹中生成相应的SQL文件与Bat文件),然后,出现 SQL Server Database Creation Utility窗口。
7. Next,选择被恢复数据存放的目标数据库。
8. Next,选择 Import availiable data from both database and log files
9. Next, Next,然后就完成数据的恢复!
SQL Server还原数据库失败怎么办
使用命令,是通过sqlserver的事务日志以及一个误删除前的数据库的完整备份进行还原,所以在sqlserver2012的维护计划向导中,要建立完整备份,差异备份和事务日志,具体如下
以及在数据库属性,选项设置中,设置为完整备份,做好如上两个设置,数据库误删后找回数据就会非常轻松,现在说一下如何还原sqlserver数据到故障点。
SqlServer 2000 通过.bak文件还原数据库的时候,报这个错误
一、为备份或还原操作指定的设备太多;只允许指定64个设备。RESTORE DATABASE操作异常终止。当还原数据库时,如果出现“为备份或还原操作指定的设备太多;只允许指定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。
二、在2005上备份了一个数据库,然后在2000上还原,05的兼容的版本已经设置了8.0,可是还原的时候,报以下这个错误:为备份或还原操作指定的设备太多;只允许指定64个设备。
RESTORE HEADERONLY操作异常终止。(Microsoft SQL Server, Error: 3205)
如果不用到sql 2005其中的新功能,比如diagram, CLR等,是可以回到sql 2000的。错误“RESTORE HEADERONLY……”等等意思是2005与2000的备份格式不同了,所以无法辨认,出错。用sql 2005 client side连接sql 2000 server,然后restore,这样,sql 2005的客户端可以认识sql 2005的备份格式,restore成功。
好了,文章到此结束,希望可以帮助到大家。