Nul*_*nce 17 sql-server sql-server-2014
我们有一位 SQL 专家建议每周重建我们的表索引。我们目前正在这个星期六晚上进行,它会在重建过程中导致很多超时。如果可能,我想避免超时,那么进行每周索引重建是个好主意吗?
我们正在运行 MS SQL Server 2014。
更新我们在重建过程中收到此错误“System.Data.SqlClient.SqlException:超时已过期。操作完成之前超时时间已过,或者服务器没有响应。”
谢谢!
Kin*_*hah 16
不要盲目地重建所有索引。有一种非常聪明的方法来做到这一点。(提示:Ola Hallengren 的 SQL Server 索引和统计维护)
这是 Microsoft 的官方指南(这是一个很好的起点 - 而不是盲目地重建所有索引):
此外,如果您使用的是 sql server 企业版,那么重建是一个在线操作(REBUILD ONLINE = ON)
另外,请阅读:在线索引重建 - 可能导致碎片增加- 当它被允许MAX DOP > 1
与ALLOW_PAGE_LOCKS = OFF
指令一起运行时。
附带说明:Paul Randal在他的 MS 时代有一个很好的 VLDB 维护最佳实践清单:-)
使用 Ola 脚本的好处是它具有日志记录功能[日志到dbo.CommandLog
表] ,随着时间的推移,它会成为一个金矿,您可以从中获得真正的价值。
例如
dbo.CommandLog
来找出哪些索引经常碎片化,对它们进行碎片整理所花费的时间,如果您加入,sys.indexes
那么您可以绑定FILL FACTOR
和调整它。检查-monitoring-for-endless-index-defragmenting。 归档时间: |
|
查看次数: |
3109 次 |
最近记录: |