Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Зависает скрипт, который предоставляет информацию о фрагментации индексов, что не так?  [new]
abrashka
Member

Откуда:
Сообщений: 517
День добрый!
Нужно получить данные о фрагментации индексов, запускаю следующий скрипт, а он переодически зависает без видимых причин :(
Что может проблемой?
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
SELECT
 DB_NAME(DB_ID()) AS DatabaseName
 , ss.name AS SchemaName
 , OBJECT_NAME (s.object_id) AS TableName
 , i.name AS IndexName
 , s.avg_fragmentation_in_percent AS [Fragmentation%]
FROM sys.dm_db_index_physical_stats(db_id(),NULL, NULL, NULL, 'SAMPLED') s  
INNER JOIN sys.indexes i with(nolock) ON s.[object_id] = i.[object_id]
AND s.index_id = i.index_id
INNER JOIN sys.objects o with(nolock) ON s.object_id = o.object_id
INNER JOIN sys.schemas ss with(nolock) ON ss.[schema_id] = o.[schema_id]
WHERE s.database_id = DB_ID()
AND i.index_id != 0
AND s.record_count > 0
AND o.is_ms_shipped = 0
26 окт 17, 13:10    [20901906]     Ответить | Цитировать Сообщить модератору
 Re: Зависает скрипт, который предоставляет информацию о фрагментации индексов, что не так?  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36686
Ну так сделайте причины зависания видимыми, посмотрите статус сессии.
26 окт 17, 13:13    [20901915]     Ответить | Цитировать Сообщить модератору
 Re: Зависает скрипт, который предоставляет информацию о фрагментации индексов, что не так?  [new]
felix_ff
Member

Откуда: Moscow
Сообщений: 1172
abrashka,

ничего удивительного вы выбираете информацию о всех индексах (кроме куч) на всех таблицах БД.
если таблиц over 100 эта штуковина уже будет не очень быстро работать, а если таблицы еще и жирнющие то только ожидать, или ограничивать выборку по нужным вам таблицам.
26 окт 17, 14:20    [20902275]     Ответить | Цитировать Сообщить модератору
 Re: Зависает скрипт, который предоставляет информацию о фрагментации индексов, что не так?  [new]
abrashka
Member

Откуда:
Сообщений: 517
Гавриленко Сергей Алексеевич,
Никаких блокировок нет, процесс идет, но медленно, огромное количество ридов, думал, что в скрипте проблема

felix_ff,
Да, база порядка 300 гигабайт, более 500 таблиц, есть очень большие таблицы.
26 окт 17, 14:25    [20902303]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить