SQL Server中用日志恢复数据的操作
发布时间:2024-01-01 07:11:45 所属栏目:MsSql教程 来源:DaWei
导读: 今天小编跟大家讲解下有关“SQL Server中用日志恢复数据的操作是怎样的”的内容 ,相信小伙伴们对这个话题应该有所关注吧,小编也收集到了相关资料,希望小伙伴们看了有所帮助。
今天小编跟大家讲解下有关“SQL Server中用日志恢复数据的操作是怎样的”的内容 ,相信小伙伴们对这个话题应该有所关注吧,小编也收集到了相关资料,希望小伙伴们看了有所帮助。 测试环境: 1、建立数据库和测试表 create database zp create table [zping.com]( id int, name varchar(20) ) 2、插入测试数据 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的可视化操作,下面是生成的代码: [code]BACKUP DATABASE [zp] TO DISK = N'C:\k.bak' WITH NOFORMAT, NOINIT, NAME = N'zp-完整 数据库 备份', SKIP, NOREWIND, NOUNLOAD, STATS = 10 GO[code] 注意:这时我们做一个完整备份 这时可能一不小心删除了一些数据。我们模拟一下:(假定删除了1,2的数据) deletefrom[zping.com]where(id=1orid=2) 注意:要记住大体的删除时间 这时发现删除错误了,怎么把数据找回来啊。方法有两个: 1、通过Log Explorer 查找进行恢复数据(我网站有此工具) 2、另一种方法通过恢复日志(指定时间点恢复)来恢复数据。 说明:第一个方法可以在线操作。 第二个方法必须停止数据库或者再另一个数据库恢复(前提是必须有一个完全备份和日志备份) 这里我们来讨论第二中方法指定时间点恢复: 1、这时对数据库事务日志做备份(注意,如果没做个数据库完整备份,是不能做事务日志备份的) 这时新建一个数据库zp(将以前的数据库改名),恢复数据库 这时我们看到,有两个还原的数据库备份,因为我对zp数据库备份了两次,两次的备份的数据文件都一样。这里我们选择最近时间的备份。 默认在数据库的设置如下:是追加到备份集里,所以会有两个备份。 同时,在”选项“里设置”不回滚“事务。 注意:通过事务日志还原数据库,必须选择"不回滚"事务。 这时发现,数据库一直是”正在还原“,这时还原数据库事务日志, 1、“常规”里选择时间,(刚删除的时间) 2、“选项”里将恢复状态设置为”回滚未提交“事务 确定后,查询数据库,发现数据回来了。 总结: 1、这是一般大型网站数据安全的一个办法,因为数据库比较大(可能有几百G)数据,做一次完整备份时间很长,而且影响数据库服务器的性能,为保证数据安全,大多采用完整备份+事务日志备份来保证数据安全。例如:一天做一次或者2天做一次完整备份,几个小时内做一次日志备份。(当然可以用写一个job来实现) 2、如SQL server 2005里的镜像就是采用的这种事务日志同步的方法保证数据的同步。 3、如果恢复的日志数据出现”LSN“太早和太晚说明了事务日志间的不连续。这时要注意备份的时间和顺序。 到此这篇关于“SQL Server中用日志恢复数据的操作是怎样的”的文章就介绍到这了,希望大家以后多多支持! (编辑:通化站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