--问题描述:

--对数据库有一个周期性数据库备份和事务日志备份的维护计划,在维护计划外有工作人员对数据库进行完整备份,该备份会打乱现有的日志备份链么?

--==========================================================

--创建数据库

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--完整备份会打破现有的日志备份链么?的更多相关文章

  1. MySQL完全备份脚本:数据+二进制日志+备份日志

    一. 脚本须知 1.mysql数据文件和二进制日志文件最好保存在不同的分区或存储设备上 2.备份完成后注意修改数据的权限以防止泄露重要信息,哪些主机哪些用户可以用来恢复 3. 查看导出的2进制日志文件 ...

  2. sql server 完整备份、差异备份、事务日志备份

    一. 理解: 完整备份为基础, 完整备份可以实物回滚还原,但是由于完整备份文件过大,对硬盘空间比较浪费这是就需要差异备份 或者 事务日志备份. 差异备份还原时,只能还原到备份的那个点, 日志备份还原时 ...

  3. 【SQL Server备份恢复】维护计划实现备份:每周数据库完整备份、每天差异备份、每小时日志备份

    在数据库管理中,数据库备份是非常重要的. 通过维护计划向导,可以很方便的完成数据库备份. 下面的例子说明了如何实现数据库的备份,具体的备份策略是:每周日一次完整备份.每天差异备份(除周日外).每小时日 ...

  4. sqlserver全备份,差异备份和日志备份

      差异备份是以上一个全备为基点,这个期间所有差异数据的备份. 日志备份是基于前一个全备+日志备份为基点,这个期间的事务日志的备份.(日志备份用于确保还原数据库到某个时间点)   在利用全备+日志备份 ...

  5. SQL SERVER完整、差异和事务日志备份及还原(脚本和GUI实现) [原创]

    一.完整备份.差异备份和事务日志备份的脚本 --完整备份数据库 BACKUP DATABASE Test_Bak TO DISK = 'E:\20150609_75\bak\Test_bak_full ...

  6. SQL SERVER BUG--Alwayson日志备份报错

    数据库版本 SQL SERVER 2012 企业版,版本号:11.0.5582.0 问题场景: 数据库配置Alwayson环境,同机房2节点同步自动切换+跨机房异步,在异步机房中选取同一节点做完整备份 ...

  7. 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 ...

  8. 日志备份和差异备份还原中的常见问题示例(转自&邹建)

    --创建测试 CREATE DATABASE db GO    --正常备份 BACKUP DATABASE db TO DISK='c:\1.bak' WITH FORMAT BACKUP LOG  ...

  9. SQL Server数据恢复——日志备份

    太坑了,我把数据给删了 “大坑啊,数据被我误删了.”从事数据库相关工作的过程中,我想应该很多人会有过和我一样的遭遇吧?尤其是在进行update或者delete操作的时候,忘记了where条件.这些毁灭 ...

随机推荐

  1. 腾讯安全反病毒实验室解读“Wannacry”勒索软件

    背景 针对昨日英国医院被攻击,随后肆虐中国高校的 WannaCry 勒索事件,腾讯安全反病毒实验室第一时间给出了深度权威的分析.此次勒索事件与以往相比最大的亮点在于,勒索病毒结合了蠕虫的方式进行传播, ...

  2. 使用Spring MVC创建 REST API--2

    1.提供资源之外的其他内容 @ResponseBody提供了一种很有用的方式,能够将控制器返回的Java对象转换为发送到客户端的资源表述.实际上,将资源表述发送给客户端只是整个过程的一部分.一个好的R ...

  3. mongodb(三)

    索引详讲索引管理空间索引 for(var i = 0 ; i<200000 ;i++){ db.books.insert({number:i,name:i+"book"}) ...

  4. C#条形码生成(五)----Web下的测试

    Html部分 <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server" ...

  5. 微信小程序从入坑到放弃之坑十二:navigator无法跳转的坑

    转自:http://www.yilingsj.com/xwzj/2018-11-25/weixin-miniprogram-navigator.html 微信小程序中的页面跳转用navigator就行 ...

  6. objective c to pas

    https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIApplicationDelegate_Protocol ...

  7. 【307】◀▶ Python 相关功能实现

    目录: 1. Python 实现下载文件 2. 删除文件名中的点 “.” 3. 让 Python 脚本暂停执行的方法 4. 添 1. Python 实现下载文件 使用 urllib 模块提供的 url ...

  8. 团队合作的Ground Rules

    在每个Sprint中,我们会为Sprint的确定DOD(Definition of Done,完成的定义).在团队成员合作的过程中,我们也需要定义合作规则,这就是Ground rules,就像小学生守 ...

  9. Mysql合并两列数据

    实例: UPDATE x_yiyuanpinggu_nengli SET ch_yuzhongfangxiang = CONCAT(ch_yuanyuzhong,ch_mubiaoyuzhong) M ...

  10. 关于iOS URL缓存机制原理解析

    关于URL缓存机制中   利用request对象判断是否缓存   其实request是否相等的判断依据是URLString是否相等