Могу ли я повысить приоритет процесса, который я убил и выполняется откат?

У меня есть работа, которая обычно длится около 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 может помочь в этом случае, но не плачь, если что-то пойдет не так:-)

Если это производство, то подождите или удалите / восстановите. Вы не можете сказать: "Меня не волнует состояние стола. Просто выходи". в производстве...

Другие вопросы по тегам