Pet*_*din 8 sql-server transaction-log
我是一个偶然的 DBA,作为一名开发人员,从对数据库管理知之甚少的人那里继承了几台数据库服务器(2005 年和 2008 年),而且似乎对了解更多有关该主题的兴趣更小。
我正在学习,目前正在尝试找出事务日志文件。
我们所有的数据库都设置了简单的恢复模型和自动收缩。我知道使用自动收缩通常是一个可怕的想法,但据我所知,这样做是为了防止事务日志失去控制。(自动收缩实际上是收缩日志文件还是仅仅收缩数据库?)
我在 SQL Server 2012 上发现了这个,并且想知道 2005 年和/或 2008 年是否属实,以及它的确切含义:“当数据库使用简单恢复模型时,数据库引擎会在检查点之后截断事务日志。[。 ..] 当虚拟日志已满 70% 时,数据库引擎会在简单恢复模型下触发自动检查点。” 在哪里指定虚拟日志大小?
我想在所有数据库上禁用自动收缩,但在我这样做之前,我需要知道日志文件不会很快失控。
任何帮助将不胜感激。
单个事务日志文件既有物理大小(您在磁盘上看到的大小),也有在物理文件中分解为称为虚拟日志文件 (VLF) 的逻辑部分。
自动增长和自动收缩都对物理事务日志文件进行操作。
事务日志截断(也称为“日志清除”)对事务日志 (VLF)的逻辑部分进行操作,并且不影响物理文件大小。这部分经常是混淆的主题。
日志文件必须始终增长以容纳大事务;关闭自动收缩将使日志文件保持其所需的最大大小,而不是物理减小其大小。
如果你没有大交易,禁用自动收缩是安全的;日志文件不会无限制地增长,就像如果数据库在FULL或BULK_LOGGED您没有进行事务日志备份时会发生的那样。
此行为与 SQL Server 2005+ 相同。
| 归档时间: |
|
| 查看次数: |
4288 次 |
| 最近记录: |