Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2 3 4 5 6 7 8 9   вперед  Ctrl      все
 Небольшая самодельная тулза для отображения блокировок...  [new]
Zelius
Member

Откуда: Россия, Москва
Сообщений: 1592
У нас приложение работает на нескольких серверах и периодически подвисает и что бы не лазить по ним и не искать вручную блокировки, я написал эту маленькую программку. Работает она через ADO в асинхронном режиме. При обновлении информации, она выбирает данные из sysprocesses и преобразовывает их в древовидную структуру, позволяя показывать только проблемные процессы. С ее помощью можно найти проблемное место простым запуском. От такого счастья решил ее выложить, может кому еще пригодится :)

http://sqlblocks.narod.ru/index.html

С уважением, Князев Константин
17 мар 06, 17:30    [2461631]     Ответить | Цитировать Сообщить модератору
 Re: Небольшая самодельная тулза для отображения блокировок...  [new]
Zelius
Member

Откуда: Россия, Москва
Сообщений: 1592
Исправил ошибку с построением дерева и выложил скриншот.

С уважением, Князев Константин
20 мар 06, 12:24    [2466597]     Ответить | Цитировать Сообщить модератору
 Re: Небольшая самодельная тулза для отображения блокировок...  [new]
Drog
Guest
Молодца!
20 мар 06, 12:28    [2466617]     Ответить | Цитировать Сообщить модератору
 Re: Небольшая самодельная тулза для отображения блокировок...  [new]
squid
Member

Откуда: LA
Сообщений: 590
Присоеденяюсь, нужная весчь, но размер.... планирую написать свою, идею с древовидным отображенем с Вашего позволения сопру ;)
20 мар 06, 12:39    [2466685]     Ответить | Цитировать Сообщить модератору
 Re: Небольшая самодельная тулза для отображения блокировок...  [new]
JASterus
Member

Откуда:
Сообщений: 354
чтой-то где то глючит...
ERR:>The column prefix 'D' does not match with a table name or alias name used in the query.
20 мар 06, 12:48    [2466734]     Ответить | Цитировать Сообщить модератору
 Re: Небольшая самодельная тулза для отображения блокировок...  [new]
Zelius
Member

Откуда: Россия, Москва
Сообщений: 1592
Такой размер из-за DevExpress'овского TcxTreeList. Удобная штука, но громоздкая :(

squid: прите :)

С уважением, Князев Константин
20 мар 06, 12:49    [2466740]     Ответить | Цитировать Сообщить модератору
 Re: Небольшая самодельная тулза для отображения блокировок...  [new]
Zelius
Member

Откуда: Россия, Москва
Сообщений: 1592
JASterus
чтой-то где то глючит...
ERR:>The column prefix 'D' does not match with a table name or alias name used in the query.


Запрос такой:
select spid, blocked, D.Name, WaitTime, LastWaitType, WaitResource, Open_Tran, P.Status, HostName, Program_Name, Cmd, Loginame
from sysprocesses p left outer join sysdatabases d on d.dbid = p.dbid
order by blocked
Может Ваш сервер чувствителен к регистру?
20 мар 06, 13:05    [2466834]     Ответить | Цитировать Сообщить модератору
 Re: Небольшая самодельная тулза для отображения блокировок...  [new]
JASterus
Member

Откуда:
Сообщений: 354
очень чуйствителен...
20 мар 06, 13:10    [2466860]     Ответить | Цитировать Сообщить модератору
 Re: Небольшая самодельная тулза для отображения блокировок...  [new]
Ray D
Member

Откуда: from the middle of nowhere
Сообщений: 3598
Блог
А где Win-аутентификация? А почему пароль пустой нельзя ввести? А почему при добавлении нового сервера кнопка OK сразу доступна и при нажатии на нее AV получаем? Пока все :)
20 мар 06, 13:14    [2466884]     Ответить | Цитировать Сообщить модератору
 Re: Небольшая самодельная тулза для отображения блокировок...  [new]
Zelius
Member

Откуда: Россия, Москва
Сообщений: 1592
Обновил программу. Сделал подключение через ConnectionString, т.е. теперь работает Win авторизация и пустой пароль. А так же уменьшил размер программы :))

