Sql-Server

每晚重組所有表格的缺點

  • May 7, 2020

我考慮安排一個每晚重新組織所有表的 SQL Server 作業。我們沒有企業,所以我們不能線上重建(這意味著我們需要重組)。我們也不想在碎片化和空間維護上投入太多時間,因此我們正在尋求一種可以快速實施且未來不需要進一步時間投入的解決方案。

對恢復的生產備份的測試表明,在減少碎片和重新獲得空間方面,重組幾乎與重建一樣好。

這是一個合理的想法嗎?該方案是否會在可用性或可維護性方面產生問題?這是一個合理的長期解決方案嗎?

有更好的方法 - 只是每晚重新組織所有索引可能會非常浪費。為什麼還要費心重組一個 12% 碎片化的索引呢?如果需要 30 分鐘而只減少 2% 或 3% 的碎片,為什麼還要每晚重新組織 10GB 的索引?無論如何,您應該花費多少精力來重組大部分或完全在記憶體中的索引 - 確保節省了一些磁碟空間,但您必須將索引拉出緩衝區才能這樣做 - 節省的空間是否值得導致性能下降?

那裡有免費的腳本可以幫助您做出其中一些決定,並且很容易覆蓋預設值:

SentryOne 還有一個名為SQL Sentry的工具(不是免費的) ,它通過提供完整的歷史報告、廣泛到細粒度的規則和計劃來重組/重建哪些索引以及何時(從伺服器範圍到單個索引和甚至分區),對並發操作的支持(如果您的維護視窗很緊的話),用於調度的拖放日曆,以及準確評估您正在做的工作如何影響性能的能力。

引用自:https://dba.stackexchange.com/questions/33751