事务日志备份有以下3种类型

(1)纯日志备份:仅包含相隔一段时间的事务日志记录,而不包含任何大容量更改

(2)大容量操作日志备份.包括由大容量操作更改的日志和数据页,不支持时间点恢复

(3)尾日志备份:从可能已破坏的数据库创建,用于捕获尚未备份的日志记录。在失败后创建尾日志备份可以防止工作损失,

并且,尾日志备份可以包含纯日志或大容量日志数据

必须至少有一个完整备份或一个等效文件备份集,才能进行任何日志备份。通常DBA定期(如每周)创建数据库完整备份,

以更短的间隔(如每天)创建差异备份,并会频繁(如每10分钟)创建事务日志备份。

最恰当的备份间隔取决于一系列因素,如数据的重要性、数据库的大小和服务器的工作负荷

如果事务日志损坏,则将丢失自最新的日志备份后所执行的工作。

为此,建议经常对关键数据进行日志备份,并注意将日志文件存储在容错存储设备中

事务日志备份顺序独立于完整备份。可以生成一个事务日志备份顺序,然后定期生成用于开始还原操作的完整备份

------------------------------------------------华丽的分割线-----------------------------------------------------

最佳实践

每15~30分钟:事务日志备份

每天:差异备份

每周:完整备份

备份日志尾部失败后执行尾日志备份,以防止丢失所做工作,在失败之后并且在开始还原数据库之前,或者在故障转移到辅助数据库时,

备份活动日志(尾日志备份)。选择此选项等效于在TSQL 中backup log 语句中指定norecovery选项

1 BACKUP LOG [GPOSDB] To disk='D:\GPOSDB_logbackup_201207160152.bak'
2 GO

事务日志备份有时会比数据库备份大。例如,数据库的事务处理很多,从而导致事务日志迅速增大。

在这种情况下,应该经常地创建日志备份并清理事务日志

----------------------------------------------华丽的分割线----------------------------------------------------------------

清理事务日志

如果从来没有从事务日志中删除日志记录,逻辑日志就会一直增长,直到填满容纳物理日志文件的磁盘上的所有可用空间。

为了减少逻辑日志的大小,应定期截断事务日志。在SQLSERVER的最早版本中,截断事务日志意味着将进行数据库恢复或还原不再需要的日志记录物理删除。

但是,在最近的版本中,截断过程只是做标记,以便重新使用旧日志记录使用过的空间。此空间中的日志记录将最终被新的日志记录覆盖。

在事务日志已满的情况下,满的情况根据你的磁盘的容量大小,用户不能更新数据。backup log语句有双重的目的,

不仅可以备份事务日志,并且在事务日志满的时候,用户还可以利用他清理事务日志,移去事务日志中不活动的部分

截断并不减少物理日志文件大小,而是减少逻辑日志文件的大小并释放磁盘空间以供重新使用。

减少物理日志文件大小需要收缩事务日志文件

DBCC SHRINKFILE适用于当前数据库中的文件。要收缩的数据库不必在单用户模式下,收缩文件时,其他用户也可使用该数据库

 1 --例如:截断AdventureWorks数据库的事务日志,然后将日志文件收缩到10MB
2 USE [AdventureWorks]
3 GO
4 BACKUP LOG [AdventureWorks] WITH no_log
5 GO
6 EXEC [sys].[sp_helpdb] @dbname = 'AdventureWorks' -- sysname
7 GO
8
9 DBCC SHRINKFILE(AdventureWorks_Log,10)
10 GO

注意:清理事务日志的时候,不产生日志备份副本.考虑到数据库的恢复工作可能需要使用日志备份,应该先做日志备份,再清理事务日志!!

最后附上配图

