我面临着与不断增长的日志文件相关的问题,因此我收到了错误。当我检查 SQL 日志时,我发现以下消息(错误日志中几乎 90% 都填充了这些消息)
SQL Server 遇到 1 次 I/O 请求需要超过 15 秒才能在文件中完成
几乎所有数据库都会发生这种情况,包括 temdb [.mdf 和 .ndf 文件] 以及我也收到以下消息
平均吞吐量:0.34 MB/秒 I/O 饱和度:196 次上下文切换 1210
最后一个未完成的目标:530 avgWriteLatency 2
FlushCache:在 142370 毫秒内清理了 6233 个 buf,384 次写入(避免了 99 个新的脏 buf),用于 db 6:0
我的 temdb 大小和其他数据库和日志文件大小足够大。
历史:
我的行动计划:
我发现日志文件的初始大小很小,增长了 10%。我计划将初始大小增加 512 MB,增加 512 MB 以获得合理数量的 VLF。
问题 1:虽然我会在非高峰时段进行工作,但进行这些更改是否有可能损坏我的数据库或日志文件?
问题二:数据库压缩方式会影响IO操作吗?如果是,我该如何解决?
我计划从防病毒检查中删除所有数据库和日志文件。
我计划将目标恢复时间更改为 < 1 分钟的数据库(特别是 tempdb 和我的数据库)
问题 3:这会影响我的数据库吗?我的意思是刷新缓冲区和写入磁盘应该可以提高性能,对吗?
问题 4:我有 3 个 tempdb …
我们有一个包含 60 个数据库的 SQL Server 2008 集群。
完整备份每晚运行一次,日志备份每 15 分钟运行一次。
该MSDB数据库恢复模型设置为简单(默认)。
为了能够查看这些作业的历史,我们必须设置一个清理历史日志的作业。
但是,当此作业运行时,日志文件MSDB会变大(20 - 40 GB)。
我们定期缩小日志文件,因为它有超过 80% 的“可用空间”
日志文件设置为按需增长,没有“自动收缩”
有什么办法可以避免这个日志文件增长?
我们应该启用“自动收缩”还是创建一个作业来收缩日志文件?
最好不要对自动增长设置使用百分比文件增长吗?
以下建议对 500GB 以下的数据库使用百分比值增长,但是否建议这样做?
http://performance-expert.blogspot.ie/2012/06/tuning-autogrow-settings-of-sql-server.html
如果磁盘空间有限或无法调整数据库大小,则应将 >autogrowth 值配置为固定百分比。例如,对于 500 GB 以下的数据库,将自动增长值配置为 >10%,如果数据库超过 500 GB,则配置为固定的兆字节数。
谢谢!
更新:下面我在一些数据库上添加了 Autogrowth 的快照。对此有什么建议吗?
还有什么是预测数据库大小的最佳方法?

我有一个进程渴望 tempdb,但我正在努力识别这个进程。
\n\n我有什么方法可以实现这一目标?
\n\n\n\n\n我们已收到警报,因为 Tempdb 现在已占据您之前在 T:\\ 驱动器上回收的空间。同样,磁盘上还剩余 10MB。从今天早上 10:18 开始,我可以在 REP 实例上的数据文件中看到许多自动增长事件。总共有 330 个自动增长事件,每个事件大小为 512MB,总计 168GB。
\n\n事后很难强调什么在 Tempdb 中使用了这个空间,您是否知道今天有任何进程可能以这种方式使用 Tempdb?
\n
/ ------------------------------------------------- ----------- \\
\n\n确定自动增长事件发生的频率
\n\n当 SQL Server 执行自动增长事件时,触发自动增长事件的事务必须等到自动增长事件完成后才能完成。当自动增长事件发生时,这些自动增长事件会导致您的性能略有下降。因此,最好能够适当调整数据库大小,以便很少发生自动增长事件。
\n\n如果您对系统上自动增长事件发生的频率感兴趣,您可以使用跟踪捕获这些事件。通过了解哪些数据库正在执行自动增长事件,您可以调整这些数据库文件增长属性,以便它们执行自动增长事件的频率降低。您可以使用探查器 \xe2\x80\x9cData File Auto-grow\xe2\x80\x9d 和/或 \xe2\x80\x9cLog File Auto-grow\xe2\x80\x9d 事件来跟踪这些数据库自动增长事件。如果您运行的是 SQL Server 2005 或更高版本,则默认跟踪已捕获这两个自动增长事件。如果您还没有\xe2\x80\x99t 关闭默认跟踪,那么您可以使用默认跟踪文件来查找这些自动增长事件。如果您已关闭默认跟踪,则可以启用它,或者设置新的探查器跟踪以捕获 \xe2\x80\x9cData File Auto-grow\xe2\x80\x9d 和 \xe2\x80\x9cLog File Auto-grow \xe2\x80\x9d 事件。
\n\n默认跟踪记录到文件中。我在清单 4 中提供了代码,向您展示如何从默认跟踪文件中提取所有自动增长事件。如果您创建自己的探查器跟踪会话来捕获这些自动增长事件,那么您将需要修改此脚本以满足您的探查器跟踪设置。
\n\n\n\n马塞洛·米奥雷利\n2014 年 3 月 11 日
\n\n\\*--------------------------------------------------*/\nDECLARE @filename NVARCHAR(1000);\nDECLARE @bc …Run Code Online (Sandbox Code Playgroud)