Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Как узнать SPID процесса работающих в данный момент JOBs  [new]
BusyMan
Member

Откуда: Москва
Сообщений: 4927
Имеются JOBы... Даже "видно" ихние процессы:
SELECT  * FROM sys.sysprocesses p (nolock) where Program_name like '%job%' order by Program_name
и у них даже похожие названия, типа таких:
SQLAgent - TSQL JobStep (Job 0x7F423DD8CA5618409F160AECD2485F05 : Step 2)                                                       
SQLAgent - TSQL JobStep (Job 0x88C71B08C14CAB4CAECAA448FEB30C16 : Step 2)
SQLAgent - TSQL JobStep (Job 0x9C4ADC3CE858204E9B4130D8AD70E638 : Step 2)
но одно с другим связать ну никак не получается (((

ни через job_id
		SELECT p.SPID,  *
		FROM msdb.dbo.sysjobs x (nolock)
		LEFT JOIN sys.sysprocesses p (nolock) on P.Program_name like '%'
			+ rtrim(replace( convert(varchar(222),x.job_id) ,'-',''))
			+'%'
		ORDER BY convert(varchar(222),x.job_id)

ни через step_uid
		SELECT p.SPID, x.step_uid, * 
		FROM msdb.dbo.sysjobsteps x (nolock)
		LEFT JOIN sys.sysprocesses p (nolock) on P.Program_name like '%'
			+ rtrim(replace( convert(varchar(222),x.step_uid) ,'-',''))
			+ '%'

Как узнать SPID процесса работающих в данный момент JOBs?
3 июл 09, 03:16    [7371274]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать SPID процесса работающих в данный момент JOBs  [new]
Azvaal
Member

Откуда: Москва
Сообщений: 215
BusyMan,
мб
@@spid
?
3 июл 09, 07:13    [7371374]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать SPID процесса работающих в данный момент JOBs  [new]
Prolog
Member

Откуда: Москва
Сообщений: 2791
Вместо
rtrim(replace( convert(varchar(222),x.job_id) ,'-',''))
нужно
sys.fn_varbintohexstr(x.job_id)
.
3 июл 09, 09:45    [7371705]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать SPID процесса работающих в данный момент JOBs  [new]
BusyMan
Member

Откуда: Москва
Сообщений: 4927
Azvaal
BusyMan,
мб
@@spid
?
нет
3 июл 09, 13:20    [7373194]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать SPID процесса работающих в данный момент JOBs  [new]
BusyMan
Member

Откуда: Москва
Сообщений: 4927
Prolog
Вместо
rtrim(replace( convert(varchar(222),x.job_id) ,'-',''))
нужно
sys.fn_varbintohexstr(x.job_id)
.

да. спасибо. действительно работает.

		SELECT p.SPID, p.loginame, db_name(p.dbid), *
		FROM msdb.dbo.sysjobs x (nolock)
		JOIN sys.sysprocesses p (nolock) 
				on P.Program_name like '%' + sys.fn_varbintohexstr(x.job_id) +'%'
		ORDER BY P.SPID
3 июл 09, 13:21    [7373200]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить