社区
疑难问题
帖子详情
日志收缩、日志截断的区别和联系
lcqyue11
2011-01-14 04:38:52
日志收缩、日志截断的区别和联系
...全文
783
8
打赏
收藏
日志收缩、日志截断的区别和联系
日志收缩、日志截断的区别和联系
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
rucypli
2011-01-15
打赏
举报
回复
首先,可通过日志截断操作收缩日志。日志截断不会减小物理日志文件的大小。但是,它却能减小逻辑日志的大小,并将不包含任何逻辑日志的虚拟日志标记为不活动。日志收缩操作会删除足够多的不活动虚拟日志,将日志文件减小到要求的大小。
减小是以虚拟日志文件为单位进行的。例如,如果有一个 600 MB 的日志文件分为六个 100 MB 的虚拟日志,则该日志文件的大小只能按 100 MB 递减。文件可以减小为 500 MB 或 400 MB,但不能减小为 433 MB 或 525 MB。
rucypli
2011-01-15
打赏
举报
回复
截断日志意味着将进行数据库恢复或还原不再需要的日志记录物理删除。但是,在近来的版本中,截断过程只是做标记,以便重新使用旧日志记录使用过的空间。此空间中的日志记录将最终被新的日志记录覆盖。
一品梅
2011-01-15
打赏
举报
回复
前者实际分配物理空间没变化,这是里面预留空间可以用
后者实际分配物理空间被压缩小了。
黄_瓜
2011-01-15
打赏
举报
回复
[Quote=引用 3 楼 xman_78tom 的回复:]
日志截断将日志文件中不再被恢复过程所需要的部分释放给 SQL Server 重新使用,不会将此部分占用的存储空间返回给文件系统,可以看到截断或日志文件的大小并没有改变。
日志收缩前需要先截断日志,然后才可以使用 DBCC SHRINKDATABASE 语句和 DBCC SHRINKFILE 语句将日志文件中不再被需要的部分所占用的存储空间释放给文件系统,日志文件将被收缩。
[/Quote]
v5
claro
2011-01-15
打赏
举报
回复
[Quote=引用楼主 lcqyue11 的回复:]
日志收缩、日志截断的区别和联系
[/Quote]区别:前者改变日志文件大小,后者切断日志链而不改变大小。
联系:都对日志文件操作,在数据库默认设置和简单恢复模式下,数据库会自动完成两者功能。
在完全恢复以及日志恢复模式下,不会自动做两者操作。
xman_78tom
2011-01-14
打赏
举报
回复
日志截断将日志文件中不再被恢复过程所需要的部分释放给 SQL Server 重新使用,不会将此部分占用的存储空间返回给文件系统,可以看到截断或日志文件的大小并没有改变。
日志收缩前需要先截断日志,然后才可以使用 DBCC SHRINKDATABASE 语句和 DBCC SHRINKFILE 语句将日志文件中不再被需要的部分所占用的存储空间释放给文件系统,日志文件将被收缩。
华夏小卒
2011-01-14
打赏
举报
回复
截断日志只是告诉你有的日志没有用了,这部分存储空间没有变化,可以被重新利用
要想改变日志大小,必须要收缩
飘零一叶
2011-01-14
打赏
举报
回复
◆日志收缩
截断日志虽然确实从日志文件中清除了事务,但它并不会真正的减小物理日志文件的大小。SQL Server希望事务日志最终会扩展到其截断前的大小,所以截断不会释放已经分配给日志的硬盘空间。如果你的日志在某一时刻人为地扩展到某个大小,却再也无法恢复到这个大小的话可就麻烦大了。
在这种情况下,要释放硬盘物理空间做其他用途,就要手动进行事务日志文件收缩操作。你可以使用下面的T-SQL命令实现日志文件的收缩:
DBCC SHRINKFILE(,)
上面命令中的desired_shrink_size指的是你想要回收的硬盘空间大小(以MB为单位)。你可以在执行完事务日志截断操作之后立即回收大部分的磁盘空间。
◆日志截断
截断事务日志操作就是清除事务日志文件中的非活动记录。在一般的情况下,SQL Server能够自动执行截断操作,不需要人工干预管理。截断的频率取决于数据库的使用程度。你每进行一次完整恢复模式或大容量日志恢复模式的数据库备份,SQL Server就会截断一次事务日志。如果是在简单恢复模式下(不能还原事务日志),SQL Server会在每个检查点之后截断事务日志。
你也可以通过间接的方式手动驱使SQL Server执行事务日志截断操作,需要运行备份操作,不过你可以给SQL Server下指示,表明你只想执行事务日志的备份操作,不做执行其他任何操作。通过以下的T-SQL命令仍然可以达到上述效果:
BACKUP LOG WITH TRUNCATE_ONLY;
简单来说
日志收缩:物理的收缩数据日志文件的大小
日志截断:逻辑的释放日志空间以供事务日志重新使用
MS SQL 2000 数据库批量
收缩
日志
截断
优化软件
通过定期运行本软件
收缩
数据库和
截断
日志
文件,对 MS SQL 2000 数据库进行优化,以保证 MS SQL 2000 数据库高效运转。 软件主要功能: ① 备份数据库到指定目录 ②
收缩
数据库,减少数据库体积 ③
截断
日志
文件,...
SQL SERVER Always On
收缩
日志
文件详细操作及问题处理(已亲测通过)
1.SQL SERVER Always On
收缩
日志
文件详细操作; 2.针对
收缩
日志
出现“cannot be shrunk until all secondaries have moved past the point where the log was added ”问题的分析及解决方法;
一次性精MySQL核心技术
技巧:这部分的重点是会讲解一些容易被开发人员忽略的技巧,例如utf8mb4字符集问题、如何使用外部临时表提高查询效率、快速创建同结构表及快速复制数据、
截断
表和删除数据使用和差异、以及怎样使用help语句查看帮助...
SQL 数据库2014 数据库事务
日志
截断
配置
如果SQL 数据库
日志
已比较大,务必先做一次事务
日志
收缩
。 本文档属于已
收缩
事务
日志
后编写的文档,切记切记
MSSQL数据库
日志
满的快速解决办法
2.
截断
事务
日志
: BACKUP LOG 数据库名 WITH NO_LOG 3.
收缩
数据库文件(如果不压缩,数据库的文件不会减小 企业管理器--右键你要压缩的数据库--所有任务--
收缩
数据库--
收缩
文件 --选择
日志
文件--在
收缩
方式里选择
收缩
...
疑难问题
22,210
社区成员
121,726
社区内容
发帖
与我相关
我的任务
疑难问题
MS-SQL Server 疑难问题
复制链接
扫一扫
分享
社区描述
MS-SQL Server 疑难问题
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章