Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Как в ASE прибить сессию по spid или как-то еще из Stored Procedure / 12 сообщений из 12, страница 1 из 1
16.02.2005, 16:32
    #32919011
Alexander Dubrovsky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как в ASE прибить сессию по spid или как-то еще из Stored Procedure
Подскажите пожалуйста, как из процедуры сторенной можно прибить процесс.
kill нужно подставлять статическое значение, а я жертву нахожу сам динамически ну к примеру из syslogshold.
Наверняка есть простой путь.
...
Рейтинг: 0 / 0
16.02.2005, 17:49
    #32919286
Litus
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как в ASE прибить сессию по spid или как-то еще из Stored Procedure
exec("kill "+@CurId)


Posted via ActualForum NNTP Server 1.1
...
Рейтинг: 0 / 0
19.10.2005, 15:54
    #33333430
Oleg0s
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как в ASE прибить сессию по spid или как-то еще из Stored Procedure
ASE 11.9.2

exec ("kill "+@SPID)
Не получается. Пишет: Incorrect syntax near '('
...
Рейтинг: 0 / 0
19.10.2005, 16:09
    #33333471
sybdba
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как в ASE прибить сессию по spid или как-то еще из Stored Procedure
Oleg0sASE 11.9.2

exec ("kill "+@SPID)
Не получается. Пишет: Incorrect syntax near '('

а собрать в @переменной необходимое значение и сказать
exec (@переменная) ?
...
Рейтинг: 0 / 0
19.10.2005, 16:30
    #33333540
Oleg0s
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как в ASE прибить сессию по spid или как-то еще из Stored Procedure
То же самое. Похоже в ASE 11.9.2 низя так. А мне надо написать процедуру KillAll, чтобы вечером всех пнуть.
Видимо придется с клиента.
...
Рейтинг: 0 / 0
19.10.2005, 18:00
    #33333784
Peter Kirillow
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как в ASE прибить сессию по spid или как-то еще из Stored Procedure
так надо сначала создать *.sql файл, а потом его скормить isql
не могу сейчас перевести в dos-compatible, но на unix процедура убийства всех, кроме себя самого выглядит так:

isql -S$SERVER_NAME -U$LOGIN_NAME -P$LOGIN_PASS -oKILL_USERS 2>&1 <<EOF
select "kill "+convert(char(5),spid)+char(10)+"go"+char(10) from master..sysprocesses
where suid > 1 and hostprocess != host_id()
go
EOF
isql -S$SERVER_NAME -U$LOGIN_NAME -P$LOGIN_PASS -iKILL_USERS -oTMP 2>&1
...
Рейтинг: 0 / 0
19.10.2005, 18:12
    #33333808
Zhora
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как в ASE прибить сессию по spid или как-то еще из Stored Procedure
Это общая идея для подобного рода проблем (в 11.9.2 нет exec immediate, надо лепить sql скрипт и выполнять его из shella): посмотрите sp__<name> http://www.edbarlow.com там много такого.
...
Рейтинг: 0 / 0
19.10.2005, 18:28
    #33333828
Oleg0s
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как в ASE прибить сессию по spid или как-то еще из Stored Procedure
Ай спасибо.
...
Рейтинг: 0 / 0
19.10.2005, 18:48
    #33333864
nik2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как в ASE прибить сессию по spid или как-то еще из Stored Procedure
Peter Kirillowтак надо сначала создать *.sql файл, а потом его скормить isql
не могу сейчас перевести в dos-compatible, но на unix процедура убийства всех, кроме себя самого выглядит так:

isql -S$SERVER_NAME -U$LOGIN_NAME -P$LOGIN_PASS -oKILL_USERS 2>&1 <<EOF
select "kill "+convert(char(5),spid)+char(10)+"go"+char(10) from master..sysprocesses
where suid > 1 and hostprocess != host_id()
go
EOF
isql -S$SERVER_NAME -U$LOGIN_NAME -P$LOGIN_PASS -iKILL_USERS -oTMP 2>&1

одно плохо - операция эта не атомарна...
...
Рейтинг: 0 / 0
19.10.2005, 19:42
    #33333939
Zhora
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как в ASE прибить сессию по spid или как-то еще из Stored Procedure
nik2 Peter Kirillowтак надо сначала создать *.sql файл, а потом его скормить isql
не могу сейчас перевести в dos-compatible, но на unix процедура убийства всех, кроме себя самого выглядит так:

isql -S$SERVER_NAME -U$LOGIN_NAME -P$LOGIN_PASS -oKILL_USERS 2>&1 <<EOF
select "kill "+convert(char(5),spid)+char(10)+"go"+char(10) from master..sysprocesses
where suid > 1 and hostprocess != host_id()
go
EOF
isql -S$SERVER_NAME -U$LOGIN_NAME -P$LOGIN_PASS -iKILL_USERS -oTMP 2>&1

одно плохо - операция эта не атомарна...
Тут ещё надо возиться со sleeping processами функцией lct_admin
...
Рейтинг: 0 / 0
20.10.2005, 14:03
    #33335141
sn1251
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как в ASE прибить сессию по spid или как-то еще из Stored Procedure
Ещё здесь посмотрите: http://www.sypron.nl/dynsql.html
...
Рейтинг: 0 / 0
20.10.2005, 17:01
    #33335729
Oleg0s
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как в ASE прибить сессию по spid или как-то еще из Stored Procedure
Спасибо Zhora и sn1251 за ссылки. Пойдут в избранное. Использую совет от Peter Kirillow.
...
Рейтинг: 0 / 0
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Как в ASE прибить сессию по spid или как-то еще из Stored Procedure / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]