Как убить неуправляемого спида в Sybase?

У меня есть несколько мошеннических spid'ов в моей базе данных, которые, как я вижу, спят, когда я вхожу в систему saи использую их sp_who, но попытки использовать их kill <spid>для устранения не дали результатов, и у меня фактически нет доступа к самому серверу для его отказов. , Есть ли другой способ убить эти вещи?

15.12.2008 00:36:14
2 ОТВЕТА
РЕШЕНИЕ

Системные процессы не могут быть убиты. Например, в выходных данных sp_who, где cmd равно NETWORK HANDLER, MIRROR HANDLER и CHECKPOINT SLEEP (или редко CHECKPOINT) и AUDIT PROCESS не могут быть убиты. Если они имеют статус «recv sleep», «send sleep», «alarm sleep» и «lock sleep», их можно убить.

В выводе sp_who вы не можете сказать, принадлежит ли процесс, статус которого «recv sleep», пользователю, который использует SQL Server, но может приостанавливать просмотр результатов выполнения команды или процесс указывает, что пользователь перезагрузил ПК или другой терминал, и оставили неактивный процесс. Вы можете узнать больше о сомнительном процессе, запросив информацию в таблице sysprocesses. Например:

выберите hostprocess, имя_программы из sysprocesses, где spid = 8

Если имя_программы isql, вы знаете, что этот spid может быть убит. (И так далее ...)

3
18.12.2008 07:27:11

У меня есть клиентское приложение, которое иногда делает подобные вещи. Клиент обычно находится в середине выбора, но больше не получает строки. (Это может быть курсор на стороне клиента, но я не уверен). Эти спиды кажутся неубиваемыми. Я должен найти пользователя и попросить его выйти из системы.

Другой сценарий, в котором я имел это, после ошибок или трассировки стека на сервере. Проверьте свой журнал ошибок, чтобы увидеть, есть ли там какие-нибудь хитрые записи. Если есть, то перезагрузка будет вашим единственным вариантом.

0
15.12.2008 22:47:06