Показать сообщение отдельно
Старый 17.03.2010, 12:39   #9  
CDR is offline
CDR
MCTS
MCBMSS
 
236 / 175 (6) ++++++
Регистрация: 27.11.2003
Цитата:
Сообщение от Sergey Petrov Посмотреть сообщение
Всё чудесно, но одно большое НО - где бы найти информацию по аналогу комбинации
FROM master.dbo.dm_tran_locks as a
JOIN master.dbo.partitions as b
в SQL Server 2000? Что-то я нашёл про табличку syslockinfo, но там есть поле такое rsc_objid, по которому никак не получается у меня получить имя объекта (в предложенном решении эта инфориация как раз и получается за счёт связки с partitions).
Без этой части совсем не интересно получается (для меня, с моим старичком 2000-м).
Спустя почти два года на клиенте пришлось дорабатывать свою же форму для MSSQL2000. Соответственно всем ветеранам с MSSQL 2000 посвящается :
X++:
    select    a.req_spid     As SPID,
        a.rsc_objid     As ObjId,
        b.name         As ObjName,
        substring (v.name, 1, 4) As Type,
        substring (u.name, 1, 8) As Mode,
        substring (x.name, 1, 5) As Status
    from
        master.dbo.spt_values v,
        master.dbo.spt_values x,
        master.dbo.spt_values u,
        master.dbo.syslockinfo a,
        <DBNAME>.dbo.sysobjects b
    where
        a.req_spid = <SPID>
        and a.rsc_objid = b.id
        and a.rsc_type = v.number
        and v.type = 'LR'
        and a.req_status = x.number
        and x.type = 'LS'
        and a.req_mode + 1 = u.number
        and u.type = 'L'
Для корректной работы запроса вместо <DBNAME> нужно подставить имя Аксаптовой базы. Вместо <SPID> нужный индентификатор процесса.
__________________
Dynamics AX Experience
За это сообщение автора поблагодарили: Logger (3).