删除了SQL SERVER数据库文件,怎么恢复正常?求大神指点。
发布网友
发布时间:2022-04-23 09:30
我来回答
共2个回答
热心网友
时间:2022-04-08 09:04
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, 然后就完成数据的恢复!
热心网友
时间:2022-04-08 10:22
数据库文件是一个长期被软件读写的文件,所以你看到的SQL SERVER数据库文件其实是由很多碎片组成的,你自己用软件恢复过不可以正常使用是因为传统恢复误删除的软件只对没有碎片的文件才有用的,你想恢复误删的SQL SERVER文件应该从硬盘底层去找回碎片再把所有碎片重新组成文件,这就需要非常熟悉数据库文件结构的技术人员来解决了,目前也没集成的软件能解决,可以找正大数据这样的数据恢复公司解决。
sqlserver数据库删除了,怎么还原
2. 点击菜单中的 File > Recover,选择要恢复的数据库的数据文件(.mdf)3. Next > Next,进入 Recovery Configuration 界面,选择Custom(选择了Custom才可以选择从日志中恢复误删除的数据)。4. Next 进入 Recovery options 窗口,选中 Search for deleted records,并选择要恢复的数据库的日志文件路径...
sqlserver数据库数据被删除了怎么还原?
1、至少有一个误删除之前的数据库完全备份数据库的恢复模式(Recovery mode)是“完整(Full)针对这两个前提条件,如果这两个前提条件都存在,通过SQL语句只需三步就能恢复参考文章,无需借助第三方工具。2、备份当前数据库的事务日志:BACKUP LOG [数据库名] TO disk= N'备份文件名' WITH NORECOVERY...
我误删了电脑里的SQL系统文件,该怎么办?
1、你要确定你删除的是sqlserver的安装文件还是sqlserver的一些临时文件或其他一些非关键核心的运行文件。2、你要确定在你删除后,sqlserver是否有异常之处,也就是说你的删除操作对sqlserver带来的影响。3、如果对sqlserver有影响,最好能记住删除的文件名是什么,若是一些动态链接库文件等可以从别的版本一致...
sql数据库删除了怎么恢复数据
情况一、如果这两个前提条件都存在,通过sql语句只需三步就能恢复(参考文章),无需借助第三方工具。a)备份当前数据库的事务日志:backup log [数据库名]to disk= n'备份文件名'with norecovery b)恢复一个误删除之前的完全备份:restore database [数据库名]from disk = n'完全备份文件名'with ...
sqlserver数据库怎么恢复(数据库如何恢复)
1、打开企业管理器,右键单击你需要还原到的“数据库”节点,选择“所有任务”-“还原数据库”。2、在“还原数据库”对话框的“常规”选项卡中选择“从设备”。3、“还原自”-“磁盘”-“添加”,定位至备份文件.bak所在目录,选择该文件。依次确定退出。4、切换至“选项”选项卡查看“将数据库文件...
sqlserver怎么恢复删除
在Database Name中选择数据库 -> Attach-> 左面对话框中Browse-> View Log-> 就可以看到log记录了 想恢复的话: 右键Log记录 Undo Transation-> 选择保存文件名和路径-> 然后打开该文件到查询分析器里执行 T-sql代码就可以了 例如 如果Log是delete table where ...的话,生成的文件代码就是insert ...
SQLserver 存储过程被删除,怎么恢复
默认情况下,文件位于\Program Files\Microsoft SQLServer10.MSSQLSERVER\MSSQL(或者SQL Server安装主目录)的\Data子目录下。如果是处理物理数据库文件,那么名称将和数据库名称一样,但是带有.mdf扩展名。如果处理日志文件,那么名称和数据库文件的名称一样,但是有后缀_Log以及扩展名.ldf。建议使用默认扩展...
sql server 2008删除目录后怎么恢复
(同方法一中步骤3) 6成功恢复master数据库后,若要以正常的多用户模式重新启动服务器实例,必须先从“启动参数”框中删除刚才输入的“-m;”,然后重新启动SQL Server服务 恢复msdb数据库 在msdb数据库里存储较多的是SQL Agent里的内容,如作业、调度、操作员、警告等信息,同时还存放SQL Server Integration Service(SSIS...
SQL中怎么将删除的数据找回来
如果你删除后还未进行备份,可以停止SQL服务(这样才能复制数据库的文件)复制你误删除数据的数据库的数据文件(.mdf)和日志备份(.ldf)到另一台电脑,然后附加,再装上log explorer来恢复误删除的数据 如果你删除后已经进行了备份,那就没戏了,因为备份会清理日志,而log explorer是利用日志来恢复的,没...
SQL数据库还原步骤说明
执行恢复数据库步骤,首先在SMC中将historian数据库关闭。在SQL客户端停掉Runtime数据库,选择“删除”并勾选确认选项。然后,还原备份的.bak文件,将其放置在C:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\Backup目录下。接着,通过SQL客户端的“还原数据库”功能,选择设备并定位到...