MS SQL server Q

voron999
Уже с Приветом
Posts: 358
Joined: 20 May 2001 09:01
Location: Урал --> Москва --> Midwest USA

MS SQL server Q

Post by voron999 »

Привет ДБ Эксперты!.

Вот такое дело: какой-то процесс завис в ДБ сервере и мешает жить другим, хотелось бы убить его, но Enterprize Manager сам висит когда пытаюсь открыть список текущих процессов.

Как бы мне 1)открыть список текущих процессов или из QueryAnalyze ili iz O-SQL консоля, 2)выбрать этот "вредный" процесс и убить его.

Может, пока я роюсь в документации, кто-то подкинет пару другую строчек.

Спасибочки.
User avatar
tengiz
Уже с Приветом
Posts: 4468
Joined: 21 Sep 2000 09:01
Location: Sammamish, WA

Post by tengiz »

1. Выполните select * from sysprocesses или sp_who2 в QA.
2. Для тех, у кого blkby <> 0, значение в этой колонке указывает на spid блокирующего процесса.
3. Пройти по цепочке блокирующих процессов и найти все "головы". "Голова" самой длинной цепочки или "голова", куда сходится много цепочек, скорее всего и является хулиганом.
4. Проверить все такие "головы". Если в колонке Command стоит AWAITING COMMAND а в колонке opentran - > 0 - то это почти наверняка и есть самый главный хулиган.
5. Убить хулигана командой KILL <spid хулигана>.
Cheers
voron999
Уже с Приветом
Posts: 358
Joined: 20 May 2001 09:01
Location: Урал --> Москва --> Midwest USA

Post by voron999 »

Спасибочки.
ЕМ замучал уже, всегда виснет подолгу. А простой SQL через QA обычно работает без проблем.

Return to “Вопросы и новости IT”