SQL Server数据库成为紧急模式怎么恢复

SQL Server数据库成为紧急模式怎么恢复,第1张

1、使数据库变为单用户模式

ALTER DATABASE 数据库名 SET SINGLE_USER

(当变成单用户的模式只能在同一个窗口执行语句)

2、修正数据库日志重新生成,此命令检查的分配,结构,逻辑完整性和所有数据库中的对象不正确。当您指定“REPAIR_ALLOW_DATA_LOSS”作为DBCC CHECKDB命令参数,该程序将检查和修正报告的不正确。但是,这些修正可能会导致一些数据丢失。

DBCC CheckDB (数据库名, REPAIR_ALLOW_DATA_LOSS)

3、使数据库变回为多用户模式

ALTER DATABASE 数据库名 SET MULTI_USER

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版并没有数据恢复功能。

最终在officerecoverycom上找到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, 然后就完成数据的恢复!

我不知道你用的是哪个版本的数据库~~~如果是SQL2005是这样 *** 作的

首先右击你要备份的数据库---任务---备份---添加---选择你备份文件的路径

输入备份文件名,记住一定要有后缀,也就是

bak

比如说

aaa。bak

然后一直确定就可以到你的备份路径下找到备份文件了

数据恢复的原理,你如果了解了硬盘的结构以后你会发现,我们的数据保存到有存储介质的盘片上,当我们保存数据的时候,就会在盘片上做凸凹不平而保存数据。如果我们删除了文件的时候,我们并没有把所有的凸凹不平的介质抹掉,而是把它的地址给抹去,而让 *** 作系统找不到这个文件,而认为它已经消失,可以在这个地方写数据,把原来的凸凹不平的数据信息给覆盖掉了,所以数据恢复的原理是,如果没被覆盖,我们就可以用软件,突破 *** 作系统的寻址和编址方式,重新找到那些没被覆盖的地方的数据并组成一个文件,如果几个小地方被覆盖,可以用差错效验位来纠正,如果覆盖太多,那么就每办法恢复了!所以提倡如果发现文件丢失,立即找数据恢复公司恢复,不要做任何 *** 作!

区别就在于,个人恢复的可能不会完全恢复,出现乱码,而数据恢复公司一般会100%恢复.

在sqlserver2012的维护计划向导中,要建立完整备份,差异备份和事务日志。

1、至少有一个误删除之前的数据库完全备份数据库的恢复模式(Recovery mode)是“完整(Full)针对这两个前提条件,如果这两个前提条件都存在,通过SQL语句只需三步就能恢复参考文章,无需借助第三方工具。

2、备份当前数据库的事务日志:BACKUP LOG [数据库名] TO disk= N'备份文件名' WITH NORECOVERY恢复一个误删除之前的完全备份RESTORE DATABASE [数据库名] FROM DISK = N'完全备份文件名' WITH NORECOVERY,  REPLACE。

3、将数据库恢复至误删除之前的时间点:RESTORE LOG [数据库] FROM  DISK = N'第一步的日志备份文件名' WITH   STOPAT = N'误删除之前的时间点' , RECOVER如果第1个前提条件不存在,第2个前提条件存在,需要借助第三方工具。

4、如果第2个前提条件不存在,无法恢复所以,一定要将数据库恢复模式设置为“完整开始找的是Log Explorer for SQL Server,不支持SQL Server 2008。后来找的是SQL Log Rescue,也不支持SQL Server 2008接着找到的是SysTools SQL Recovery,支持SQL Server 2008,但需要购买,Demo版并没有数据恢复功能。

5、最终在officerecoverycom上找到Recovery for SQL Server,虽然也是商业软件,需要购买,但Demo版可以恢复数据,只要数据库文件不超过24Gb用它完成了误删除数据的恢复。

以上就是关于SQL Server数据库成为紧急模式怎么恢复全部的内容,包括:SQL Server数据库成为紧急模式怎么恢复、sql数据库删除的表通过那个工具能恢复吗、简述数据库备份及恢复的方法等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10185516.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存