07.11.2013, 13:56 | #1 |
Участник
|
Как разблокировать таблицу без перезапуска AOS?
Доброго времени суток, уважаемые посетители АксФорума!
Остро встал вопрос, на который я не могу найти ответа. Есть таблица, которая в результате определенных действий, заблокировалась. То есть ее невозможно открыть через форму или через обозреватель таблиц (аксапта 4.0 зависает). Сейчас в нее никто ничего не пишет. Что сделать чтобы табличка отвисла из такого состояния? Заранее огромное спасибо за ваши ответы))) |
|
07.11.2013, 14:16 | #2 |
Участник
|
|
|
07.11.2013, 14:25 | #3 |
Banned
|
kill spid?
|
|
07.11.2013, 15:44 | #4 |
Участник
|
SQL Proifiler? и там "убить" процесс.
|
|
07.11.2013, 16:24 | #5 |
Участник
|
получается я в мониторе активности отсортировал по Waiting time и выбрал процесс который дольше всего ждет. там написано Blocked By: число. Получается надо писать в килл это число?
|
|
07.11.2013, 20:56 | #6 |
Талантливый разгвоздяй
|
В sql надо написать запросы:
1. sp_who2, запускать несколько раз и проверять колонку blkBy (если там целая цепочка блокировок, то найти самый первый процесс в цепочке, на который ссылаются все остальные процессы по полю blkBy) и если там долгое время не меняется картина, тогда приступить к п.2 2. kill SPID, запустить 1 раз, здесь SPID - это код процесса из поля blkBy в п. 1 (тот самый первый процесс в цепочке) 3. Вернуться к п. 1 и следить рассосались ли блокировки, если нет, то повторить цикл еще раз |
|
07.11.2013, 20:58 | #7 |
Талантливый разгвоздяй
|
А вообще, есть в сети готовые задания по проверке долгих блокировок и автоматическому килянию таких процессов. Погуглите sql block killer и найдете массу таких заданий.
|
|
08.11.2013, 07:14 | #8 |
Участник
|
Всем спасибо за ответы, решили не рисковать, перезапустили все таки АОС. Все таки база огромная мало ли что. Я выяснил в чем была ошибка - был ttsbegin без закрытого ttscommit.
|
|
|
|