Главная страница
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.49 MB
Время: 0.023 c
14-1095332331
сетевой
2004-09-16 14:58
2004.10.03
WWW


1-1095255534
Gemini
2004-09-15 17:38
2004.10.03
Ширина кнопки


8-1088095062
Sunny Way
2004-06-24 20:37
2004.10.03
Чтение JPEG


3-1094482333
Selena
2004-09-06 18:52
2004.10.03
DBGrid


3-1094557571
Vilkkkka
2004-09-07 15:46
2004.10.03
OLTP и OLAP