最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
当前位置: 首页 - 科技 - 知识百科 - 正文

如何通过日志恢复SQLServer数据

来源:懂视网 责编:小采 时间:2020-11-09 13:56:05
文档

如何通过日志恢复SQLServer数据

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

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

  这段时间看了关于在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 = NC:k.bak WITH NOFORMAT, NOINIT,

  NAME = Nzp-完整 数据库 备份, SKIP, NOREWIND, NOUNLOAD, STATS = 10

  GO

  查看数据:

如何通过日志恢复SQL Server数据

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

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

  delete from [zping.com] where (id=1 or id =2)

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

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

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

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

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

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

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

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

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

如何通过日志恢复SQL Server数据

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

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

如何通过日志恢复SQL Server数据

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

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

  确定后:出现下面情况:

如何通过日志恢复SQL Server数据

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

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

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

如何通过日志恢复SQL Server数据

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

  总结:

  1, 这是一般大型网站数据安全的一个办法,因为数据库比较大(可能有几百G)数据,为保证数据安全,大多采用完整备份+事务日志备份来保证数据安全。

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

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

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文档

如何通过日志恢复SQLServer数据

如何通过日志恢复SQLServer数据:这段时间看了关于在SQL server 中通过日志和时间点来恢复数据。也看了一些网上的例子,看如何通过日志来恢复数据。 前提条件: 数据库的故障恢复改为非简单模式,去掉自动关闭和自动收缩两个选项 如果是简单模式: 类似下面的语句操作数据就不会记录到日志中
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top