SQLSERVER备份事务日志的作用的更多相关文章

  1. (转)对SQLSERVER数据库事务日志的疑问

    本文转载自桦仔的博客http://www.cnblogs.com/lyhabc/archive/2013/06/10/3130856.html 对SQLSERVER数据库事务日志的疑问 摸不透SQLS ...

  2. SQL Server备份事务日志结尾(Tail)

    原文:http://blog.csdn.net/tjvictor/article/details/5256906   事务日志结尾经常提交数据库未备份的事务日志内容.基本上,每一次你执行事务日志备份时 ...

  3. SQLServer数据事务日志操作

    日志备份 (log backup) 包括以前日志备份中未备份的所有日志记录的事务日志备份. (完整恢复模式) 使用SSMS数据库管理工具备份事务日志 1.连接数据库,选择数据库->右键点击-&g ...

  4. SQLserver提示事务日志已满无法重建索引,前台提示日志已满处理方案

    1.数据库--属性--选项--恢复模式:简单. 2.数据库--任务--文件类型:日志                            在释放未使用的空间潜重新组织页:1M 3.数据库--属性-- ...

  5. SqlServer 事务日志传输

    基本概念 可以使用日志传送将事务日志不间断地从一个数据库(主数据库)发送到另一个数据库(辅助数据库).不间断地备份主数据库中的事务日志,然后将它们复制并还原到辅助数据库,这将使辅助数据库与主数据库基本 ...

  6. (转)解释一下SQLSERVER事务日志记录

    本文转载自桦仔的博客http://www.cnblogs.com/lyhabc/archive/2013/07/16/3194220.html 解释一下SQLSERVER事务日志记录 大家知道在完整恢 ...

  7. 解释一下SQLSERVER事务日志记录

    解释一下SQLSERVER事务日志记录 大家知道在完整恢复模式下,SQLSERVER会记录每个事务所做的操作,这些记录会存储在事务日志里,有些软件会利用事务日志来读取 操作记录恢复数据,例如:log ...

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

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

  9. 第16周翻译:SQL Server中的事务日志管理,级别3:事务日志、备份和恢复

    源自: http://www.sqlservercentral.com/articles/Stairway+Series/73779/ 作者: Tony Davis, 2011/09/07 翻译:刘琼 ...

随机推荐

  1. 初识HTTP 1.1与HTTP 1.0

    HTTP 1.1与HTTP 1.0的比较 一个WEB站点每天可能要接收到上百万的用户请求,为了提高系统的效率,HTTP 1.0规定浏览器与服务器只保持短暂的连接,浏览器的每次请求都需要与服务器建立一个 ...

  2. kali2 source

    deb http://http.kali.org/kali sana main non-free contrib deb http://security.kali.org/kali-security/ ...

  3. EF selection expression 与 Linq备忘

    一.左连接查询 var query = people.GroupJoin(pets, person => person, pet => pet.Owner, (person, petCol ...

  4. [转]Centos配置国内yum源

    原文地址:http://blog.chinaunix.net/uid-23683795-id-3477603.html 网易(163)yum源是国内最好的yum源之一 ,无论是速度还是软件版本,都非常 ...

  5. 20150926kaggle Titanic入门篇excel&python

    1 excel数据透视表 这里主要是讲述了一下插入里面的数据透视表常用功能,数据透视表十分方便,比直接筛选还要简单,看数据很直观,这里大力推荐. 2 python&pandas 这里主要是讲述 ...

  6. dom cookie记录用户名

    <!doctype html> <html> <head> <meta charset="utf-8"> <title> ...

  7. 应用引擎BAE3.0(转)

    add by zhj: 其实我主要是想看看基于docker的PaaS的特性. 原文:http://developer.baidu.com/wiki/index.php?title=docs/cplat ...

  8. 关于“未使用GUID分区表”无法安装的解决方案

    原帖链接:http://itc.do-johodai.ac.jp/~s0823612/ 原版的Mac不能安装在mbr分区.必须得用GUID分区,其实装在mbr也可以,需要修改两个文件一个是OSInst ...

  9. mysql 字段操作

    1.添加字段 ALTER TABLE lucky_user ADD COLUMN id_type TINYINT NOT NULL DEFAULT '0' COMMENT "0: 普通用户, ...

  10. This is a sandbox of markdown

    A First Level Header A Second Level Header Now is the time for all good men to come to the aid of th ...