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

Откуда:
Сообщений: 1130
Вот стартовал REBUILD INDEX на таблице, в которую ижут интенсивные вставки, и сразу прервал запрос.

ALTER INDEX [IX_XXXXXX] on [ZZZZZZZ] REBUILD WITH(SORT_IN_TEMPDB=ON, ONLINE=ON)


Но сервер зарружен, симанда остаётся в статусе KILLED/ROLLBACK

Что делать
24 окт 17, 15:34    [20895910]     Ответить | Цитировать Сообщить модератору
 Re: rebuild index + KILL  [new]
MKDT
Guest
Ждать отката транзакции
24 окт 17, 15:35    [20895919]     Ответить | Цитировать Сообщить модератору
 Re: rebuild index + KILL  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36989
Ждать.
24 окт 17, 15:36    [20895923]     Ответить | Цитировать Сообщить модератору
 Re: rebuild index + KILL  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6801
Alexander Us,

ждать, dm_exec_requests % выполнения можно увидеть
24 окт 17, 15:36    [20895927]     Ответить | Цитировать Сообщить модератору
 Re: rebuild index + KILL  [new]
Alexander Us
Member

Откуда:
Сообщений: 1130
TaPaK
Alexander Us,

ждать, dm_exec_requests % выполнения можно увидеть


Всем спасибо!
Дождался!

Но: несмотря на немедленное прерывание команды скрвер заметно посел на ~10 минут.
dm_exec_requests % докатвыалось до ~90% и начинало считать сначала, и так мого раз.
24 окт 17, 15:39    [20895938]     Ответить | Цитировать Сообщить модератору
 Re: rebuild index + KILL  [new]
Alexander Us
Member

Откуда:
Сообщений: 1130
Alexander Us,

а не лучше ли перестроить индекс на высоко нагруженний таблице с использованием небольших ресурсов (Resource Governor)?
Я попробовал стартовать (и прервать через ~минуту) перестройку индекса с малыми ресурсами: проседания сервера и приложений не было.

Но меня волнует окончание сего процесса - когда новый индекс будет подготовлен, например минут через 30, сервер должен как то переключить новый индекс вместо старого. Так как процесс идет с малыми ресурсами, не окажется ли, что окончание операции перестройки просадит/затормозит вставки в таблицу?

Может кто поделится опытом - как вы перестраиваете индексы на высоко нагруженных таблицах?
Тормозятся ли при этом приложения?
24 окт 17, 16:03    [20896043]     Ответить | Цитировать Сообщить модератору
 Re: rebuild index + KILL  [new]
Критик
Member

Откуда: Москва / Калуга
Сообщений: 33700
Блог
Alexander Us,

Секционируйте ваши высоконагруженные таблицы, после этого нужно будет перестраивать только отдельные секции
24 окт 17, 18:51    [20896567]     Ответить | Цитировать Сообщить модератору
 Re: rebuild index + KILL  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36989
Критик
Alexander Us,

Секционируйте ваши высоконагруженные таблицы, после этого нужно будет перестраивать только отдельные секции
Онлайн-ребилд только в 2016 сделали. Если версия младше, смысла мало.
24 окт 17, 19:04    [20896583]     Ответить | Цитировать Сообщить модератору
 Re: rebuild index + KILL  [new]
msLex
Member

Откуда:
Сообщений: 8091
Гавриленко Сергей Алексеевич
Онлайн-ребилд только в 2016 сделали. Если версия младше, смысла мало.

2014
24 окт 17, 19:11    [20896593]     Ответить | Цитировать Сообщить модератору
 Re: rebuild index + KILL  [new]
Andy_OLAP
Member

Откуда: я знаю, что Хапоэль Беэр-Шева - чемпион
Сообщений: 3151
Alexander Us
Может кто поделится опытом - как вы перестраиваете индексы на высоко нагруженных таблицах?
Тормозятся ли при этом приложения?

Ночью. Заранее прогнав на тестовой базе.
Нет, не тормозятся, потому что не работают. Технический перерыв, "вот это всё" (с)
25 окт 17, 01:54    [20897268]     Ответить | Цитировать Сообщить модератору
 Re: rebuild index + KILL  [new]
Andy_OLAP
Member

Откуда: я знаю, что Хапоэль Беэр-Шева - чемпион
Сообщений: 3151
msLex
Гавриленко Сергей Алексеевич
Онлайн-ребилд только в 2016 сделали. Если версия младше, смысла мало.

2014

