我的编程空间,编程开发者的网络收藏夹
学习永远不晚

SQL Server [备份恢复]:完整备份,差异备份或事务日志备份,尾部日志备份

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

SQL Server [备份恢复]:完整备份,差异备份或事务日志备份,尾部日志备份

事故背景:

突然间数据库无缘无故损坏了,差异备份或事务日志备份在3点才会自动去做,那么如何将2点到2点40之间的数据恢复呢?这就需要通过备份尾部日志进行恢复了。

环境描述:
  某公司装了一台SQL Server数据库,为了保证数据库能够在出现故障时及时的修复,管理员做了备份操作,比如说完整备份+差异备份或者完整备份+事务日志备份,而且备份的时间是每隔6个小时做一次完整备份,在每天的1点、6点、12点、18点,6个小时之内是每隔1个小时做一次差异备份事务日志备份,并且和计划任务结合在了一起。

  假如现在存在这样一种场景,在2点40分左右,突然间数据库无缘无故损坏了,差异备份或事务日志备份在3点才会自动去做,那么如何将2点到2点40之间的数据恢复呢?这就需要通过备份尾部日志进行恢复了。(必须确保log文件没有损坏)

原文出处:

***** http://blog.csdn.net/misterliwei/article/details/5884656****

http://www.w2bc.com/Article/44855

http://www.jb51.net/article/18613.htm

尾部日志:

http://blog.csdn.net/misterliwei/article/details/5884656 

http://blog.csdn.net/dba_huangzj/article/details/8491327 

SQL Server 备份基础 :

http://blog.csdn.net/dba_huangzj/article/details/22683687   

场景:

--1. Backup:

a. Fullbackup @1:00AM: (Every 6 hours)

111

222

  --insert into  [Temp].[dbo].[demo] values(111)

  --insert into  [Temp].[dbo].[demo] values(222)

  --alter databasetemp set  recovery full

  --backup databasetemp  todisk='D:\MSSQL10.MSSQLSERVER\MSSQL\Bak\Temp_full.bak' with INIT

b. DiffBackup 或者Logback @2:00AM : (Every 1 hour)

111

222

333

444

  --insert into  [Temp].[dbo].[demo] values(333)

  --insert into  [Temp].[dbo].[demo] values(444)

  --backup databasetemp  todisk='D:\MSSQL10.MSSQLSERVER\MSSQL\Bak\Temp_diff.bak' with INIT, differential

或者

  -- backup logtemp  todisk='D:\MSSQL10.MSSQLSERVER\MSSQL\Bak\Temp_log.bak' with INIT

差异备份或日志备份结束后,做了一些插入操作

  --insert into  [Temp].[dbo].[demo] values(555)

111

222

333

444

555

c. 在数据文件损坏后,完整备份恢复之前,做一次备份尾部日志,备份差异备份之后的改动

NO_TRUNCATE  LogBackup@2:45AM :

  -- BACKUP LOG temp TO DISK = 'D:\MSSQL10.MSSQLSERVER\MSSQL\Bak\Temp_log2.bak' WITH INIT, NO_TRUNCATE;

 GO

--2. Restore:

a. 删除原始数据库(先备份原始的mdf,ldf文件)

--drop database temp

b. 恢复完整备份,norecovery 模式,最后一次恢复选择recovery

--restore database temp from disk ='D:\MSSQL10.MSSQLSERVER\MSSQL\Bak\Temp_full.bak'  with norecovery

c. 恢复差异/日志备份,norecovery模式

--restore database temp from disk ='D:\MSSQL10.MSSQLSERVER\MSSQL\Bak\Temp_diff.bak'  with norecovery

--restore log temp from disk ='D:\MSSQL10.MSSQLSERVER\MSSQL\Bak\Temp_log.bak' with norecovery

d. 恢复’备份尾部’日志,recovery模式

--restore log temp from disk ='D:\MSSQL10.MSSQLSERVER\MSSQL\Bak\Temp_log2.bak'  with recovery

 

All data:

111

222

333

444

555

 


免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

SQL Server [备份恢复]:完整备份,差异备份或事务日志备份,尾部日志备份

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

【Oracle Database】数据库完整备份与日志备份

[oracle@wallet01 ~]$ cat /home/oracle/script/full_backup.sh#!/bin/bashif [ -f ~/.bash_profile ];then . ~/.bash_profilefiexport SH

	【Oracle Database】数据库完整备份与日志备份
2015-06-12

MySQL日志管理和备份与恢复

目录一.mysql 日志管理1、错误日志2、通用查询日志3、二进制日志4、慢查询日志5、查看日志6、实例操作二、数据库备份的重要性与分类1、数据备份的重要性2、从物理与逻辑的角度,备份分为:3、从数据库的备份策略角度,备份可分为:三、常见的
2023-04-03

Linux系统日志的备份与恢复

在Linux系统中,日志文件是记录系统活动的重要部分,对于系统管理员来说,定期备份和恢复日志文件是确保系统稳定性和数据安全性的关键步骤。以下是关于Linux系统日志备份与恢复的相关信息:Linux系统日志备份方法使用rsync命令:rsy
Linux系统日志的备份与恢复
2024-09-24

SQL Server数据库简单的事务日志备份恢复流程

目录模拟数据库备份恢复过程1.基础操作2.模拟日常操作注意模拟数据库备份恢复过程1.基础操作1.创建TestDB数据库,并添加数据USE [master]GOCREATE DATABASE TestDBCONTAINMENT编程
SQL Server数据库简单的事务日志备份恢复流程
2024-09-13

MyBatis视图在数据备份恢复中的日志管理

MyBatis 视图在数据备份恢复中的日志管理涉及多个方面,包括日志配置、日志级别设置、日志框架选择等。以下是关于MyBatis视图在数据备份恢复中的日志管理的相关信息:MyBatis日志管理概述日志配置:MyBatis支持多种日志框架,
MyBatis视图在数据备份恢复中的日志管理
2024-10-15

SQLServer 错误 3159 数据库 “%ls” 的日志尾部尚未备份。 如果该日志包含您不希望丢失的工作,则使用 BACKUP LOG WITH NORECOVERY 对

详细信息 Attribute 值 产品名称 SQL Server 事件 ID 3159 事件源 MSSQLSERVER 组件 SQLEngine 符号名称 LDDB_LOGNOTBACKEDUP 消息正文 ...
SQLServer 错误 3159 数据库 “%ls” 的日志尾部尚未备份。 如果该日志包含您不希望丢失的工作,则使用 BACKUP LOG WITH NORECOVERY 对
2023-11-05

SQLServer 错误 3417 无法恢复 master 数据库。 SQL Server 无法运行。 请利用完整备份还原 master 数据库,修复它,或者重新生成它。 有关如何重新生成 maste

详细信息 Attribute 值 产品名称 SQL Server 事件 ID 3417 事件源 MSSQLSERVER 组件 SQLEngine 符号名称 REC_BADMASTER 消息正文 ...
SQLServer 错误 3417 无法恢复 master 数据库。 SQL Server 无法运行。 请利用完整备份还原 master 数据库,修复它,或者重新生成它。 有关如何重新生成 maste
2023-11-05

编程热搜

目录