Sql-Server
可以選擇使用 OLA 的腳本排除某些分區
我已經使用 OLA 的腳本很長時間了,我很喜歡它們。
我有一個非常大的數據庫 - 20+ TB 有數百個分區表。
我通過刪除(合併舊分區)來清除舊數據。
它按日期分區,每週分區可以追溯到大約 6 個月。我必須按分區執行每日索引維護,以保持跟上的希望(實際上永遠不會趕上)。
我現在在 SQL 2017 上,並且正在嘗試使用Resumable選項按分區進行線上重建。
我發現每天我都在重建幾乎每個表中的目前分區,因為它總是碎片化,並且由於大量的插入,明天可能會再次碎片化。
我想做的是排除這個分區。
這是目前日期所在的分區。
即,我只想重建過去的分區。
將此作為選項將非常有幫助。
將此作為選項將非常有幫助。
從 OLA 中省略該表,並將其作為一個單獨的步驟重新索引有問題的段。
/*https://www.mssqltips.com/sqlservertip/1914/sql-server-database-partitioning-myths-and-truths/ */ -- to return fragmentation information on partitioned indexes SELECT object_name(a.object_id) AS object_name, a.index_id, b.name, b.type_desc, a.partition_number, a.avg_fragmentation_in_percent FROM sys.dm_db_index_physical_stats (DB_ID(), NULL, NULL , NULL, 'LIMITED') a JOIN sys.indexes b on a.object_id = b.object_id and a.index_id = b.index_id order by object_name(a.object_id), a.index_id, b.name, b.type_desc, a.partition_number --Rebuild only partition 11. ALTER INDEX IX_alert_events_timestamp ON dbo.alert_events REBUILD Partition = 11; GO