Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2004.10.03;
Скачать: [xml.tar.bz2];

Вниз

результат работы 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.025 c
4-1093424519
Manfred7
2004-08-25 13:01
2004.10.03
Хук на клавиатуру клавиша Win


14-1095181371
ДухКороляАртура
2004-09-14 21:02
2004.10.03
Замена BDE


9-1086382702
Vin_Ghost
2004-06-05 00:58
2004.10.03
перемещение по миникарте


3-1094101624
46_55_41_44
2004-09-02 09:07
2004.10.03
Как можно узнать на какую запись в гриде наведена мышь?


14-1095184236
jack128
2004-09-14 21:50
2004.10.03
Выведи своего бульдога :-)





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский