Backup--完整备份会打破现有的日志备份链么?
--问题描述:
--对数据库有一个周期性数据库备份和事务日志备份的维护计划,在维护计划外有工作人员对数据库进行完整备份,该备份会打乱现有的日志备份链么?
--==========================================================
--创建数据库
CREATE DATABASE BackupTestDB
GO
USE BackupTestDB
GO
--创建测试表
CREATE TABLE TB1
(
ID INT IDENTITY( 1,1 ) PRIMARY KEY,
ActionDesc NVARCHAR (200),
ActionTime DATETIME DEFAULT GETDATE()
)
--第一次完整备份
BACKUP DATABASE BackupTestDB TO DISK='G:\DBBackup\F1.BAK'
GO
--第一次完整备份后记录
INSERT INTO TB1( ActionDesc) SELECT N' 第一次完整备份后 '
GO
--第一次日志备份
BACKUP LOG BackupTestDB TO DISK ='G:\DBBackup\L1.BAK'
--第一次日志备份后记录
INSERT INTO TB1( ActionDesc) SELECT N' 第一次日志备份后 '
GO
--第二次完整备份
BACKUP DATABASE BackupTestDB TO DISK='G:\DBBackup\F2.BAK'
GO
--第二次完整备份后记录
INSERT INTO TB1( ActionDesc) SELECT N' 第二次完整备份后 '
GO
--第二次日志备份
BACKUP LOG BackupTestDB TO DISK ='G:\DBBackup\L2.BAK'
--第二次日志备份后记录
INSERT INTO TB1( ActionDesc) SELECT N' 第二次日志备份后 '
GO
--==========================================================
--还原方式
USE master
GO
--使用第一次完整备份恢复
RESTORE DATABASE BackupTestDB FROM DISK='G:\DBBackup\F1.BAK'
WITH NORECOVERY ,REPLACE
GO
--使用第一次日志备份恢复
RESTORE DATABASE BackupTestDB FROM DISK='G:\DBBackup\L1.BAK'
WITH NORECOVERY ,REPLACE
GO
--使用第二次日志备份恢复
RESTORE DATABASE BackupTestDB FROM DISK='G:\DBBackup\L2.BAK'
WITH RECOVERY ,REPLACE
GO
USE BackupTestDB
GO
SELECT * FROM TB1
还原方式
USE master
GO
--使用第二次完整备份恢复
RESTORE DATABASE BackupTestDB
FROM DISK ='G:\DBBackup\F2.BAK'
WITH NORECOVERY ,REPLACE
GO
--使用第二次日志备份恢复
RESTORE DATABASE BackupTestDB
FROM DISK ='G:\DBBackup\L2.BAK'
WITH RECOVERY ,REPLACE
GO
USE BackupTestDB
GO
SELECT * FROM TB1
--案例:
--有数据库DB1 ,该数据库由于长时间未做日志备份,导致数据文件为 GB,而日志文件有GB,为截断日志,工作人员对数据库进行完整备份 +日志备份,结果发现日志备份耗费大量时间,且生成的日志备份文件较大。
--解释:在数据库完成第一次完整备份后,第一次日志备份会以第一次完整备份为起始点开始备份日志,而后续的日志备份会以最近一次日志备份结束点为起始点开始备份,而不考虑最近一次完整备份。
--如果确认当前数据无问题同是想快速收缩日志文件,可以修改数据库恢复模式为简单模式,然后收缩日志文件,再进行完整备份 +事务日志备份
--建议:
--在DBA 维护过程中,会在维护计划外对数据库进行备份,备份应考虑当前维护计划,应该将备份文件存放到维护计划使用的目录下,尤其是对日志进行备份,如果不希望截断日志,可以使用 COPY_ONLY
Backup--完整备份会打破现有的日志备份链么?的更多相关文章
- MySQL完全备份脚本:数据+二进制日志+备份日志
一. 脚本须知 1.mysql数据文件和二进制日志文件最好保存在不同的分区或存储设备上 2.备份完成后注意修改数据的权限以防止泄露重要信息,哪些主机哪些用户可以用来恢复 3. 查看导出的2进制日志文件 ...
- sql server 完整备份、差异备份、事务日志备份
一. 理解: 完整备份为基础, 完整备份可以实物回滚还原,但是由于完整备份文件过大,对硬盘空间比较浪费这是就需要差异备份 或者 事务日志备份. 差异备份还原时,只能还原到备份的那个点, 日志备份还原时 ...
- 【SQL Server备份恢复】维护计划实现备份:每周数据库完整备份、每天差异备份、每小时日志备份
在数据库管理中,数据库备份是非常重要的. 通过维护计划向导,可以很方便的完成数据库备份. 下面的例子说明了如何实现数据库的备份,具体的备份策略是:每周日一次完整备份.每天差异备份(除周日外).每小时日 ...
- sqlserver全备份,差异备份和日志备份
差异备份是以上一个全备为基点,这个期间所有差异数据的备份. 日志备份是基于前一个全备+日志备份为基点,这个期间的事务日志的备份.(日志备份用于确保还原数据库到某个时间点) 在利用全备+日志备份 ...
- SQL SERVER完整、差异和事务日志备份及还原(脚本和GUI实现) [原创]
一.完整备份.差异备份和事务日志备份的脚本 --完整备份数据库 BACKUP DATABASE Test_Bak TO DISK = 'E:\20150609_75\bak\Test_bak_full ...
- SQL SERVER BUG--Alwayson日志备份报错
数据库版本 SQL SERVER 2012 企业版,版本号:11.0.5582.0 问题场景: 数据库配置Alwayson环境,同机房2节点同步自动切换+跨机房异步,在异步机房中选取同一节点做完整备份 ...
- mysql导出csv/sql/newTable/txt的方法,mysql的导入txt/sql方法...mysql备份恢复mysqlhotcopy、二进制日志binlog、直接备份文件、备份策略、灾难恢复.....................................................
mysql备份表结构和数据 方法一. Create table new_table_nam备份到新表:MYSQL不支持: Select * Into new_table_name from old_t ...
- 日志备份和差异备份还原中的常见问题示例(转自&邹建)
--创建测试 CREATE DATABASE db GO --正常备份 BACKUP DATABASE db TO DISK='c:\1.bak' WITH FORMAT BACKUP LOG ...
- SQL Server数据恢复——日志备份
太坑了,我把数据给删了 “大坑啊,数据被我误删了.”从事数据库相关工作的过程中,我想应该很多人会有过和我一样的遭遇吧?尤其是在进行update或者delete操作的时候,忘记了where条件.这些毁灭 ...
随机推荐
- 开始使⽤ZooKeeper的API
在之前的章节中,我们使用zkCli工具介绍了ZooKeeper的基本操作.从本章开始,我们将会看到在应用中如何通过API来进行操作.首先介绍一下如何使用ZooKeeper的API进行开发,展示如何创建 ...
- web开发-CORS支持
一.简介 Web 开发经常会遇到跨域问题,解决方案有:jsonp,iframe,CORS 等等 1.1.CORS与JSONP相比 1.JSONP只能实现GET请求,而CORS支持所有类型的HTTP请求 ...
- 解决“在上下文中找不到 owin.Environment 项”
网站发布到虚拟空间后,提示以下错误:在上下文中找不到 owin.Environment 项",百度了好长时间都没有解决.最后在web.config中添加以下配置. <system.we ...
- C# event 事件学习
C# event 事件学习 运行环境:Window7 64bit,.NetFramework4.61,C# 6.0: 编者:乌龙哈里 2017-02-26 章节: 简单事件编写 模拟 WPF 控件传递 ...
- UGUI 自动布局的重叠BUG
1,父级使用了verticalLayout(注意没有ContentSizeFilter),子级使用了ContentSizeFilter时,点击Apply常常发现,本来布局好的UI突然重叠到了一起,或位 ...
- Java并发之AQS详解(转)
一.概述 谈到并发,不得不谈ReentrantLock:而谈到ReentrantLock,不得不谈AbstractQueuedSynchronized(AQS)! 类如其名,抽象的队列式的同步器,AQ ...
- mysql语句与sql语句的基本区别
. MySQL支持enum和set类型,SQL Server不支持: . MySQL不支持nchar.nvarchar.ntext类型: . MySQL数据库的递增语句是AUTO_INCREMENT, ...
- 解剖Nginx·自动脚本篇(7)类型相关脚本系列
1 auto/types/sizeof 该脚本的功能,是通过测试程序获知给定的ngx_type的大小. 1.1 显示提示信息 echo $ngx_n "checking for $ngx_t ...
- 141. Linked List Cycle (List; Two-Pointers)
Given a linked list, determine if it has a cycle in it. Follow up: Can you solve it without using ex ...
- faster-rcnn目录介绍
data 用来存放pretrained模型,比如imagenet上的,以及读取文件的cache缓存 experiments 存放配置文件以及运行的log文件,另外这个目录下有scripts可以用end ...