У меня есть SPID в SQL 2005, который отображается в Activity Monitor как режим «ROLLBACK» (потому что журнал транзакций заполнен, а не потому, что он был убит вручную). Я попытался посмотреть, сколько времени осталось на откат с помощью
KILL 115 WITH STATUSONLY
но он просто сказал: «Отчет о состоянии не может быть получен. Операция отката для процесса с ID 115 не выполняется».
Могу ли я безопасно выдать команду «KILL 115», чтобы увидеть статус отката? Действительно ли это делать что-нибудь на spid в данный момент откатывается?
Нет, это ничего не делает. Вы не можете убить откатывающегося паука. Откат должен быть завершен, иначе база данных станет транзакционно несовместимой и станет ПОДОЗРЕНИЕ.
Из BOL: KILL WITH STATUSONLY генерирует отчет только в том случае, если идентификатор сеанса или UOW в настоящее время откатывается из-за предыдущего оператора KILL ID сеанса | UOW.
В этом случае он откатился сам по себе, поэтому вы не сможете увидеть прогресс.
Надеюсь это поможет.
Так похоже на тебя жестяная банка убить SPID, который в настоящее время откатывается. Хотя я до сих пор не могу понять, что происходит изнутри, похоже, что после того, как вы выполните KILL, вы можете получить прогресс, используя KILL WITH STATUSONLY.
Как указывает Пол, это довольно произвольно ...