С уважением, Князев Константин
22 мар 06, 13:56    [2476398]     Ответить | Цитировать Сообщить модератору
 Re: Небольшая самодельная тулза для отображения блокировок...  [new]
Zelius
Member

Откуда: Россия, Москва
Сообщений: 1592
P.S. to JASterus: убрал регистр из запроса.

С уважением, Князев Константин
22 мар 06, 17:35    [2477669]     Ответить | Цитировать Сообщить модератору
 Re: Небольшая самодельная тулза для отображения блокировок...  [new]
интересно!
Guest
А с deadlock-ами она поможет разобраться?
22 мар 06, 18:37    [2478001]     Ответить | Цитировать Сообщить модератору
 Re: Небольшая самодельная тулза для отображения блокировок...  [new]
Zelius
Member

Откуда: Россия, Москва
Сообщений: 1592
интересно!
А с deadlock-ами она поможет разобраться?


Нет, только показывает локи.
22 мар 06, 18:48    [2478055]     Ответить | Цитировать Сообщить модератору
 Re: Небольшая самодельная тулза для отображения блокировок...  [new]
GreenSunrise
Member

Откуда:
Сообщений: 12310
С дедлоками поможет разобраться граф дедлока.
22 мар 06, 19:03    [2478102]     Ответить | Цитировать Сообщить модератору
 Re: Небольшая самодельная тулза для отображения блокировок...  [new]
интересно!
Guest
2 GreenSunrise:
а можно чууть поподробнее? или хотя бы по каким словам искать?
22 мар 06, 19:44    [2478220]     Ответить | Цитировать Сообщить модератору
Между сообщениями интервал более 1 года.
 Re: Небольшая самодельная тулза для отображения блокировок...  [new]
Zelius
Member

Откуда: Россия, Москва
Сообщений: 1592
Выложил новую версию, 1.3.7.24, которая работает с 2005ым сервером, сидит в трее и сообщает о блокировках. Лежит там же на sqlblocks.narod.ru
Замечания приветсвуются!

С уважением, Князев Константин
14 июн 07, 19:20    [4269206]     Ответить | Цитировать Сообщить модератору
 Re: Небольшая самодельная тулза для отображения блокировок...  [new]
BugsBunny
Member

Откуда: GMT+5=EST
Сообщений: 2414
Zelius
Выложил новую версию, 1.3.7.24

Password in a clear text in connection string is not good - I'm giving a hard time regarding this to all our developers and contractors, so don't feel special :).
What is the point changing color to red when there is no blocking and just there is session with open transactions?
Filter by database (dbid)
It would be nice to have logging about any blocks occurred during period monitored (preferable in XML, as an open source data store).
Email capabilities.
And in general, make it (your apps) more transparent to the user meaning that you put a parameter for any desicion you have to make in your application according business logic.

PS. and thanks, of course. I've just recently promissed some app.support guys to write simple sql script which would alert them (with details) then there is a blocking on their database longer than 30 seconds. So, I might get away just giving them your app. :)
14 июн 07, 20:37    [4269390]     Ответить | Цитировать Сообщить модератору
 Re: Небольшая самодельная тулза для отображения блокировок...  [new]
BugsBunny
Member

Откуда: GMT+5=EST
Сообщений: 2414
1. Doesn't like backslash (\) and dollar sign ($) in the name on the server (technically, it should be instance), so I can not put named instances as is.
2. Option "Warning is wait timeout greater then (ms)": should it be "if" instead of "is"? How does it work? I was unable to get bubble/sound to work (W2KSP4)
15 июн 07, 16:10    [4273566]     Ответить | Цитировать Сообщить модератору
 Re: Небольшая самодельная тулза для отображения блокировок...  [new]
Zelius
Member

Откуда: Россия, Москва
Сообщений: 1592
BugsBunny
1. Doesn't like backslash (\) and dollar sign ($) in the name on the server (technically, it should be instance), so I can not put named instances as is.
2. Option "Warning is wait timeout greater then (ms)": should it be "if" instead of "is"? How does it work? I was unable to get bubble/sound to work (W2KSP4)

1 - исправлю.
2 - выдавать звук и бабл, если у блокированного процесса поле waittime больше указанного, что бы не пиликало постояно. Попробуй в ноль поставить...
15 июн 07, 17:07    [4274035]     Ответить | Цитировать Сообщить модератору
 Re: Небольшая самодельная тулза для отображения блокировок...  [new]
