Как получить информацию о фрагментации индекса в SQL Server 2005 по сценариям - PullRequest
0 голосов
/ 21 декабря 2010

как получить информацию о фрагментации индекса в SQL Server 2005 по сценариям

Ответы [ 2 ]

1 голос
/ 21 декабря 2010

Вы можете найти его здесь .

0 голосов
/ 05 марта 2011

Я не знаю вашей ситуации, но если вы запустите такой скрипт в действующей базе данных, вы можете получить неприятные проблемы с производительностью во время ее работы. Если некоторые индексы сильно фрагментированы, скажем, более 40-50%, тогда это станет лучшей альтернативой для перестройки.
Но вы, конечно, можете сделать этот скрипт что-то вроде:

DECLARE cur_idx CURSOR
SELECT OBJECT_NAME(OBJECT_ID)
FROM sys.dm_db_index_physical_stats (DB_ID(), NULL, NULL , NULL, N'LIMITED')
WHERE avg_fragmentation_in_percent > @your_limit_for_fragmentation

OPEN CURSOR cur_idx

FETCH NEXT FROM cur_idx INTO @idx_name
WHILE @@FETCHSTATUS = 0 BEGIN
   --create dynamic sql statement 
END

- закрыть курсор и очистить

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...