作爲性能優化,我做了索引重建數據庫。將sql代理作業結果導出到.csv文件
我用ALTER TABLE ALL ON @table REBUILD WITH(FILLFACTOR = @fillfactor)。
我想將此作爲代理工作安排。
現在,我的要求是:
我需要重建索引
重建索引的索引出口
統計到CSV文件後,之前的索引統計信息,以CSV文件導出重建索引。
我重複了代理作業中的重建索引腳本,並且我手動執行了索引統計查詢以查看代理作業前後的狀態。
怎麼辦,我需要重建
- 指數統計過程自動化。
我正在使用此腳本進行統計。
DECLARE @DATABASE VARCHAR(10)= 'AdventureWorksDW2008' SELECT OBJECT_NAME(IPS.OBJECT_ID) AS [TABLENAME], SI.NAME AS [INDEXNAME], IPS.INDEX_TYPE_DESC, IPS.AVG_FRAGMENTATION_IN_PERCENT, IPS.AVG_FRAGMENT_SIZE_IN_PAGES, IPS.AVG_PAGE_SPACE_USED_IN_PERCENT, IPS.RECORD_COUNT, IPS.GHOST_RECORD_COUNT, IPS.FRAGMENT_COUNT, IPS.AVG_FRAGMENT_SIZE_IN_PAGES FROM SYS.DM_DB_INDEX_PHYSICAL_STATS(DB_ID(N''+ @DATABASE +''), NULL, NULL, NULL , 'DETAILED') IPS JOIN SYS.TABLES ST WITH (NOLOCK) ON IPS.OBJECT_ID = ST.OBJECT_ID JOIN SYS.INDEXES SI WITH (NOLOCK) ON IPS.OBJECT_ID = SI.OBJECT_ID AND IPS.INDEX_ID = SI.INDEX_ID WHERE ST.IS_MS_SHIPPED = 0 ORDER BY 1,5
和重建。
ALTER TABLE ALL ON @table REBUILD WITH (FILLFACTOR = @fillfactor).
感謝 prav
謝謝你,我創建一個SSIS包以一種交替的方式,它已經解決了這個問題,但是你的解決方案比我實現的要簡單得多,但是在方法中沒有性能問題,但是你的方法激勵了我。謝謝 – prav 2010-11-29 03:54:25