Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Как грохнуть процесс или как пробраться к тому кто держит нужные ему данные?  [new]
_Гость_
Guest
На базе висит около 7 однотипных процессов и я не могу их убить. После попытки убить их они перешли в состояние KILLED/ROOLBACK и висят дальше. Как без перегрузки сервера их грохнуть.
Причем никаких блокировок нет.
24 сен 05, 19:12    [1907435]     Ответить | Цитировать Сообщить модератору
 Re: Как грохнуть процесс или как пробраться к тому кто держит нужные ему данные?  [new]
_Гость_
Guest
Мдя. Воспользовался поиском.. Глухой номер.
Без перезапуска сервера не обойтись.
Сенкс.

To Glory:
Кстати, во всех вопросах об этом страшном Killed/Rollback на форуме, ты, как вариант советуешь перевести базу в однопользовательский режим.
Это не помогает. База просто не переводится в однопользовательский режим.
Матыгается что нужно пользователей сначала отключить..
По крайней мере в моем случае... :(
24 сен 05, 20:07    [1907452]     Ответить | Цитировать Сообщить модератору
 Re: Как грохнуть процесс или как пробраться к тому кто держит нужные ему данные?  [new]
Glory
Member

Откуда:
Сообщений: 104760
Это не помогает. База просто не переводится в однопользовательский режим.
Матыгается что нужно пользователей сначала отключить..

Можно ди вместо вашего вольного перевода увидеть
- ваш скрипт перевода базу в single user mode
- оригинальное сообщение об ошибке
- версию сервера
25 сен 05, 17:29    [1907889]     Ответить | Цитировать Сообщить модератору
 Re: Как грохнуть процесс или как пробраться к тому кто держит нужные ему данные?  [new]
Prolog
Member

Откуда: Москва
Сообщений: 2791
    1. Посмотреть, что показывает kill <spid> with statusonly и, вообще, прочитать в BOL про kill.
2. https://www.sql.ru/forum/actualthread.aspx?bid=1&tid=215929&hl=
3. Такое как правило бывает, если вы убили процесс, в котором выполнялся распределенный запрос.
SQL может убивать только свои процессы, и не может чужие. А что имеется на удаленном сервере?
26 сен 05, 09:56    [1908602]     Ответить | Цитировать Сообщить модератору
 Re: Как грохнуть процесс или как пробраться к тому кто держит нужные ему данные?  [new]
_Гость_
Guest
Glory
Это не помогает. База просто не переводится в однопользовательский режим.
Матыгается что нужно пользователей сначала отключить..

Можно ди вместо вашего вольного перевода увидеть
- ваш скрипт перевода базу в single user mode

ALTER DATABASE db_mon SET SINGLE_USER - вываливается по timeout (30 sec,база очень маленькая)
при переводе с помощью EM выдается ошибка :
---------------------------
Microsoft SQL-DMO (ODBC SQLState: 42000)
---------------------------
Error 5070: Database state cannot be changed while other users are using the database 'db_mon'
ALTER DATABASE statement failed.
sp_dboption command failed.
---------------------------
OK
---------------------------

- версию сервера

Microsoft SQL Server 2000 - 8.00.760 (Intel X86)
Dec 17 2002 14:22:05
Copyright (c) 1988-2003 Microsoft Corporation
Developer Edition on Windows NT 5.1 (Build 2600: Service Pack 2)
26 сен 05, 11:52    [1909173]     Ответить | Цитировать Сообщить модератору
 Re: Как грохнуть процесс или как пробраться к тому кто держит нужные ему данные?  [new]
Glory
Member

Откуда:
Сообщений: 104760
ALTER DATABASE db_mon SET SINGLE_USER - вываливается по timeout (30 sec,база очень маленькая)
Где вы это запускаете ? И почему не можете задать там больший таймаут ?
26 сен 05, 11:53    [1909187]     Ответить | Цитировать Сообщить модератору
 Re: Как грохнуть процесс или как пробраться к тому кто держит нужные ему данные?  [new]
_Гость_
Guest
Prolog
    и, вообще, прочитать в BOL про kill.

только не надо всех считать лохами

Prolog

3. Такое как правило бывает, если вы убили процесс, в котором выполнялся распределенный запрос.
так и есть.

insert into mytable exec LINKEDSERVER.table..stored procedure  ...

Prolog

SQL может убивать только свои процессы, и не может чужие. А что имеется на удаленном сервере?

Что Вас интересует, конкретно ? Версия ? такая же (см.ответ to Glory)
26 сен 05, 11:59    [1909227]     Ответить | Цитировать Сообщить модератору
 Re: Как грохнуть процесс или как пробраться к тому кто держит нужные ему данные?  [new]
Crimean
Member

Откуда:
Сообщений: 13148
Как вариант попробовать

SET SINGLE_USER WITH ROLLBACK IMMEDIATE

P.S.Кстати, мне тоже не шибко понятно, что с этими процессами... Иногда ОЧЕНЬ достает, когда рестартовать низзя....
26 сен 05, 12:04    [1909262]     Ответить | Цитировать Сообщить модератору
 Re: Как грохнуть процесс или как пробраться к тому кто держит нужные ему данные?  [new]
_Гость_
Guest
Glory
ALTER DATABASE db_mon SET SINGLE_USER - вываливается по timeout (30 sec,база очень маленькая)
Где вы это запускаете ? И почему не можете задать там больший таймаут ?

1. use master
2. потому что знаю что бесполезно. Поставил на 3 минуты - тоже самое.
26 сен 05, 12:04    [1909263]     Ответить | Цитировать Сообщить модератору
 Re: Как грохнуть процесс или как пробраться к тому кто держит нужные ему данные?  [new]
_Гость_
Guest
Crimean
Как вариант попробовать

SET SINGLE_USER WITH ROLLBACK IMMEDIATE

тоже самое
Crimean

P.S.Кстати, мне тоже не шибко понятно, что с этими процессами... Иногда ОЧЕНЬ достает, когда рестартовать низзя....

а рестартовать как раз низя :(
26 сен 05, 12:05    [1909283]     Ответить | Цитировать Сообщить модератору
 Re: Как грохнуть процесс или как пробраться к тому кто держит нужные ему данные?  [new]
Glory
Member

Откуда:
Сообщений: 104760
_Гость_
Glory
ALTER DATABASE db_mon SET SINGLE_USER - вываливается по timeout (30 sec,база очень маленькая)
Где вы это запускаете ? И почему не можете задать там больший таймаут ?

1. use master
2. потому что знаю что бесполезно. Поставил на 3 минуты - тоже самое.

В каком приложении вы запускаете команду ?
26 сен 05, 12:07    [1909298]     Ответить | Цитировать Сообщить модератору
 Re: Как грохнуть процесс или как пробраться к тому кто держит нужные ему данные?  [new]
_Гость_
Guest
в QA
26 сен 05, 12:11    [1909323]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить