22 performance sql-server maintenance
我注意到一些 DBA 非常频繁地重新启动 SQL Server,有时甚至每晚都重新启动。我相信他们这样做是为了释放一些内存,或者也可能是为了加快查询速度。我知道在重新启动后必须重新编译查询计划,但即使包括这一点,我也想知道这种做法是否有净收益。
每天重新启动 SQL Server 会使其运行得更快吗?
Rem*_*anu 39
重新启动服务器可能是对性能最具破坏性的事情之一。这意味着您强制对数据进行冷缓存,对查询计划强制进行冷缓存,并且所有 SQL Server 内部缓存也在此过程中被破坏。更不用说通过丢弃在运营统计 DMV 中收集的所有统计数据,您会减少成功调查某事的机会。
没有支持这种做法的官方指南,我从未在任何良好实践中看到过有信誉的工作提到它,我从未听说过有信誉的专家将其作为一种做法提及。不要这样做。
Bre*_*zar 29
虽然其他答案很好,但它们缺少一个重要的部分:Windows 的文件缓存。
在 64 位 Windows 上,Windows 用于缓存文件的内存量没有上限。Windows 可能会完全耗尽系统内存,此时,您将开始交换到磁盘。它已记录在几个地方:
通过重新启动 SQL Server,您可以强制 SQL 放弃内存,从而让 Windows 获得更多内存,并且分页会暂时停止。SQL将在接近零内存使用时再次启动并逐渐上升,当盒子再次耗尽内存时,重新启动将暂时有所帮助。通过重新启动整个操作系统,您还将强制关闭 Windows 的文件缓存使用。
真正的解决方法:停止从 Windows 服务器复制文件或限制动态文件缓存服务使用的文件缓存量,如上述博客文章中所述。
Tho*_*ger 11
除非您更改了服务属性或设置了要立即生效的启动跟踪,否则不应重新启动 SQL Server。
正如@RemusRusanu 所说的那样,它清除了大量缓存并导致 SQL Server 做了大量不必要的启动工作。
听起来这台服务器不是专用的 SQL Server/数据库服务器。最好的做法是让生产数据库服务器只有一个用途……成为数据库服务器。在这种情况下,您将为操作系统留出足够的内存和资源,并将其他一切交给 SQL Server。这将导致您不会饿死任何其他应用程序或服务器角色。
归档时间: |
|
查看次数: |
23005 次 |
最近记录: |