Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.10.03;
Скачать: CL | DM;

Вниз

результат работы sp_lock в таблицу   Найти похожие ветки 

 
NewDelpher   (2004-09-01 08:49) [0]

Не ругайте сильно за ламерство, ну никак не могу придумать, как мне результат работы exec sp_lock представить в виде "нормальной" таблицы, чтобы иметь возможность джойнить к ней другие или вызывать object_name() для каждого значения ObjID


 
KSergey ©   (2004-09-01 09:20) [1]

Если не ошибаюсь - курсором как-то можно
Но как?.. Не знаю... Да и не всю выборку, получается..
Короче напрямую - никак


 
NewDelpher   (2004-09-01 09:32) [2]

KSergey ©
Ну курсор-то всё равно создается на основе селекта? Или я не прав?


 
Ega23 ©   (2004-09-01 09:50) [3]

1. Создаёшь временную таблицу с полями, получаемыми в результате выполнения sp_lock
2. Insert into #ttt (exec sp_lock)
3. Работаешь с #ttt
4. Drop table #ttt


 
NewDelpher   (2004-09-01 09:58) [4]

> Ega23 ©   (01.09.04 09:50) [3]
> 1. Создаёшь временную таблицу с полями, получаемыми в результате
> выполнения sp_lock
> 2. Insert into #ttt (exec sp_lock)
> 3. Работаешь с #ttt
> 4. Drop table #ttt


Не работает, выдает:
Incorrect syntax near the keyword "exec"


 
NewDelpher   (2004-09-01 10:08) [5]

Заработало. Скобки надо было убрать из
Insert into #ttt (exec sp_lock)


 
KSergey ©   (2004-09-01 10:21) [6]

> [3] Ega23 ©   (01.09.04 09:50)

Ага, спасибо. Точно. Наконец-то я это узнал! ;)
Только скобочек не надо в п.2 - а так все хорошо ;)

Вот только с типами полей мне не совсем понятно (читаю BOL от MSSQL7)
Написано Status тип int, а он - nvarchar на самом деле...


 
Ega23 ©   (2004-09-01 10:47) [7]

Только скобочек не надо в п.2 - а так все хорошо ;)

Я по-памяти писал, у меня всегда с этим напряги: где скобочки, где параметр какой забуду :о)

Вот только с типами полей мне не совсем понятно (читаю BOL от MSSQL7)

В 2000-м как-то можно таблицу в качестве параметра получить и курсор по полям прокрутить, или что-то в этом роде. По-позже посмотрю, сейчас со временем вилы...


 
KSergey ©   (2004-09-01 11:20) [8]

> [7] Ega23 ©   (01.09.04 10:47)

Про типы я в том смысле, что справка не соответствует действительности.


 
Ega23 ©   (2004-09-01 11:22) [9]

Бывает...  МS DDK читать - вааще отдельная песня...


 
Nikky   (2004-09-01 11:56) [10]

У меня такая фигня на серваке :)

create table #T (
 spid int,
 dbid int,
 ObjId int,
 IndId int,
 Type char (100),
 Resource char (100),
 Mode char (100),
 Status char (100))

insert into #T (spid, dbid, ObjId, IndId, Type, Resource, Mode, Status) exec sp_lock

select
 #T.spid as [Process Id],
 #T.dbid as [Database],
 SP.hostname as [Host],
 SP.program_name as [Application],
 SP.cmd as [Activity],
 SU.name as [Login],
 IsNULL (SO.name, "No object reference") as [Object]
from #T
left join sysobjects SO (nolock) on #T.ObjId = SO.id
left join master..sysprocesses SP (nolock) on #T.spid = SP.spid
left join sysusers SU (nolock) on SP.uid = SU.uid
where IsNULL (#T.ObjId, 0) <> 0


 
jocko   (2004-09-01 15:47) [11]

я бы посоветовал посмотреть всетаки как устроена sp_lock (а устроена она просто) и к селектику что там сидит добавить нужные джойны
Вообще эта процедура показывает, если я не ошибаюсь список блокированных пользователей, так какого фига извиняюсь еще и плодить временные таблицы в tempdb, вообще то все блокировки с нее чаще всего и начинаются :)


 
KSergey ©   (2004-09-02 07:58) [12]

> [11] jocko   (01.09.04 15:47)
> я бы посоветовал посмотреть всетаки как устроена sp_lock
> (а устроена она просто) и к селектику что там сидит добавить
> нужные джойны

Я бы настоятельно не советовал, особенно если используемые внутри таблицы - недокументированы.
Можно влететь на фиг знает какой глюк.
Да и временные таблицы - это нормально для сервера.



Страницы: 1 вся ветка

Текущий архив: 2004.10.03;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.034 c
11-1081321098
Delphi5.01
2004-04-07 10:58
2004.10.03
[Error] Never-build package CoolForm_D6 requires always-build p


6-1088472470
Глеб
2004-06-29 05:27
2004.10.03
Как мне узнать IP-адрес компьютера в сети, зная его имя?


14-1094846423
Думкин
2004-09-11 00:00
2004.10.03
С днем рождения! 11 сентября


4-1093500352
bss
2004-08-26 10:05
2004.10.03
блокировка комбинаций системных клавиш Windows


6-1088755314
LEONardo
2004-07-02 12:01
2004.10.03
TclientSocket в приложении, не имеющей ни одной формы