Для 2016 запилили REORGANIZE WITH COMPRESS_ALL_ROW_GROUPS, для columnstore - то, что доктор прописал. А в 2017 - Resumable Index Rebuild, индусы, переехавшие в США из Индии, мало того, что быстро доделывают, так еще и нормальную документацию успевают писать.
Обзор вкусного от Prashanth Jayaram
25 окт 17, 02:12    [20897279]     Ответить | Цитировать Сообщить модератору
 Re: rebuild index + KILL  [new]
msLex
Member

Откуда:
Сообщений: 8091
Andy_OLAP
msLex
пропущено...

2014

Для 2016 запилили REORGANIZE WITH COMPRESS_ALL_ROW_GROUPS, для columnstore - то, что доктор прописал. А в 2017 - Resumable Index Rebuild, индусы, переехавшие в США из Индии, мало того, что быстро доделывают, так еще и нормальную документацию успевают писать.
Обзор вкусного от Prashanth Jayaram

Какое отношение этот поток информации имеет к вопросу ТС-а?
25 окт 17, 13:36    [20898777]     Ответить | Цитировать Сообщить модератору
 Re: rebuild index + KILL  [new]
o-o
Guest
msLex
Какое отношение этот поток информации имеет к вопросу ТС-а?

оставьте его, пусть потопнет в собственной нескончаемой фигне.
после особо содержательных бесед на тему влияние варчаров на живучесть IAM-страниц
а также о полезности включения всех трэйс-флагов подряд
даже мне надоело его пинать.
непробиваемый он, разве что Гавриленко может этот поток остановить, прикрыв тему.
но не напасешься же его на все темы
25 окт 17, 13:55    [20898902]     Ответить | Цитировать Сообщить модератору
 Re: rebuild index + KILL  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 7780
Онлайн ребилды есть в энтерпрайз редакции только, по-моему начиная с 2012.
25 окт 17, 14:16    [20899020]     Ответить | Цитировать Сообщить модератору
 Re: rebuild index + KILL  [new]
o-o
Guest
Владислав Колосов
Онлайн ребилды есть в энтерпрайз редакции только, по-моему начиная с 2012.

нет, как минимум в 2008 R2 тоже онлайново ребилдилось (разумеется, Энтерпрайз),
но думаю, в 2005-ом появилось, ибо версионность.
только какая разница?
ТС ребилдит, значит версия с редакцией позволяют
25 окт 17, 14:27    [20899080]     Ответить | Цитировать Сообщить модератору
 Re: rebuild index + KILL  [new]
Alexander Us
Member

Откуда:
Сообщений: 1130
Владислав Колосов
Онлайн ребилды есть в энтерпрайз редакции только, по-моему начиная с 2012.


я делал на SQL2008 64 bit Enterprise:
ALTER INDEX [IX_XXXXXX] on [ZZZZZZZ] REBUILD WITH(SORT_IN_TEMPDB=ON, ONLINE=ON)

Проблема, как я описал выше - ребилд на нагруженной таблице.
25 окт 17, 14:47    [20899202]     Ответить | Цитировать Сообщить модератору
 Re: rebuild index + KILL  [new]
o-o
Guest
автор
Но меня волнует окончание сего процесса - когда новый индекс будет подготовлен, например минут через 30, сервер должен как то переключить новый индекс вместо старого. Так как процесс идет с малыми ресурсами, не окажется ли, что окончание операции перестройки просадит/затормозит вставки в таблицу

я вообще не понимаю, при чем тут "малые ресурсы" и именно "последний шаг".
какие такие ему нужны ресурсы-то?
все, что надо на последнем шаге, это заполучить Sch-M, на это никакой тучи ресурсов не надо.
а что надо, это чтобы не было тучищи обращающихся к индексу.
ибо если к туче обратившихся еще добавить писателя, лезущего после того, как запрошен Sch-M,
весь этот поезд выстроится в очередь, ибо писатель не может вклиниться до, он получит свой лок только после того,
как будет получен Sch-M.
25 окт 17, 15:38    [20899516]     Ответить | Цитировать Сообщить модератору
 Re: rebuild index + KILL  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 7780
автор
Тормозятся ли при этом приложения?

Как правило, значительно не тормозятся.
25 окт 17, 15:47    [20899546]     Ответить | Цитировать Сообщить модератору
 Re: rebuild index + KILL  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 7780
Просто ребилд происходит медленнее.
25 окт 17, 15:48    [20899550]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить