Могу ли я повысить приоритет процесса, который я убил и выполняется откат?
У меня есть работа, которая обычно длится около 2 часов. Этим утром это все еще работало в 5 часов, и я решил убить это. Это было в состоянии "KILLED/ROLLBACK" уже довольно давно. Когда я снова запускаю команду KILL, чтобы получить статус отката, я получаю следующее:
SPID 84: выполняется откат транзакции. Предполагаемое завершение отката: 0%. Расчетное оставшееся время: 0 секунд.
В любом случае я могу повысить приоритет или сказать SQL Server "поторопиться"?:)
Обновить:
Или есть способ для меня сказать: "Меня не волнует состояние стола. Просто выходи".
2 ответа
До SQL Server 2008 я не знал ни одного возможного решения. Начиная с SQL Server 2008 существует Регулятор ресурсов, который позволяет указывать рабочую нагрузку и используемые ресурсы. Я еще не использовал его, поэтому не могу рассказать вам больше подробностей.
Не за что.
Один из вариантов - остановить SQL Server, переместить файлы MDF и LDF, запустить SQL Server, удалить подозрительную БД, заново присоединить файл MDF и надеяться, что ваша БД все еще работает.
Или восстанови это.
Я не шучу: ACID вызывает откат и не допустит повреждения таблицы без вмешательства извне.
Есть вероятность, что он может быть заблокирован по другой причине, но обычно это откат транзакции. Перезапуск SQL Server может помочь в этом случае, но не плачь, если что-то пойдет не так:-)
Если это производство, то подождите или удалите / восстановите. Вы не можете сказать: "Меня не волнует состояние стола. Просто выходи". в производстве...