SQLSERVER备份事务日志的作用
事务日志备份有以下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备份事务日志的作用的更多相关文章
- (转)对SQLSERVER数据库事务日志的疑问
本文转载自桦仔的博客http://www.cnblogs.com/lyhabc/archive/2013/06/10/3130856.html 对SQLSERVER数据库事务日志的疑问 摸不透SQLS ...
- SQL Server备份事务日志结尾(Tail)
原文:http://blog.csdn.net/tjvictor/article/details/5256906 事务日志结尾经常提交数据库未备份的事务日志内容.基本上,每一次你执行事务日志备份时 ...
- SQLServer数据事务日志操作
日志备份 (log backup) 包括以前日志备份中未备份的所有日志记录的事务日志备份. (完整恢复模式) 使用SSMS数据库管理工具备份事务日志 1.连接数据库,选择数据库->右键点击-&g ...
- SQLserver提示事务日志已满无法重建索引,前台提示日志已满处理方案
1.数据库--属性--选项--恢复模式:简单. 2.数据库--任务--文件类型:日志 在释放未使用的空间潜重新组织页:1M 3.数据库--属性-- ...
- SqlServer 事务日志传输
基本概念 可以使用日志传送将事务日志不间断地从一个数据库(主数据库)发送到另一个数据库(辅助数据库).不间断地备份主数据库中的事务日志,然后将它们复制并还原到辅助数据库,这将使辅助数据库与主数据库基本 ...
- (转)解释一下SQLSERVER事务日志记录
本文转载自桦仔的博客http://www.cnblogs.com/lyhabc/archive/2013/07/16/3194220.html 解释一下SQLSERVER事务日志记录 大家知道在完整恢 ...
- 解释一下SQLSERVER事务日志记录
解释一下SQLSERVER事务日志记录 大家知道在完整恢复模式下,SQLSERVER会记录每个事务所做的操作,这些记录会存储在事务日志里,有些软件会利用事务日志来读取 操作记录恢复数据,例如:log ...
- SQL SERVER完整、差异和事务日志备份及还原(脚本和GUI实现) [原创]
一.完整备份.差异备份和事务日志备份的脚本 --完整备份数据库 BACKUP DATABASE Test_Bak TO DISK = 'E:\20150609_75\bak\Test_bak_full ...
- 第16周翻译:SQL Server中的事务日志管理,级别3:事务日志、备份和恢复
源自: http://www.sqlservercentral.com/articles/Stairway+Series/73779/ 作者: Tony Davis, 2011/09/07 翻译:刘琼 ...
随机推荐
- spark connect to Cassandra problem
Cassandra rowkey is Blob type, cannot select by spark. How?
- BITED数学建模七日谈之七:临近比赛时的准备工作
经过前面六天的文章分享,相信大家对数学模型的相关准备.学习都有了更新的认识,希望大家能从中有所收获,以便更高效地准备比赛和学习数学模型,本文是数学建模经验谈的最后一天:临近比赛的准备工作,希望在临近比 ...
- Mysql报错:1172 - Result consisted of more than one row
执行mysql函数时报错:1172 - Result consisted of more than one row 函数语句中select into语句中WHERE account = userNam ...
- koa 笔记 运行错误
按照 演示的代码 直接运行会出错,大家需要调整方式. http://koajs.cn/ 要安装以下 $ npm install -g n$ n 0.11.12$ node --harmony my-k ...
- Python使用UUID库生成唯一ID(转)
原文:http://www.cnblogs.com/dkblog/archive/2011/10/10/2205200.html 资料: Python官方Doc:<20.15. uuid — U ...
- oracle max()函数和min()函数
当需要了解一列中的最大值时,可以使用MAX()函数:同样,当需要了解一列中的最小值时,可以使用MIN()函数.语法如下. SELECT MAX (column_name) / MIN ...
- AutoCAD.NET二次开发错误集锦
1.CAD崩溃,错误“unhandled access violation reading”=“未将对象引用设置到对象的实例”. 2. 建模操作错误:指向给定边的指针为空. 建模操作错误:访问冲突. ...
- filter 过滤序列
class filter(object): """ filter(function or None, iterable) --> filter object Ret ...
- .net 配置ueditor
添加引用如下: <script src="../Ueditor/ueditor.config.js" type="text/javascript"> ...
- CodeForces 711A Bus to Udayland (水题)
题意:给定一个n*4的矩阵,然后O表示空座位,X表示已经有人了,问你是不能找到一对相邻的座位,都是空的,并且前两个是一对,后两个是一对. 析:直接暴力找就行. 代码如下: #pragma commen ...