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条件.这些毁灭 ...
随机推荐
- JavaScript Post提交数据并跳转到页面(模拟Form表单提交)
function GotoWatchTicketCode() { var orderID='@ViewBag.OrderInfo.OrderID'; var phoneNum='@ViewBag.Or ...
- 读《分布式一致性原理》zookeeper运维
1.配置详解 1.1基本配置 基本参数包括clientPort,dataDir和tickTime 1.2高级配置 下面我们再来看看zookeeper中一些高级配置参数的配置实用 2.四字命令 我们曾经 ...
- 第一章IP:网际协议
I P是T C P / I P协议族中最为核心的协议.所有的 T C P.U D P.I C M P及I G M P数据都以I P数据报格式传输(见图 1 - 4).许多刚开始接触 T C P / I ...
- 有关DotNetBar设计样式和运行时的样式不一致的问题
可以在 窗体类构造函数的InitializeComponent后加上下面圈出的内容: this.EnableGlass = false; 参考文章 DotNetBar如何控制窗体样式
- nginx的location和rewrite
1 Nginx rewrite基本语法 Nginx的rewrite语法其实很简单.用到的指令无非是这几个 set if return break rewrite 麻雀虽小,可御可萝五脏俱全.只是简单的 ...
- Log4j编写
来自: http://www.blogjava.net/zJun/archive/2006/06/28/55511.html Log4J的配置文件(Configuration File)就是用来设置记 ...
- [iOS]使用autolayout的时候会有明明设置和父视图左右间距为0但却还有空隙问题
有时候设置左右与父视图间距为0但却还有空隙,relative to margin 作怪,到关系里面,把这个取消掉.如关系里面的 firstitem 如果显示 xxView.trailling.marg ...
- java访问共享文件夹
由于工作需要读取局域网中一台机器的共享目录中的文件,需要jcifs-1.1.11.jar的支持,使用SMB协议,以下是实现了远程读取文件的功能: package junit; import jcifs ...
- 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 ...
- ubuntu Qt5 opencv3.4 项目配置
#------------------------------------------------- # # Project created by QtCreator 2019-03-25T14:14 ...