BugsBunny
Member

Откуда: GMT+5=EST
Сообщений: 2414
Zelius
...
1 - исправлю.
2 - выдавать звук и бабл, если у блокированного процесса поле waittime больше указанного, что бы не пиликало постояно. Попробуй в ноль поставить...


1 - Please add hyphen (-) in to the list. Btw, it doesn't allow you to create with mentioned characters but you still can incorporate them into the name later even though it pops up the same error.

2 - Works for 0 but not even for 1. Bug? I'd also add option to repeate bubble/sound on each(every n) refresh.

PS. Did you have chance to look my previous comments?
15 июн 07, 17:40    [4274339]     Ответить | Цитировать Сообщить модератору
 Re: Небольшая самодельная тулза для отображения блокировок...  [new]
Zelius
Member

Откуда: Россия, Москва
Сообщений: 1592
BugsBunny


1 - Please add hyphen (-) in to the list. Btw, it doesn't allow you to create with mentioned characters but you still can incorporate them into the name later even though it pops up the same error.

2 - Works for 0 but not even for 1. Bug? I'd also add option to repeate bubble/sound on each(every n) refresh.

PS. Did you have chance to look my previous comments?


Выложил исправленную версию на сайт, исправлены 1 и 2 (это был баг), спасибо за помощь!

По поводу предыдущих изменений:
Password in a clear text in connection string is not good - I'm giving a hard time regarding this to all our developers and contractors, so don't feel special :).

Да, надо что-то с этим делать, пока не придумал, как это должно быть...

What is the point changing color to red when there is no blocking and just there is session with open transactions?

Пока не вижу ризона, так как они зачастую есть всегда...

Filter by database (dbid)

Имхо не нужно, так как в основном программа в режиме показа только блокировок

It would be nice to have logging about any blocks occurred during period monitored (preferable in XML, as an open source data store).

тяжеловато и сложно, непонятно, как обращаться с одной и той же блокировкой во времени...

Email capabilities.

Пока не собираюсь этого делать.
15 июн 07, 18:58    [4274810]     Ответить | Цитировать Сообщить модератору
 Re: Небольшая самодельная тулза для отображения блокировок...  [new]
BugsBunny
Member

Откуда: GMT+5=EST
Сообщений: 2414
Zelius
[quot BugsBunny]... исправлены 1 и 2 (это был баг), спасибо за помощь!
...Пока не собираюсь этого делать.

No, thank YOU! :)
Fair enough.
15 июн 07, 19:41    [4274972]     Ответить | Цитировать Сообщить модератору
 Re: Небольшая самодельная тулза для отображения блокировок...  [new]
sqlman
Member

Откуда: Киев
Сообщений: 272
Чего реально нехватает, так это возможноти делать KILL. Это полезно для зависших процессов.
16 июн 07, 14:56    [4276176]     Ответить | Цитировать Сообщить модератору
 Re: Небольшая самодельная тулза для отображения блокировок...  [new]
Zelius
Member

Откуда: Россия, Москва
Сообщений: 1592
sqlman
Чего реально нехватает, так это возможноти делать KILL. Это полезно для зависших процессов.


Дабл клик по зависшему процессу и наимаем кнопку Kill Process
16 июн 07, 15:07    [4276194]     Ответить | Цитировать Сообщить модератору
 Re: Небольшая самодельная тулза для отображения блокировок...  [new]
BugsBunny
Member

Откуда: GMT+5=EST
Сообщений: 2414
Some other pretty things (after talking to the users):
1. Grey-out/disable "Process Info" option (effective "Last SQL Command" and "Kill Process") for non SysAdmins to avoid consufion.
2. Ability to copy-paste session info (including "Last SQL Command" if applicable) in a record-like format (i.e. pivot session info record:
SPID : xxx
DBName : yyyy
Hostname : zzzz
...
Last SQL Command (optional) : blah-blah-blah
Ability to do so with multiple records selections is welcome.

3. Per-instance refresh interval in addition to the global one (as default)
4. Ability to PAUSE/RESUME refresh (for demonstration purposes). Ability to do so on per-instance basis is even better.
18 июн 07, 23:15    [4282737]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2 3 4 5 6 7 8 9   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить