Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Microsoft SQL Server |
![]() ![]() |
смотрю_тут Member Откуда: Сообщений: 1368 |
Как можно ускорить откат транзакции. Пользователь вчера запустил транзакцию, в итоге весь лог 50 Гб съесл все место, убили сессию, начался Rollback , соотвественно он теперь идет черепашьими темпами, т.к места нет. Как можно ускорить это дело ? я так понимаю никак, за исключением подмены файла лога после отсоединения базы. |
29 мар 13, 09:56 [14111133] Ответить | Цитировать Сообщить модератору |
invm Member Откуда: Москва Сообщений: 9633 |
|
||||
29 мар 13, 10:04 [14111155] Ответить | Цитировать Сообщить модератору |
Ozerov Member Откуда: Москва Сообщений: 3637 |
|
||
29 мар 13, 10:10 [14111181] Ответить | Цитировать Сообщить модератору |
Ozerov Member Откуда: Москва Сообщений: 3637 |
Если, конечно, есть их нехватка. |
||||
29 мар 13, 10:11 [14111184] Ответить | Цитировать Сообщить модератору |
смотрю_тут Member Откуда: Сообщений: 1368 |
там тип ожидания: IO_COMPLETION PAGEIOLATCH_EX да там пользователь своеобразный , ему сто раз говорили не запускать такие транзакции, уменьшать транзакции, а он все на своем. БД расположена на консолидированном сервере, кроме его баз , там еще 60 баз. Мы его специально в отдельный пул запихнули в говернере, и диск специаально для него выделели, чтоб он другим не мешал, так он теперь себе мешает, говорит, что мне теперь до 5 не работать, ну я его успокоил , сказал до 12 должна откатиться ) |
29 мар 13, 10:17 [14111214] Ответить | Цитировать Сообщить модератору |
Cygapb-007 Member Откуда: Сообщений: 1677 |
смотрю_тут, выдайте ему калькулятор, что без дела не сидел ![]() |
29 мар 13, 10:18 [14111219] Ответить | Цитировать Сообщить модератору |
смотрю_тут Member Откуда: Сообщений: 1368 |
посмотрел, перед тем как лог заполнился , транзакция выполнялась 5 часов, соответвенно откатываться будет примерно около 5 часов, так что до 12 не успеет откатиться |
29 мар 13, 10:43 [14111380] Ответить | Цитировать Сообщить модератору |
Ozerov Member Откуда: Москва Сообщений: 3637 |
Нормальная такая, транзакция... Вам удобно с ней сосуществовать ? :) |
||
29 мар 13, 10:44 [14111385] Ответить | Цитировать Сообщить модератору |
Гость333 Member Откуда: Сообщений: 3683 |
Вы на глазок, что ли, оцениваете? :-) Выполните такой запрос: select session_id, start_time, status, command, percent_complete from sys.dm_exec_requests where session_id = <spid длинной транзакции> И по времени старта, текущему времени и проценту завершённости вычислите предполагаемое время завершения. |
||
29 мар 13, 10:51 [14111427] Ответить | Цитировать Сообщить модератору |
смотрю_тут Member Откуда: Сообщений: 1368 |
это у меня вообще 0 % показывает, согласно sys.dm_exec_requests у него по плану был RemoteScan , но там приблизительное кол-во строк 10000, 22 мб, сколько на самом деле неизвестно. МОжно было немного высвободить места из файловых групп, но на шринк даже места в логе нет. |
||||
29 мар 13, 11:21 [14111615] Ответить | Цитировать Сообщить модератору |
смотрю_тут Member Откуда: Сообщений: 1368 |
Отсоединение базы можно сделать во время отката транзакции? или все равно нужно ждать отката. Хочу поробовать её отсоединить, и присоединить с другого диска, где есть место,там может откатится |
29 мар 13, 11:28 [14111665] Ответить | Цитировать Сообщить модератору |
смотрю_тут Member Откуда: Сообщений: 1368 |
на тестовой получилось отсоединить при открытой транзакции, но она была не rollback, а как при rollback |
29 мар 13, 11:38 [14111731] Ответить | Цитировать Сообщить модератору |
смотрю_тут Member Откуда: Сообщений: 1368 |
Ускорить можно следующим образом, при возможности отсоединения базы. Отсоединить базу, скопировать лог на диск с местом, присоединть лог с нового места, транзакция откатывается, шринконуть лог до нужного размера или размера, чтобы быстро скопировать на новое место(т.к первый раз копировал лог весил 55 Гб копировался 10 минут), затем все вернуть на место. Сделал так. |
29 мар 13, 12:14 [14112046] Ответить | Цитировать Сообщить модератору |
MasterZiv Member Откуда: Питер Сообщений: 34657 |
Единственное, что можно сделать -- увеличить размер кэша для лога, и для самой БД. |
||
29 мар 13, 12:26 [14112112] Ответить | Цитировать Сообщить модератору |
Все форумы / Microsoft SQL Server | ![]() |