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

Откуда: Минск
Сообщений: 28
Есть база, около 2 мрд. записей, 350Gb. Нужно изменить тип нескольких полей. Модель восстановления Simple временно включил.

--эти поля были типа numeric](12, 0)
alter table [dbo].[_Document41_VT386] alter column [_Fld392] [numeric](12, 2) NOT NULL;
alter table [dbo].[_Document41_VT386] alter column [_Fld1418] [numeric](12, 2) NOT NULL;


--эти поля были типа numeric](9, 0)
alter table [dbo].[_Document41_VT386] alter column [_Fld395] [numeric](11, 2) NOT NULL;
alter table [dbo].[_Document41_VT386] alter column [_Fld394] [numeric](11, 2) NOT NULL

Первые пару часов активно шла запись в файлы данных и конечно рос файл журнала транзакций до 670 Gb.

а теперь прошло уже 9 часов, и никак не отработает.
А потом нагрузки на процессор нет, только чтение/запись в журнал транзакций, и иногда всплески записи в файлы данных.

Почему так происходит? По идее должно изменить таблицу, естественно записывая все в журнал транзакций и все.
Почему идет чтение и запись журнала транзакций?

База размещена на экспериментальном сервере, который слабенький, только RAID 0 из 4-х дисков HDD.
Понятно что будет долго, но не настолько же.....
19 июн 16, 18:16    [19311453]     Ответить | Цитировать Сообщить модератору
 Re: Почему медленно отрабатывает запрос, из-за работы с меделенным файлом журнала транзакций  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
DangleFly
Почему так происходит? По идее должно изменить таблицу, естественно записывая все в журнал транзакций и все.
Почему идет чтение и запись журнала транзакций?
Кеп сообщает: ваши новые типы занимают места больше, чем старые.

Хотите контролируемы процесс? Ставьте 2012+, добавляйте новые null-поля. Далее апдейт небольшими порциями, который можно во сколько угодно потоков и с любой частотой делать. Как закончится, старые поля убиваете, новые переименовываете.

Все остальное долго, неконтролируемо и сопровождается всеми вашими вопросами.
19 июн 16, 18:58    [19311560]     Ответить | Цитировать Сообщить модератору
 Re: Почему медленно отрабатывает запрос, из-за работы с меделенным файлом журнала транзакций  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31965
Гавриленко Сергей Алексеевич
Все остальное долго, неконтролируемо и сопровождается всеми вашими вопросами.
А если в новую таблицу залить - вроде тоже должно быть приемлемо?
19 июн 16, 23:51    [19312335]     Ответить | Цитировать Сообщить модератору
 Re: Почему медленно отрабатывает запрос, из-за работы с меделенным файлом журнала транзакций  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
alexeyvg
Гавриленко Сергей Алексеевич
Все остальное долго, неконтролируемо и сопровождается всеми вашими вопросами.
А если в новую таблицу залить - вроде тоже должно быть приемлемо?
Можно и так.
19 июн 16, 23:55    [19312346]     Ответить | Цитировать Сообщить модератору
 Re: Почему медленно отрабатывает запрос, из-за работы с меделенным файлом журнала транзакций  [new]
Mr. X
Guest
alexeyvg
Гавриленко Сергей Алексеевич
Все остальное долго, неконтролируемо и сопровождается всеми вашими вопросами.
А если в новую таблицу залить - вроде тоже должно быть приемлемо?


Немного разовью: переливать можно порциями, для пущего контроля и ограничения длинны транзакции.
Правда при этом надо не забыть про гранды на таблицу источник.
20 июн 16, 00:02    [19312357]     Ответить | Цитировать Сообщить модератору
 Re: Почему медленно отрабатывает запрос, из-за работы с меделенным файлом журнала транзакций  [new]
Владислав Колосов
Member

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

а индексы дропнули перед тем, как?
20 июн 16, 13:19    [19314149]     Ответить | Цитировать Сообщить модератору
 Re: Почему медленно отрабатывает запрос, из-за работы с меделенным файлом журнала транзакций  [new]
DangleFly
Member

Откуда: Минск
Сообщений: 28
Владислав Колосов
DangleFly,

а индексы дропнули перед тем, как?




Нет, ничего не делал. Эти поля в индексы не входили.
Или имеете ввиду любые индексы на таблице?
20 июн 16, 19:41    [19315999]     Ответить | Цитировать Сообщить модератору
 Re: Почему медленно отрабатывает запрос, из-за работы с меделенным файлом журнала транзакций  [new]
DangleFly
Member

Откуда: Минск
Сообщений: 28
Гавриленко Сергей Алексеевич,

Через 16 часов дождался ответа от запроса.
Оказывается, было переполнение числа при конвертации из поля типа Число(12, 0) в тип Число(12, 2). Пару записей было в базе с нереальными на практике значениями.
Вот и происходил откат транзакции. Это все объясняет.... ))) А я уж подумал, что это настолько трудоемкая операция, что просто нереально быстро управлять большими таблицами без больших хитростей..... (((
20 июн 16, 19:46    [19316011]     Ответить | Цитировать Сообщить модератору
 Re: Почему медленно отрабатывает запрос, из-за работы с меделенным файлом журнала транзакций  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
DangleFly
просто нереально быстро управлять большими таблицами без больших хитростей..... (((
This. Хотя это все не такие уж и большие хитрости.
20 июн 16, 19:57    [19316041]     Ответить | Цитировать Сообщить модератору
 Re: Почему медленно отрабатывает запрос, из-за работы с меделенным файлом журнала транзакций  [new]
DangleFly
Member

Откуда: Минск
Сообщений: 28
Гавриленко Сергей Алексеевич,

Согласен с Вами.
Но для 1С-ника все это решается обычно гораздо проще... )))
20 июн 16, 20:43    [19316165]     Ответить | Цитировать Сообщить модератору
 Re: Почему медленно отрабатывает запрос, из-за работы с меделенным файлом журнала транзакций  [new]
DangleFly
Member

Откуда: Минск
Сообщений: 28
На небольших объемах, имею ввиду...
20 июн 16, 21:00    [19316212]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить