|
v7: как посмотреть, кто занял ресурс? в 7.7 sql | ☑ | ||
---|---|---|---|---|
0
monsterZE
18.04.12
✎
14:53
|
например блокировка журнала документов
как узнать кто? |
|||
1
ДенисЧ
18.04.12
✎
14:54
|
sp_lock
sp_who |
|||
2
dk
18.04.12
✎
14:57
|
тупо в ентерпрпайзе - менеджмент - каррент активити
|
|||
3
dk
18.04.12
✎
14:58
|
тока это будет spid, а его еще надо с юзером связать
либо через hostname там же, либо допиливать конфу чтобы связка spid - юзер 1с делалась на входе в конфу |
|||
4
monsterZE
18.04.12
✎
15:16
|
(1) одни идишники тяжело анализировать =)
(2) терминал - хостнейм одинаковый проще - узнать какой ид надо кильнуть, который держит блокировку? |
|||
5
Boroda
18.04.12
✎
15:23
|
Там, в Current Activity, есть колонка LoginTime. Смотрим время когда зашел. Потом в из 1С смотрим наш журнал за этот день и видим пользователя... :)
|
|||
6
monsterZE
18.04.12
✎
15:31
|
(5) да хер с ним с пользователем - он сам позвонит при ошибке
главное других разблокировать, которые висят с ожиданием блокировки |
|||
7
Mikeware
18.04.12
✎
16:05
|
При начале работы системы каждого делаешь
сначала: Delete from [Users] Where ([Users].[User_1c]=:ВыбПользователь) or ([Users].PID =convert(varchar(10), @@SPID)) после: insert into [Users] values(convert(varchar(10), @@SPID) , :ВыбПользователь,GetDate() ) Ну а потом, при блокировке, через sp_lock смотришь, кто заблокировал. Ну, и делаешь выводы. Или действия. |
|||
8
dk
19.04.12
✎
07:50
|
(5) интересная идея, спасибо )
|
|||
9
МуМу
19.04.12
✎
08:21
|
http://www.perfexpert.ru/details/
Есть еще такой продукт, но он платный. |
|||
10
trad
19.04.12
✎
08:44
|
я смотрю таким скриптом
use yourDB select rtrim(procs.hostname) as Хост, object_name(lock.rsc_objid) Объект, db_name(lock.rsc_dbid) БД, req_mode Режим, count(*) count from master..syslockinfo lock (nolock) join master..sysprocesses procs (nolock) on procs.spid = lock.req_spid where lock.req_ownertype=1 and lock.rsc_dbid > 2 group by procs.hostname, lock.rsc_objid,lock.rsc_dbid, req_mode order by Режим desc, Хост, Объект |
|||
11
Mikeware
19.04.12
✎
09:49
|
(10) ну и у меня типа того:
ТекстЗапроса=" |select | str(spid,4) as [Соединение], | u.user_1c as [Пользователь1С], | left(loginame,20) as [Логин], | left(hostname,25) as [Компьютер], | str(blocked,4) as [Заблокирован], | str(max(waittime),15) as [Время] , | str(sum(cpu),15) as [ЦПУ], | str(sum(memusage),15) as [Память], | str(sum(physical_io),15) as [Диск] |from | master..sysprocesses |full join adm..users u | on spid=u.pid |where | hostname<>'"+Where+"' |group by | str(spid,4),left(loginame,20), left(hostname,25), str(blocked,4), u.user_1c |
|||
12
ЧессМастер
19.04.12
✎
10:04
|
(11) это в ЕМ запускать ?
|
|||
13
ЧессМастер
19.04.12
✎
10:04
|
(+12) вернее в КА
|
|||
14
Mikeware
19.04.12
✎
10:05
|
(12) Нет, это обработка "контроль блокировок". Собственно, оттуда же можно и "килять неугодных" :-)
|
|||
15
пипец
19.04.12
✎
10:06
|
DBArtisan 8.6.2
|
|||
16
monsterZE
19.04.12
✎
10:19
|
(10) а что в данном контексте значит
объект - null count режим? зы. тоже хочу на 1с++ написать, чтобы прямо из базы смотреть. |
|||
17
Mikeware
19.04.12
✎
10:20
|
(16) Ну и бери (7) и (11), код скопипащен прям из рабочей конфигурации
|
|||
18
monsterZE
19.04.12
✎
10:22
|
нашел в бол
|
|||
19
monsterZE
19.04.12
✎
10:24
|
(17) угу, пасиб =)
|
|||
20
Mikeware
19.04.12
✎
10:27
|
(19) не забывай только при начале работы проверять наличие, и создавать при необходимости эту табличку....
|
|||
21
toypaul
гуру
19.04.12
✎
10:29
|
если есть опенконф, то http://1csql.ru/action/products.html~c2bea006-2822-ad24-e27d-4a64423f8a84
|
|||
22
trad
19.04.12
✎
10:30
|
(16)
Объект - таблица БД текущего контекста. Если null, то объект из другой БД Режим - режим блокирования. Значения можно посмотреть в BOL в описании таблицы syslockinfo count - это мусор, можно убрать |
|||
23
monsterZE
19.04.12
✎
10:33
|
(22) Благодарю. =)
Собсно спасибо всем ответившим, за такое количество вариантов. |
|||
24
Mikeware
19.04.12
✎
10:38
|
(22) Вопрос - а можно ли собирать тексты запросов, и время их выполнения?
хочу аналог МуМушного профайлера, а денег не дают. Да и задачка по сути разовая (ну или по крайней мере, не долгосрочная). |
|||
25
toypaul
гуру
19.04.12
✎
10:45
|
(24) вообще можно. в ToyAdmin нет такого функционала
|
|||
26
Mikeware
19.04.12
✎
10:47
|
(25) Я ж не прошу готового решения (хотя и не отказывюсь :-D). Ткни носом, где почитать...
|
|||
27
trad
19.04.12
✎
10:50
|
(24) вопрос не изучал
для разовых исследований хватало штатного профайлера Обычно запустишь профайлер с фильтром по дюрейшн на день и глазами смотришь жирные запросы |
|||
28
toypaul
гуру
19.04.12
✎
10:53
|
(26) почитать по перехват запросов :)
|
|||
29
toypaul
гуру
19.04.12
✎
10:54
|
а вообще в (27) правильно написано
|
|||
30
ЧессМастер
19.04.12
✎
11:17
|
(14) а где ее взять ? Яндекс что-то не находит
|
|||
31
Mikeware
19.04.12
✎
11:52
|
(27) Пытался. жирных запросов не так уж и много, а вот мелких куча, и они нагружают. поэтому хотел собрать статистику во внешней таблице/базе, и потом покрутить.
|
|||
32
trad
19.04.12
✎
13:18
|
(31) штатную трассировку можно запустить с опцией save to table
|
|||
33
Mikeware
19.04.12
✎
13:31
|
(32) Спасибо! настрою фильтры, и будет то, что надо!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |