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

Откуда:
Сообщений: 10
Здравствуйте, подскажите начинающему.

при выполнении DBCC INDEXDEFRAG
на двух индексах процесс застревает на длительное время, при этом в логи пишет последовательно:
сначало
DBCC: Compaction phase of index '_name' is XX% complete. [SQLSTATE 01000]
DBCC: Compaction phase of index '_name' is XX% complete. [SQLSTATE 01000]
......
а затем
DBCC: Defrag phase of index '_name' is XX% complete. [SQLSTATE 01000]
DBCC: Defrag phase of index '_name' is XX% complete. [SQLSTATE 01000]
....
и в итоге
Index Name | Pages Scanned | Pages Moved | Pages Removed
_name | 5268050 | 5268012 | 0

и это повторяется при каждом прохождении процедуры
подскажите нормально ли это? если да, то возможно ли увеличить скорость выполнения,
если нет, то как исправить ошибку?
31 дек 12, 02:10    [13710486]     Ответить | Цитировать Сообщить модератору
 Re: дефрагментация индексов  [new]
Glory
Member

Откуда:
Сообщений: 104751
khrom2
подскажите нормально ли это?

Если вы про информацию о ходе выполнения, то это нормально

Если вы про перемещение 5268012 страниц, то перемещения 40Гб индекса не может происходить моментально

khrom2
если нет, то как исправить ошибку?

- подумать над тем, зачем вы дефрагментируете этот индекс
- выяснить причины фрагментированности индекса
- подумать о целесообразности этого индекса
2 янв 13, 13:58    [13715996]     Ответить | Цитировать Сообщить модератору
 Re: дефрагментация индексов  [new]
Дедушка
Member

Откуда: Город трёх революций
Сообщений: 5126
khrom2
и это повторяется при каждом прохождении процедуры
с какой периодичностью запускаете?
структуру индекса покажите (скрипт create index).
2 янв 13, 17:27    [13716587]     Ответить | Цитировать Сообщить модератору
 Re: дефрагментация индексов  [new]
khrom2
Member

Откуда:
Сообщений: 10
Дедушка,

запускается раз в сутки, не совсем понимаю как узнать структуру с помощью create index
5 янв 13, 07:47    [13725256]     Ответить | Цитировать Сообщить модератору
 Re: дефрагментация индексов  [new]
khrom2
Member

Откуда:
Сообщений: 10
Glory,

подскажите возможность нахождения причин дефрагментации?
5 янв 13, 07:48    [13725258]     Ответить | Цитировать Сообщить модератору
 Re: дефрагментация индексов  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
khrom2
Glory,

подскажите возможность нахождения причин дефрагментации?
https://www.sql.ru/articles/mssql/03013101indexes.shtml#17
5 янв 13, 09:16    [13725283]     Ответить | Цитировать Сообщить модератору
 Re: дефрагментация индексов  [new]
khrom2
Member

Откуда:
Сообщений: 10
tpg,
вот что выдает после DBCC SHOWCONTIG

DBCC SHOWCONTIG scanning '_AccumRgT19816' table...
Table: '_AccumRgT19816' (1694017166); index ID: 1, database ID: 6
TABLE level scan performed.
- Pages Scanned................................: 5271388
- Extents Scanned..............................: 658953
- Extent Switches..............................: 661726
- Avg. Pages per Extent........................: 8.0
- Scan Density [Best Count:Actual Count].......: 99.58% [658924:661727]
- Logical Scan Fragmentation ..................: 0.06%
- Extent Scan Fragmentation ...................: 1.81%
- Avg. Bytes Free per Page.....................: 149.8
- Avg. Page Density (full).....................: 98.15%
DBCC execution completed. If DBCC printed error messages, contact your system administrator.
5 янв 13, 10:28    [13725337]     Ответить | Цитировать Сообщить модератору
 Re: дефрагментация индексов  [new]
Ennor Tiegael
Member

Откуда:
Сообщений: 3422
khrom2,

Во-первых, благородные доны обычно представляются публике посредством select @@version. Во-вторых, дефрагментацию делаете вы сами - ну или ваш джоб, не суть. А вот зачем вы ее делаете, не очень понятно - Scan Density у вас очень хороший, такое ощущение что это кластерник по identity-полю.

Дефрагментировать нужно только те индексы, которые в этом нуждаются. Все подряд - это конечно просто, но очень дорого. А вот методы оценки фрагментации будут зависеть, опять-таки, от результатов вашего select @@version...
5 янв 13, 11:31    [13725400]     Ответить | Цитировать Сообщить модератору
 Re: дефрагментация индексов  [new]
khrom2
Member

Откуда:
Сообщений: 10
Ennor Tiegael,

select @@version
Microsoft SQL Server 2008 R2 (RTM) - 10.50.1600.1 (X64) Apr 2 2010 15:48:46 Copyright (c) Microsoft Corporation Enterprise Edition (64-bit) on Windows NT 5.2 <X64> (Build 3790: Service Pack 2)
5 янв 13, 12:46    [13725508]     Ответить | Цитировать Сообщить модератору
 Re: дефрагментация индексов  [new]
Ennor Tiegael
Member

Откуда:
Сообщений: 3422
khrom2,

Ищите скрипты, выбирающие индексы по степени фрагментации и размеру - те, которые для оценки используют sys.dm_db_index_physical_stats. В гугле их навалом.

Да, и пропатчить сервер не помешало бы.
5 янв 13, 13:53    [13725685]     Ответить | Цитировать Сообщить модератору
 Re: дефрагментация индексов  [new]
khrom2
Member

Откуда:
Сообщений: 10
Ennor Tiegael,
подскажите а чем пропатчить?
5 янв 13, 16:59    [13726260]     Ответить | Цитировать Сообщить модератору
 Re: дефрагментация индексов  [new]
khrom2
Member

Откуда:
Сообщений: 10
Ennor Tiegael,

и что даст патч?
5 янв 13, 18:59    [13726613]     Ответить | Цитировать Сообщить модератору
 Re: дефрагментация индексов  [new]
Ennor Tiegael
Member

Откуда:
Сообщений: 3422
khrom2,

Последним сервис-паком для вашей версии. Брать на сайте микрософта, разумеется, и смотрите внимательно на версию, их там несколько разных.
Что даст? Багфиксы, далеко не всегда очевидные, но часто оказывающиеся важными. Иногда новый функционал. Да, клиента тоже надо патчить, не только сервер, если он у вас на другой машине стоит.

Ну и вопросы у вас, право :)
5 янв 13, 19:06    [13726639]     Ответить | Цитировать Сообщить модератору
 Re: дефрагментация индексов  [new]
khrom2
Member

Откуда:
Сообщений: 10
Ennor Tiegael,

спасибо за ответы и извините за вопросы, сам начинающий, на сервис пак я полагал, но сомнения были в существование иных патчей, поэтому решился спросить.
еще раз спасибо - разъяснили, помогли.
5 янв 13, 20:35    [13726876]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить