如何实现数据库的还原

如何实现数据库的还原,第1张

必须将所有数据还原到相同的标记,以确保各个数据库间的事务状态一致。有关详细信息,请参阅标记的事务、完整备份和日志备份。如果目标系统中只有一个服务器,请确保还原了所有日志备份集(除了最新日志备份集以外)。有关详细信息,请参阅查看已还原备份的历史记录。如果没有还原所有日志备份集,并且当前没有运行还原作业,请运行还原作业(必要时,请手动运行)。如果存在尚未完成的可还原备份集,则作业将处理它们,直到所有备份集全部还原为止。如果目标系统中有多个服务器,则必须将所有服务器还原到相同的备份集。您必须查看每个服务器的还原历史记录,确保所有服务器上还原的最新日志备份集都是相同的。如果不同,则必须在需要还原最新日志备份集的每个服务器上手动运行还原作业。当所有的服务器都还原为相同的备份集后,最终的备份集可以手动还原。adm_BackupHistory 表是记录源系统日志传送过程历史记录的核心。所有执行的备份工作都记录到此表中。目标系统中的所有服务器都从此表读取信息,以获取执行其还原工作所需的信息。注意 如果从备份还原 BAM 主导入数据库,则还应该使用该 BAM 主导入数据库备份之前的备份来还原 BAM 存档数据库、BAM 星型架构数据库和 BAM 分析数据库。有关详细信息,请参阅备份和还原 BAM。

1、打开企业管理器,右键单击你需要还原到的“数据库”节点,选择“所有任务”-“还原数据库”。

2、在“还原数据库”对话框的“常规”选项卡中选择“从设备”。

3、“还原自”-“磁盘”-“添加”,定位至备份文件bak所在目录,选择该文件。依次确定退出。

4、切换至“选项”选项卡查看“将数据库文件还原为”下的路径当前是否存在且路径,如果路径不存在,则还原出错。同时如果路径下存在同名文件,需选中“在现有数据库强制还原”完成 *** 作。

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, 然后就完成数据的恢复!

简单情况下:进入原来mysql安装路径下的data文件夹下,找到相应的库和ibdata1,进行copy,就可回复原来的数据。

复杂情况下:

从另一台机上把MySQL数据库的mysql文件夹拷贝到本地机上,目的是恢复本地机对数据的访问和 *** 作。经过如下几种情况的 *** 作。

1 在本地重装MySQL(安装目录D:\Program Files\MySQL\MySQL Server 50),直接把mysql文件夹拷贝至D:\Program Files\MySQL\MySQL Server 50\。结果,失败:数据库连接错误。

2 卸载后重装MySQL,将D:\Program Files\MySQL\MySQL Server 50\下的数据备份,只把mysql\data文件夹全部内容拷贝到D:\Program Files\MySQL\MySQL Server 50\data下。结果,失败:数据库连接错误。将备份的数据还完覆盖。结果,失败,还是连接不上数据库。

3 卸载后重装MySQL,将mysql\data文件夹里的cf1,last文件夹(这两个是原来MySQL里的数据库)拷贝进D:\Program Files\MySQL\MySQL Server 50\data。连接成功,在Navicat for MySQL里看到数据库cf1和last,但是不能访问,因为数据全为零。明白了原来data里以数据库命名的文件存储的是数据库的表结构,不是元数据。下一步,把data文件夹里的ibdata1文件(34G大,明显存储了元数据)拷贝到D:\Program Files\MySQL\MySQL Server 50\data里,代替原来的ibdata1文件。重启电脑,打开Navicat for MySQL,连接成功,数据可以访问 *** 作。

至此, *** 作终于成功。其实当初在那台机上把数据导出来,而不是现在直接把文件夹mysql复制过来会更容易恢复。但那台机已经重装了系统,也就是说MySQL失效了。

您好!数据库的还原 *** 作主要有以下几种:

一、使用SQK的企业管理器来进行图形化的还原(打开管理器在还原的数据库上右击{任务}—还原;然后在d出的对话框中:选择要还原源文件和要还原目标的)

二、使用SQL代码还原:RESTORE

DATABASE

数据库名

FROM

DISK=

'F:\mybak

'

WITH

REPLACE。

三、做一个作业代理:在步骤哪里加入以上代码;可以实现定时自动还原。

四、使用附加的方式;这个需要有二个文件(日志和数据文件)

五、使用其它软件进行还原。

说明:还原可以从低版本到高版本;反之则出错。

以上就是关于如何实现数据库的还原全部的内容,包括:如何实现数据库的还原、sqlserver数据库怎么恢复(数据库如何恢复)、SQL数据库怎么还原 用友SQL SERVER恢复数据库误删除数据方法等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存