通过日志恢复SQL SERVER数据的例子

通过日志恢复SQL SERVER数据的例子,第1张

概述这段时间看了关于在SQL server 中通过日志和时间点来恢复数据。也看了一些网上的例子,看如何通过日志来恢复数据。前提条件:数据库的故障恢复改为非简单模式,去掉自动关闭和自动收缩两个选项如果是简单模式: 类似下面的语句 *** 作数据就不会记录到日志中: select * into t from [表名]这时为…

这段时间看了关于在sql server 中通过日志和时间点来恢复数据。也看了一些网上的例子,看如何通过日志来恢复数据。

前提条件:

数据库的故障恢复改为非简单模式,去掉自动关闭和自动收缩两个选项

如果是简单模式: 类似下面的语句 *** 作数据就不会记录到日志中: select * into t from [表名]

这时为保证数据的完整要将数据库的恢复模式改成“完整”

测试环境:

1,建立数据库和测试表

create database zp

create table [zPing.com](

ID int,

name varchar(20)

)

插入测试数据:

insert into [zPing.com](ID,name)

values(1,'zPing.com1')

insert into [zPing.com](ID,name)

values(2,'zPing.com2')

insert into [zPing.com](ID,name)

values(3,'zPing.com3')

insert into [zPing.com](ID,name)

values(4,'zPing.com4')

备份数据库,可以通过sql server的可视化 *** 作,下面是生成的代码:

BACKUP DATABASE [zp] TO disK = N'C:k.bak' WITH NOFORMAT,NOINIT,

name = N'zp-完整 数据库 备份',SKIP,norEWIND,NOUNLOAD,STATS = 10

GO

查看数据:

注意:这时我们做一个完整备份

这时可能一不小心删除了一些数据。我们模拟一下:(假定删除了1,2的数据)

delete from [zPing.com] where (ID=1 or ID =2)

注意:要记住大体的删除时间

这时发现删除错误了,怎么把数据找回来啊。方法有两个:

1,通过Log Explorer 查找进行恢复数据(我网站有此工具)

2,另一种方法通过恢复日志(指定时间点恢复)来恢复数据。

说明:第一个方法可以在线 *** 作。

第二个方法必须停止数据库或者再另一个数据库恢复(前提是必须有一个完全备份和日志备份)

这里我们来讨论第二中方法指定时间点恢复:

1,这时对数据库事务日志做备份(注意,如果没做个数据库完整备份,是不能做事务日志备份的)

这时新建一个数据库zp(将以前的数据库改名),恢复数据库

这时我们看到,有两个还原的数据库备份,因为我对zp数据库备份了两次,两次的备份的数据文件都一样。这里我们选择最近时间的备份

默认在数据库的设置如下:是追加到备份集里,所以会有两个备份,如下图:

同时,在”选项“里设置”不回滚“事务,

注意:通过事务日志还原数据库,必须选择"不回滚"事务

确定后:出现下面情况:

#FormatimgID_3#

这时发现,数据库一直是”正在还原“,这时还原数据库事务日志,

1,“常规”里选择时间,(刚删除的时间)

2,“选项”里将恢复状态设置为”回滚未提交“事务

确定后,查询数据库,发现数据回来了。

总结

1, 这是一般大型网站数据安全的一个办法,因为数据库比较大(可能有几百G)数据,做一次完整备份时间很长,而且影响数据库服务器的性能,为保证数据安全,大多采用完整备份+事务日志备份来保证数据安全。例如:一天做一次或者2天做一次完整备份,几个小时内做一次日志备份。(当然可以用写一个job来实现)

2,如sql server 2005里的镜像就是采用的这种事务日志同步的方法保证数据的同步。

3,如果恢复的日志数据出现”LSN“太早和太晚说明了事务日志间的不连续。这时要注意备份的时间和顺序。

转自:http://www.cnblogs.com/skyaspnet/

总结

以上是内存溢出为你收集整理的通过日志恢复SQL SERVER数据的例子全部内容,希望文章能够帮你解决通过日志恢复SQL SERVER数据的例子所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

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

原文地址: https://outofmemory.cn/sjk/1156878.html

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

发表评论

登录后才能评论

评论列表(0条)

保存