Как оптимизация производительности, я индексировал перестройку базы данных.экспорт результата работы агента sql в файл .csv
Я использовал ALTER TABLE ALL ON @table REBUILD WITH (FILLFACTOR = @fillfactor).
Я хотел бы назначить это как работу агента.
Теперь мое требование как:
Мне нужно экспортировать статистику индекса в CSV файла перед восстановлением индексировать
перестроить индекс
статистику экспорта индекса в CSV-файл после того, как восстановительный индекс.
Я просмотрел сценарий перестроения индекса в задании агента, и я вручную выполнил запрос статистики индекса, чтобы увидеть статус до и после задания агента.
как мне нужно автоматизировать процесс
- Статистика индекса перед восстановлением
- восстановления
- статистики после rebuiling.
Я использую этот скрипт для статистики.
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).
благодаря Правдин
Спасибо, я создал один пакет SSIS изменен, и он решил проблему, но ваше решение намного проще, чем то, что я реализовал, однако в подходе нет проблемы с производительностью, но ваш подход вдохновил меня. благодаря – prav 2010-11-29 03:54:25