nik*_*iko 3 performance sql-server-2008
由于事务日志文件的大小(它增长到 200 GB),我不得不删除它,因为磁盘空间不足。我知道这不是一个好的做法,但无论如何之后表现非常糟糕。
有谁知道在这种情况下是否可以提高性能以及如何提高性能?
Jer*_*hka 17
出现此问题的原因可能是为了删除事务日志,您必须停止 SQL Server。这会导致缓冲池(缓存数据和执行计划)被擦除 - 不再运行的进程在内存中不会有任何内容。现在您已经重新启动了服务器,所有的执行计划都需要重新编译。
我还猜测您正在使用默认事务日志设置运行服务器,其中指定事务日志的默认大小为 1MB,并自动增长 10%。这些对于性能来说是非常糟糕的设置。事务日志在文件增长时必须将其清除为 0。您可以在更好的事务日志管理和数据库维护最佳实践第三部分 - 事务日志维护的8 个步骤中阅读有关事务日志管理的更多信息。
第一个问题是你对事务日志做了什么?您永远不应该删除事务日志。这就是您的数据库能够从崩溃中恢复的方式。
第二个问题是您是否有适当的日志备份解决方案?这是您的事务日志变得如此庞大的唯一原因。我建议查看 Ola Hallengren 的优秀备份脚本。
通常,您希望将事务日志增长到一个固定的、合理的大小,然后将其保留在那里。这将取决于您的数据库,但在过去,我在一周内监控日志文件的增长,每天早上进行完整的数据库备份,每 15 分钟运行一次日志文件备份。一旦我弄清楚事务日志可以有多大,我将事务日志的大小调整为比它大 15% 左右(但为8GB的倍数)。
小智 10
有两种方法可以防止数据库的事务日志无休止地增长:
许多人认为进行完整的数据库备份会截断日志 - 事实并非如此!只有日志备份才会截断日志。
将恢复模式设置为 SIMPLE(SSMS 中的数据库属性页面)将定期截断日志(每次发生检查点时),但您将无法进行增量备份(即事务日志备份)。因此,您只能将数据恢复到上次完整备份。
| 归档时间: |
|
| 查看次数: |
4581 次 |
| 最近记录: |