powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Небольшая самодельная тулза для отображения блокировок...
225 сообщений из 225, показаны все 9 страниц
Небольшая самодельная тулза для отображения блокировок...
    #33608893
Zelius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У нас приложение работает на нескольких серверах и периодически подвисает и что бы не лазить по ним и не искать вручную блокировки, я написал эту маленькую программку. Работает она через ADO в асинхронном режиме. При обновлении информации, она выбирает данные из sysprocesses и преобразовывает их в древовидную структуру, позволяя показывать только проблемные процессы. С ее помощью можно найти проблемное место простым запуском. От такого счастья решил ее выложить, может кому еще пригодится :)

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

С уважением, Князев Константин
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #33611564
Zelius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Исправил ошибку с построением дерева и выложил скриншот .

С уважением, Князев Константин
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #33611582
Drog
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Молодца!
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #33611636
squid
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Присоеденяюсь, нужная весчь, но размер.... планирую написать свою, идею с древовидным отображенем с Вашего позволения сопру ;)
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #33611670
JASterus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
чтой-то где то глючит...
ERR:>The column prefix 'D' does not match with a table name or alias name used in the query.
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #33611676
Zelius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Такой размер из-за DevExpress'овского TcxTreeList. Удобная штука, но громоздкая :(

squid: прите :)

С уважением, Князев Константин
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #33611746
Zelius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JASterusчтой-то где то глючит...
ERR:>The column prefix 'D' does not match with a table name or alias name used in the query.

Запрос такой:
Код: plaintext
1.
2.
3.
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
Может Ваш сервер чувствителен к регистру?
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #33611766
JASterus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
очень чуйствителен...
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #33611781
Фотография Ray D
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А где Win-аутентификация? А почему пароль пустой нельзя ввести? А почему при добавлении нового сервера кнопка OK сразу доступна и при нажатии на нее AV получаем? Пока все :)
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #33617266
Zelius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Обновил программу. Сделал подключение через ConnectionString, т.е. теперь работает Win авторизация и пустой пароль. А так же уменьшил размер программы :))

С уважением, Князев Константин
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #33618078
Zelius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
P.S. to JASterus: убрал регистр из запроса.

С уважением, Князев Константин
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #33618320
интересно!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А с deadlock-ами она поможет разобраться?
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #33618364
Zelius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
интересно!А с deadlock-ами она поможет разобраться?

Нет, только показывает локи.
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #33618394
GreenSunrise
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
С дедлоками поможет разобраться граф дедлока.
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #33618477
интересно!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 GreenSunrise:
а можно чууть поподробнее? или хотя бы по каким словам искать?
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Небольшая самодельная тулза для отображения блокировок...
    #34595889
Zelius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Выложил новую версию, 1.3.7.24, которая работает с 2005ым сервером, сидит в трее и сообщает о блокировках. Лежит там же на sqlblocks.narod.ru
Замечания приветсвуются!

С уважением, Князев Константин
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #34595991
Фотография BugsBunny
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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. :)
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #34598370
Фотография 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)
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #34598609
Zelius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BugsBunny1. 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 больше указанного, что бы не пиликало постояно. Попробуй в ноль поставить...
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #34598728
Фотография BugsBunny
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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 ?
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #34598910
Zelius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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.
Пока не собираюсь этого делать.
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #34598983
Фотография BugsBunny
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zelius[quot BugsBunny]... исправлены 1 и 2 (это был баг), спасибо за помощь!
...Пока не собираюсь этого делать.
No, thank YOU! :)
Fair enough.
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #34599575
sqlman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чего реально нехватает, так это возможноти делать KILL. Это полезно для зависших процессов.
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #34599588
Zelius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sqlmanЧего реально нехватает, так это возможноти делать KILL. Это полезно для зависших процессов.

Дабл клик по зависшему процессу и наимаем кнопку Kill Process
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #34603252
Фотография BugsBunny
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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.
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #34603305
Фотография BugsBunny
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Some not pretty stuff:
5. Accidentely unplugged network cable. As a result, application showed some connection errors. After re-connecting the cable, application is not able to recover. Monitored instances are stuck with "refresh" icon though regular "select ... from sysprocesses..." statements seem to be issued against the instance.
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #34612091
Zelius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MS SQL Blocks ver. 1.3.9.41

Исправлена ошибка повисания сервера в состоянии рефреша при восстановлении соединения. Вынесена кнопка авторефреша на тулбар. Информация о процессе теперь доступно только для членов sysadmin. Появился мультиселект для процессов и их можно скопировать в клипбоард по Ctrl+Ins (без last SQL command)

С уважением, Князев Константин
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #34614371
Фотография BugsBunny
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Thank you very much.

PS. Familiar Ctrl-C in additon to Ctrl-Ins would be nice :)
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #34652095
о горе мне
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
очень интересная тулза, только можно все-таки без этого:
ZeliusИнформация о процессе теперь доступно только для членов sysadmin.
я разработчик ПО, для отладки приложений для разработчиков выделен отдельный сервер, на котором мы есть sysadmin, но тестированием приложений занимается группа тестирования, которая работает на своем тестовом сервере, где они(тестировщики) - sysadmin, а разработчики - нет. разработчик отлаживает свое приложение сам, и вероятность того, что он увидет какие-то блокировки, вызванные процессами своего приложения очень низка, в то время как сервер тестирования реплицируемый и поэтому НЕ работают на нем только реальные юзеры, все остальные - от разработчиков до группы поддержки пользователей всегда там и, соответственно, вероятность возникновения блокировок гораздо выше. Я настроился на тестировочный сервер, увидел, что возникают блокировки, но посмотреть, что именно вызвает их, я не могу. вот така вот трабла.
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #34652101
о горе мне
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
т.е. я имею ввиду "kill process" конечно оставлять для не сисадминов не нужно однозначно, но просмотреть sql-команды, конечо было бы желательно.
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #34652103
Виталий_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Уважаемый Zelius,
у меня просьба - выложи пж-ста на сайте версию запакованную в rar, а то файервол включили админы :(

Или пришли на почту mailforvital@mail.ru

Очень благодарен буду!
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #34652952
Интересно, идея написать эту софтину возникла после попыток исключить блокировки или вместо?
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #34652988
Zelius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
о горе мнеочень интересная тулза, только можно все-таки без этого:
ZeliusИнформация о процессе теперь доступно только для членов sysadmin.
я разработчик ПО, для отладки приложений для разработчиков выделен отдельный сервер, на котором мы есть sysadmin, но тестированием приложений занимается группа тестирования, которая работает на своем тестовом сервере, где они(тестировщики) - sysadmin, а разработчики - нет. разработчик отлаживает свое приложение сам, и вероятность того, что он увидет какие-то блокировки, вызванные процессами своего приложения очень низка, в то время как сервер тестирования реплицируемый и поэтому НЕ работают на нем только реальные юзеры, все остальные - от разработчиков до группы поддержки пользователей всегда там и, соответственно, вероятность возникновения блокировок гораздо выше. Я настроился на тестировочный сервер, увидел, что возникают блокировки, но посмотреть, что именно вызвает их, я не могу. вот така вот трабла.

DBCC INPUTBUFFER permissions default to members of the sysadmin fixed server role only, who can see any SPID. Other users can see any SPID they own. Permissions are not transferable.
Так что боюсь все равно не получится увидеть запросы без сисадмина, потому и решил ввести этот запрет...
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #34653014
Zelius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Мимо_проходил_Интересно, идея написать эту софтину возникла после попыток исключить блокировки или вместо?
Что бы исключить - нужно сначала их найти, а что бы их быстрее найти на нескольких серверах как раз и написал софтину...
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #34653142
Фотография SanyL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
посмотрел софтину до того как почитал комменты BugsBunny, впринципе возникли схожие замечания... но точно стоит поправить файлик servers.ini - не должен быть пасс в открытом виде... это допустимо только если к компу доступ имеет только админ, а значит ограничивает возможных пользователей вашей программы...
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #34653147
Фотография SanyL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
потом неплохо былобы добавить опцию протоколирования возникающих блокировок - малоли что ночью, например, делается = а с утра пришел и посмотрел что когда как и где...
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #34653205
Zelius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Согласен! Вопрос во времени...

С уважением, Князев Константин
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #34683682
Zelius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Выложил новую версию, которая запрашивает пароль, если его нет в строке подключения. Лежит там же .

С уважением, Князев Константин
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #34684950
Lepsik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SanyLпотом неплохо былобы добавить опцию протоколирования возникающих блокировок - малоли что ночью, например, делается = а с утра пришел и посмотрел что когда как и где...

при чем в формате xml - чтобы другими тулзами можено бы было автоматизировать
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #34688973
KtaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите плиз, что в строке подключения писать?
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #34688990
Фотография Knyazev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KtaKПодскажите плиз, что в строке подключения писать?

там не обязательно писать, можно выбрать: кнопка ...
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #34689040
KtaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Knyazev Alexey KtaKПодскажите плиз, что в строке подключения писать?

там не обязательно писать, можно выбрать: кнопка ...
чорт :)
мне показалось что она дизэйблед ...

зы. пасибо за прогу.
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #34689543
Фотография gang
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А исходничком не поделитесь? =) Или хотя бы иконками. Сам последний год-полтора нахожусь в мучительном процессе рисования тулзы по функционалу схожей с этой /topic/51712&hl=%f2%e2%ee%f0%e8%f2%f1%ff
Очень долго искал всякие вкусные иконки про БД со всякими плюсиками, замочками и проч. Кое-что получилось надергать у мелко-мягких, но мало - видимо хорошо прячут или я не там ищу... Что-то пришлось подрисовывать самому и юзать в gif-ах (скрин приложу). Это по поводу иконок, а по поводу исходников хотелось бы глянуть как оно там все работает из склонности к безопасному сексу ;-) Ну и вообще любопытно как народ кодит.
ЗЫ Если не секрет конечно.
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #34689615
Shurik55
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Прога удобная. Но хотелось бы чтобы она сохраняла локи в файл и потом их просматривать.
Помарки:
1. У окна стоит Position=poDesigned, а хотелось бы poScreenCenter
2. Глюк с горизонтальным сплитером.
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #34689643
Zelius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gangпо поводу иконок
Это GlyFX 11, поищи, она есть в поиске.
Исходники может выложу, но пока они в стадии переделки, добавляю хистори для локов...
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #34689653
Zelius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shurik55Прога удобная. Но хотелось бы чтобы она сохраняла локи в файл и потом их просматривать.
Помарки:
1. У окна стоит Position=poDesigned, а хотелось бы poScreenCenter
2. Глюк с горизонтальным сплитером.
1. Вообще размер экрана должен запоминаться. Или у тебя не работает оно?
2. Что за глюк?
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #34689817
Shurik55
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zelius1. Вообще размер экрана должен запоминаться. Или у тебя не работает оно?
2. Что за глюк?
1. При первом запуске на 17" с разрешением 1280х1024 вылазит право на 10-ю часть.
2. Если его потянуть вверх, то растягивается панелька, а не нижнее окно.
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #34689939
Zelius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shurik55
1. При первом запуске на 17" с разрешением 1280х1024 вылазит право на 10-ю часть.
2. Если его потянуть вверх, то растягивается панелька, а не нижнее окно.

1. OK
2. Не понимаю... тяну и все правильно тянется... или ты умудрился его ниже лога опустить? тогда в реестре надо удалить HKEY_CURRENT_USER\Software\SQLBlocks\MainForm.
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #34690024
Shurik55
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zelius2. Не понимаю... тяну и все правильно тянется... или ты умудрился его ниже лога опустить? тогда в реестре надо удалить HKEY_CURRENT_USER\Software\SQLBlocks\MainForm.
Помогло. Повторить так.
Запускаем на чистой машине. Растягиваем на весь экран и тянем сплитер на середину. Закрываем приложение. Открываем и между сплитером и нижним окном панелька на 20 пикселей :)
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #34690151
Zelius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shurik55
Запускаем на чистой машине. Растягиваем на весь экран и тянем сплитер на середину. Закрываем приложение. Открываем и между сплитером и нижним окном панелька на 20 пикселей :)
Да, что то типа такого получается. Исправим. Сенкс!
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #34693230
KtaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2Zelius.
Пара пожеланий к очень удобной софтине :)
1. Можно ли делать сложные сортировки в табличке (сначала отсортировать по одному столбцу, потом, не теряя предыдущей сортировки, по другому и т.д. )
2. Можно ли сделать фильтр, чтобы отображалась только часть данных (например фильтр по приложению, или по пользователю)
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #34693649
Zelius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KtaK2Zelius.
Пара пожеланий к очень удобной софтине :)
1. Можно ли делать сложные сортировки в табличке (сначала отсортировать по одному столбцу, потом, не теряя предыдущей сортировки, по другому и т.д. )
2. Можно ли сделать фильтр, чтобы отображалась только часть данных (например фильтр по приложению, или по пользователю)

1. Можно, сделаю
2. Не думаю, что это нужно, так как тулза все таки заточена показывать блокировки. Да и утяжелит это сильно программу...
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #34694067
Zelius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MS SQL Blocks ver. 1.5.11.50

Добавлено сохранение блокировок в XML файлы. А так же для блокировок подгружается текст SQL запроса. Версия немного сыровата, но работает стабильно. Жду комментарии :)

С уважением, Князев Константин
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #34694731
Фотография Александр Гладченко
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На сайте стоит добавить англоязычное описание.

Кстати, читать логи потом можно с помощью XML Notepad 2007
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #34695220
Zelius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Александр ГладченкоНа сайте стоит добавить англоязычное описание.


С инглишом не дружу, особенно такой большой текст :)
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #34695321
Фотография Александр Гладченко
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zelius
С инглишом не дружу, особенно такой большой текст :)

Может быть тут найдуться желающие перевести текст на английский, и тем помочь автору этой замечательной программы? (я могу только наоборот :) ...там ведь совсем немного...
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #34695330
Zelius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Александр Гладченко Zelius
С инглишом не дружу, особенно такой большой текст :)

Может быть тут найдуться желающие перевести текст на английский, и тем помочь автору этой замечательной программы? (я могу только наоборот :) ...там ведь совсем немного...
Думаешь, что нужно переводить? Мне кажется, что не очень нужно...
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #34695341
Фотография Knyazev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Александр Гладченко
Может быть тут найдуться желающие перевести текст на английский

Думаю, что BugsBunny легко может это сделать, с его английским
тем более он оч. помогал автору в поисках БАГов, думаю и тут поможет
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #34695440
Фотография Александр Гладченко
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zelius
Думаешь, что нужно переводить? Мне кажется, что не очень нужно... Думаю, обязательно нужно, а то приходиться мне, как умею на ломанном английском объяснять Вот, к примеру, человек интересуется:

"Greg Linwood" <greg.linwood@sqlservants.com.au>; сообщил/сообщила в новостях следующее:
What does it do Alex?

I had a look at the website but its all in Russian..

Regards,
Greg Linwood
SQL Server MVP
http://blogs.sqlserver.org.au/blogs/greg_linwood
Benchmark your query performance
http://www.SQLBenchmarkPro.com
"Alexander Gladchenko" <gladchenko@sql.ru>; wrote in message news:OwZH10z0HHA.1280@TK2MSFTNGPRV03.privatenews.microsoft.com...
The useful free utility: MS SQL Blocks ver. 1.5.11.50 http://sqlblocks.narod.ru/SQLBlocks.zip

Comments and offers write to the forum: /topic/272902&pg=-1 or Konstantin

--------------
Alexander Gladchenko
http://msmvps.com/blogs/gladchenko/default.aspx
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #34695490
Zelius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Александр ГладченкоДумаю, обязательно нужно, а то приходиться мне, как умею на ломанном английском объяснять

ну вот было описание на download.com , правда старое, давно туда выкладывал... и история там не отображена...
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #34695512
Фотография Александр Гладченко
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Возьмём за основу:

Konstantin KnyazevMSSQL Blocks is intended to show blocking and blocked processes on several servers in tree view. It uses ADO to get sysprocesses information and shows it in comfortable treeview style. It is easy to find blocking processes on several servers.
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #34695630
Shurik55
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. Немного не понятно зачем две настройки Properties и Settings. Зачем хранить их в двух местах в ini и рестре?
2. Неудобно то что если я закрываю приложение по Х, то оно не сворачиватся в трей, а именно закрывается.
3. Если папки для хранения истории нет, история не сохраняется...
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #34695745
Zelius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shurik551. Немного не понятно зачем две настройки Properties и Settings. Зачем хранить их в двух местах в ini и рестре?
2. Неудобно то что если я закрываю приложение по Х, то оно не сворачиватся в трей, а именно закрывается.
3. Если папки для хранения истории нет, история не сохраняется...

1 Properties сервера и Settings программы, разные вещи. Сервера в ини для того что бы можно было легко перенести на другой компьютер. Мне это нужно было.
2 Закрывай по минимайзу или Esc, стандартный виндовый интерфейс. или ищи голоса в поддержку изменения поведения :)
3 А как это ее нет? Она должна проверяться каждый раз на существование... Как она у тебя задана?
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #34695798
Фотография Александр Гладченко
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zelius3 А как это ее нет? Она должна проверяться каждый раз на существование... Как она у тебя задана?

Там глюк какой то, у меня она тоже при первом запуске не создалась, зато потом появилась...
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #34695826
Zelius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Александр Гладченко
Там глюк какой то, у меня она тоже при первом запуске не создалась, зато потом появилась...
Ошибка была? Она должна создаваться только при создании файла, не раньше...
Снепшоты могут не создаваться если стоит галка сохранения только варнингов...
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #34695996
Фотография Александр Гладченко
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Во, во... я кажется галку убирал...
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #34696295
Фотография BugsBunny
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Knyazev Alexey Александр Гладченко
Может быть тут найдуться желающие перевести текст на английский

Думаю, что BugsBunny легко может это сделать, с его английским
тем более он оч. помогал автору в поисках БАГов, думаю и тут поможет
public service it is :)
provided AS-IS, the proper use of a/an/the articles is not guaranteed for sure :

автор/translator
Описание
Эта утилита предназначена для сбора информации о блокированных процессах с нескольких MS SQL 2000 серверов и ее отображения в удобном графическом формате. У нас приложение работает на нескольких серверах и периодически подвисает и что бы не лазить по ним и не искать вручную блокировки, я написал эту маленькую программку. Работает она через ADO в асинхронном режиме. При обновлении информации, она выбирает данные из sysprocesses и преобразовывает их в древовидную структуру, позволяя показывать только проблемные процессы. Теперь я могу найти проблемное место простым ее запуском! От такого счастья решил ее выложить, может кому еще пригодится :) Написана она на Delphi, так что извините за размер...

Description
This utility has been developed for collecting information on blocking/blocked processes (sessions) from multiple SQL Server 2000/2005 instances and presenting it in user-friendly format. The history behind creation of this utility is that we have our (translator: in-house developed) application which is running on several SQL instances and intermittently hangs (translator: due to blocks). To save us time of manually checking though all instances for possible long-running blocks I wrote this small program. It works through ADO in asynchronous mode. During refresh it fetches data from [sysprocesses] (system table) and transforms them into tree-like structure allowing to show only processes(sessions) in trouble. Now I can easily locate a problem just by running it. Being overjoyed by that I decided to share it – maybe it can help someone else. It’s written on Delphi, so I'd like to apologize for the size of it in advance…

Поддержка
Если есть комментарии, пожелания или еще что, то есть ветка на форуме sql.ru, гостевая или шлите их на kknyazev(at)mail.ru.
За изменениями лучше всего следить на форуме sql.ru.
С уважением, Константин Князев.

Support
For all comments, suggestions and etc please use thread on SQL.RU forum, guestbook or just send them to kknyazev(at)mail.ru.
With best regard, Konstantin Knyazev

30.07.2007 Новая версия 1.5.11.50
Добавлено сохранение блокировок в XML файлы. А так же для блокировок подгружается текст SQL запроса. Версия немного сыровата, но работает стабильно.

2007-07-30 New version 1.5.11.50
Added automatic logging of sessions involved into blocking into XML format files. Also a text of SQL statement is loaded for block-related sessions (translator: via DBCC INPTBUFFER ?) . This version is still raw but stable.

25.07.2007 Новая версия 1.4.10.44
Добавлена возможность вводить логин и пароль при подключении к серверу, а не хранить в строке подключения. Можно временно отключить сервер не удаляя его. Так же по мелочи: выход из окна информации о процессе и минимизация главного окна по Esc.

2007-07-25 New version 1.4.10.44
New feature to prompt for login/password information during initial connection to SQL Server instance instead of storing it (as a clear text) in connection string (in INI-file) has been added. Now it’s possible to temporary pause server (instance?) without need to unregister it. Miscellaneous: "Esc" key can be used to close "Process Info" window and to minimize the main window (to the system tray).

21.06.2007 Новая версия 1.3.9.41
Исправлена ошибка повисания сервера в состоянии рефреша при восстановлении соединения. Вынесена кнопка авторефреша на тулбар. Информация о процессе теперь доступно только для членов sysadmin. Появился мультиселект для процессов и их можно скопировать в клипбоард по Ctrl+Ins

2007-06-21 New version 1.3.9.41
Fixed bug of server hanging in refresh state after network connection is restored. “Autorefresh” option added as a button on toolbar. “Process Info” context menu is now available for members of sysadmin server group only. Multiple sessions can be selected and copied to clipboard by Ctrl+Ins (translator: Ctrl-C wouldn’t hurt either).

15.06.2007 Новая версия 1.3.8.33
Добавлено несколько опций оповещения и исправлены найденные ошибки.
2007-06-15 New version 1.3.8.33
There are several notifications (warning) options have been added and minor bugs fixed.

14.06.2007 Новая версия 1.3.7.24
Теперь работает с 2005ым сервером, сидит в трее и информирует о блокировках. Размера файла не бояться! Это не происки сатаны, так случайно вышло :)

2007-06-14 New version 1.3.7.24
Now it works with SQL2005, can be minimized to the system tray and notifies of blocks. Please don’t mind the size (translator: used to be 666MB) – it’s not a Satan’s sign, just a coincidence.
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #34696321
Zelius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BugsBunny

Спасибо!

С уважением, Князев Константин
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #34696385
Фотография BugsBunny
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZeliusСпасибо!

You're very welcome. Please try to read it thru and correct if nessessary. I can not guarantee that it has not been affected by my "creative" side :)
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #34696878
Zelius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сделал инглиш страничку, кого это интересовало :)

BugsBunny
You're very welcome. Please try to read it thru and correct if nessessary. I can not guarantee that it has not been affected by my "creative" side :)
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #34696881
Zelius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BugsBunny ZeliusСпасибо!

You're very welcome. Please try to read it thru and correct if nessessary. I can not guarantee that it has not been affected by my "creative" side :)

Оставил авторское креативное начертание :)
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #34697269
Sgt.Pepper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторAdded automatic logging of sessions involved into blocking into XML format files. Also a text ...
1. мне все-таки представляется, что к блокировкам больше подходит locking
2. "a text" с последущим серьезным уточнением что за текст больше претендует на "THE text"

не ради лингвистического спора ))) - просто предложения

если BugsBunny и автор не возражают
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #34698614
Фотография BugsBunny
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sgt.Pepper авторAdded automatic logging of sessions involved into blocking into XML format files. Also a text ...
1. мне все-таки представляется, что к блокировкам больше подходит locking
2. "a text" с последущим серьезным уточнением что за текст больше претендует на "THE text"

не ради лингвистического спора ))) - просто предложения

если BugsBunny и автор не возражают

1. "locking" is how SQL Server works in general, short-term blocking is a normal side-effect, long-term blocking is the problem (IMHO)
2. Every time I read it myself I have different opinion on articles :P
me...the proper use of a/an/the articles is not guaranteed for sure...
btw, from the same sentence, I'd corrected "block-related" to "blocking related"...
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #34698641
Zelius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не спорьте, все равно ближайшее время у меня не будет возможности править :)
Но все равно спасибо, надеюсь дойдут руки!

С уважением, Князев Константин
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #34698740
Sgt.Pepper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Константин, а нельзя ли мне тулзу по мылу переслать, а то проблемы с доступом на narod (((
очень любопытно посмотреть
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #34698808
Zelius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sgt.PepperКонстантин, а нельзя ли мне тулзу по мылу переслать, а то проблемы с доступом на narod (((
очень любопытно посмотреть


Задача 'kknyazev@mail.ru - отправка' сообщила об ошибке (0x800CCC69) : ' Отклик сервера: 550 Message was not accepted -- invalid mailbox. Local mailbox sgt.pepper.spb@mail.ru is unavailable: account is disabled'
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #34698874
Sgt.Pepper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sorry, давно не пользовался...
повторите плз на s.bulatov@mrg.spb.ru - этот работает точно
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #34699036
Zelius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sgt.Peppersorry, давно не пользовался...
повторите плз на s.bulatov@mrg.spb.ru - этот работает точно
ушло...
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #34699742
Фотография BugsBunny
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
v.1.5.11.50
1. What is the principle for logging snapshots? Expected "every warning" does seem to be an answer.
I have over 30-minute blocking and nothing's happening (on second registered instance).
To reproduce:
Код: plaintext
1.
2.
3.
4.
5.
--1st session
create table ##t(id int primary key)
begin tran
    select * from ##t with(holdlock, updlock)
--commit tran
--drop table ##t
Код: plaintext
1.
--2nd session
insert ##t select  1 
Код: plaintext
1.
2.
--3rd session
begin tran
select * from ##t with(holdlock, updlock)
2. SQL statement for top-level session in blocking chain is not fetched (and logged in snapshot)
see file attached
3. "Clear Errors" in "Blocking History" seems not working and I'd recommend to add "refresh" context menu
4. Program might get into the state when it's impossible to exit it though it stays fully(?) operational.
it happened twice though I don't know how to reproduce it.
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #34699796
Фотография BugsBunny
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BugsBunnyv.1.5.11.50
1. What is the principle for logging snapshots? Expected "every warning" does seem to be an answer.
I have over 30-minute blocking and nothing's happening (on second registered instance).
...
Got it (snapshot) after all - see attached
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #34700245
Zelius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BugsBunny
1 Снепшот сохраняется только когда блокировка прошла, исчезла с Current Activity
2 Спасибо, нашел ошибку исправлю.
3 Меню туда закралось по ошибке, уберу. на счет рефреш не уверен, пока не понял как с этим работать, само же удаляется...
4 Да, сам замечал пару раз, но понять что с ней пока не смог. Ощущение, что из-за асинхронности АДО, буду разбираться....

Еще нашел ошибку - не показывались и не сохранялись процессы с взаимной блокировкой, исправлю.

С уважением, Константин Князев.
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #34700813
Zelius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Обновиление
http://sqlblocks.narod.ru] Версия 1.5.12.52 (02.08.2007)
Исправлена ошибка определения SQL запроса для верхнего блокирующего процесса

Исправлена ошибка отображения и сохранения взаимно блокирующих процессов

Добавлена кнопка открытия папки снепшотов.

С уважением, Князев Константин
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #34704709
Фотография Александр Гладченко
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня что-то не хочет програмка закрываться... только подвисает в ответ на крестик или quit...
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #34706609
Zelius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Александр ГладченкоУ меня что-то не хочет програмка закрываться... только подвисает в ответ на крестик или quit...
У меня тоже такое пару раз было, но пока не отловил... Есть ощущение что это из-за асинхронности работы с АДО. Буду разбираться... Нет ли каких то намеков после чего это могло получиться?
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #34706954
Фотография Александр Гладченко
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zelius
У меня тоже такое пару раз было, но пока не отловил... Есть ощущение что это из-за асинхронности работы с АДО. Буду разбираться... Нет ли каких то намеков после чего это могло получиться?

Мне показалось, что из-за одновременного запуска SQL Server Management Studio...
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #34731417
Фотография gang
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Обнаружилась неприятная трабла. После установки последней версии при обращении с сиквелам под 7-кой вылазит ошибка Incorrect syntax near the keyword 'table' ( EOleException at 0x00536B96).
В профайлере отлавливается только select IS_SRVROLEMEMBER('sysadmin'), а затем сразу Ексепшн.
На предыдущей версии такого не было. Пробовал перезаводить сервак в SQLBlocks.exe - не помогает. От вида аутентификации тоже ничего не зависит. Коннектился под админскими логинами (и NT и SQL). Хелп. Кстати, а код-то будет?
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #34732003
Zelius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Александр Гладченко Zelius
У меня тоже такое пару раз было, но пока не отловил... Есть ощущение что это из-за асинхронности работы с АДО. Буду разбираться... Нет ли каких то намеков после чего это могло получиться?

Мне показалось, что из-за одновременного запуска SQL Server Management Studio...

Нет, не оно, пока не смог отловить... Но единственное что приходит в голову, это окно открытое ADO для асинхронных целей, которое не правильно отрабатывает сообщение о закрытии.... Пока единственное что приходит в голову - это отказаться от асинхронности и перенести все в потоки...
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #34732011
Zelius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gangОбнаружилась неприятная трабла. После установки последней версии при обращении с сиквелам под 7-кой вылазит ошибка Incorrect syntax near the keyword 'table' ( EOleException at 0x00536B96).
В профайлере отлавливается только select IS_SRVROLEMEMBER('sysadmin'), а затем сразу Ексепшн.
На предыдущей версии такого не было. Пробовал перезаводить сервак в SQLBlocks.exe - не помогает. От вида аутентификации тоже ничего не зависит. Коннектился под админскими логинами (и NT и SQL). Хелп. Кстати, а код-то будет?
А какой SQL сервер? Он понимает табличные переменные?
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #34732039
iap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zelius gangОбнаружилась неприятная трабла. После установки последней версии при обращении с сиквелам под 7-кой вылазит ошибка Incorrect syntax near the keyword 'table' ( EOleException at 0x00536B96).
В профайлере отлавливается только select IS_SRVROLEMEMBER('sysadmin'), а затем сразу Ексепшн.
На предыдущей версии такого не было. Пробовал перезаводить сервак в SQLBlocks.exe - не помогает. От вида аутентификации тоже ничего не зависит. Коннектился под админскими логинами (и NT и SQL). Хелп. Кстати, а код-то будет?
А какой SQL сервер? Он понимает табличные переменные?Табличные переменные появились только в SQL2000, а не SQL7, как у gang
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #34733704
Фотография BugsBunny
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #34734714
Zelius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iapабличные переменные появились только в SQL2000, а не SQL7, как у gang
Хмм... И что делать, убирать для SQL7, переписывать на временные? Для всех серверов перевести на временные или только для 7ого?
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #34736775
talex79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
gangОбнаружилась неприятная трабла. После установки последней версии при обращении с сиквелам под 7-кой вылазит ошибка Incorrect syntax near the keyword 'table' ( EOleException at 0x00536B96).
+1

SQL 7 тоже

Фиксы будут?
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #34736868
Zelius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BugsBunny
Часто такое получается? Есть закономерность?

talex79
будут, подправлю в будни...
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #34744465
Zelius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вопрос к знатокам, просто поменять запрос на временные таблицы (для совместимости с MSSQL7) или сделать в зависимости от версии сервера? Судя по профайлеру, без запроса SQL текста с временными таблицами даже быстрее отрабатывает!
Кстати, проверьте запрос на семерке, работает ли? А то его уже лет дцать не видел...

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
SET NOCOUNT ON
SET XACT_ABORT ON

if exists (select * from tempdb.dbo.sysobjects where id = object_id('tempdb.dbo.#processes'))
	truncate table #processes
else
	create table #processes ( 
		[spid] [smallint] NULL, 
		[blocked] [smallint] NULL, 
		[name] [nvarchar] ( 128 ) NULL,
		[waittime] [bigint] NULL ,
		[lastwaittype] [nchar] ( 32 ) NULL ,
		[waitresource] [nchar] ( 256 ) NULL ,
		[open_tran] [smallint] NULL ,
		[status] [nchar] ( 30 ) NULL ,
		[hostname] [nchar] ( 128 ) NULL ,
		[program_name] [nchar] ( 128 ) NULL ,
		[cmd] [nchar] ( 16 ) NULL ,
		[loginame] [nchar] ( 128 ) NULL ,
		[cpu] [int] NULL ,
		[physical_io] [bigint] NULL ,
		[memusage] [int] NULL,
		[last_batch] [datetime] NULL,
		[sql] [nvarchar] ( 500 ) NULL
	)

insert into #processes
	select spid, blocked, d.name, waittime, lastwaittype, waitresource, open_tran, p.status, 
		hostname, program_name, cmd, loginame, cpu, physical_io, memusage, last_batch, ''
	from master.dbo.sysprocesses p left outer join master..sysdatabases d on d.dbid = p.dbid

if NOT exists( select * from #processes where ISNULL( blocked,  0 ) <>  0 )
begin
	select * from #processes 
	order by blocked, waittime
	return
end

if exists (select * from tempdb.dbo.sysobjects where id = object_id('tempdb.dbo.#last_sql'))
	truncate table #last_sql
else
	create table #last_sql ( EventType nvarchar( 30 ), Parameters int, EventInfo nvarchar( 500 ))

DECLARE cur_blocked CURSOR FAST_FORWARD FOR
	select spid from #processes 
	where ISNULL( blocked,  0 ) <>  0 
		OR spid in ( select blocked from #processes)

declare @spid int, @cmd varchar( 100 )

OPEN cur_blocked 

FETCH NEXT FROM cur_blocked INTO @spid
WHILE @@fetch_status =  0 
BEGIN
	truncate table #last_sql
	set @cmd = 'DBCC INPUTBUFFER (' + CAST(@spid as varchar( 12 )) + ')'
	insert into #last_sql ( EventType, Parameters, EventInfo)
		exec (@cmd)

	update #processes set sql = ISNULL( (select EventInfo from #last_sql), '')
	where spid = @spid

	FETCH NEXT FROM cur_blocked INTO @spid
END

CLOSE cur_blocked 
DEALLOCATE cur_blocked 

select * from #processes
order by blocked, waittime


С уважением, Князев Константин
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #34744534
talex79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Zelius
Кстати, проверьте запрос на семерке, работает ли? А то его уже лет дцать не видел...


Server: Msg 2715, Level 16, State 7, Line 7
Column or parameter #4: Cannot find data type bigint.

Если их заменить на INT - все работает
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #34744896
Zelius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
talex79 Zelius
Кстати, проверьте запрос на семерке, работает ли? А то его уже лет дцать не видел...


Server: Msg 2715, Level 16, State 7, Line 7
Column or parameter #4: Cannot find data type bigint.

Если их заменить на INT - все работает

а если его заменить на decimal(38)? у меня на 2005ом есть waittime > maxint...
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #34745660
talex79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Zelius talex79 Zelius
Кстати, проверьте запрос на семерке, работает ли? А то его уже лет дцать не видел...


Server: Msg 2715, Level 16, State 7, Line 7
Column or parameter #4: Cannot find data type bigint.

Если их заменить на INT - все работает

а если его заменить на decimal(38)? у меня на 2005ом есть waittime > maxint...

Server: Msg 2750, Level 16, State 1, Line 7
Column or parameter #4: Specified column precision 38 is greater than the maximum precision of 28.

Т.е. только decimal(28)
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #34745687
Фотография Александр Гладченко
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zelius
а если его заменить на decimal(38)? у меня на 2005ом есть waittime > maxint...

А есть waittime > maxbigint
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #34745706
talex79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Александр Гладченко Zelius
а если его заменить на decimal(38)? у меня на 2005ом есть waittime > maxint...

А есть waittime > maxbigint

Это где есть maxbigint?
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #34745732
Zelius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
talex79
Т.е. только decimal(28)

Ок, тогда пока его и поставлю..
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #34745741
Фотография BugsBunny
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Александр Гладченко...А есть waittime > maxbigint
and how sys.processes digests it?
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #34745750
Фотография BugsBunny
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zelius talex79
Т.е. только decimal(28)

Ок, тогда пока его и поставлю..
I'd do "upconversion". I've started changing your code (before you even asked for comments) but didn't have enough time. Here is just draft:


Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
--I would add parameters to minimize volume of information sent to client as well as internal processing overhaul (see below)
declare @filter sysname -- will be used to limit total number of records fetched and processes for SQL statement
    , @wait_time int -- we dont want alarm on healthy short-term blocking
    , @limit_sql_detection int -- will be used to limit number of SQL statements fetched per blocking chain branch 
    , @ignore_selfblocking bit
select @filter = N'blocking' -- {blocking | waits | all}
    , @limit_sql_detection =  3  -- <=0-do not fetch SQL at all, >0-number of SQL to detect per blocking chain branch
    , @wait_time =  1000  -- im milliseconds
    , @ignore_selfblocking =  1  

SET NOCOUNT ON
SET XACT_ABORT ON
--go in favor of temporary table for backward compatibility
if object_id('tempdb..#processes') is not null drop table #processes
create table #processes( 
	[spid] [smallint] NULL, 
	[blocked] [smallint] NULL, 
	[name] [nvarchar] ( 128 ) NULL,
	[waittime] [int] NULL , --changed from bigint for backward compatibility
	[lastwaittype] [nchar] ( 32 ) NULL ,
	[waitresource] [nchar] ( 256 ) NULL ,
	[open_tran] [smallint] NULL ,
	[status] [nchar] ( 30 ) NULL ,
	[hostname] [nchar] ( 128 ) NULL ,
	[program_name] [nchar] ( 128 ) NULL ,
	[cmd] [nchar] ( 16 ) NULL ,
	[loginame] [nchar] ( 128 ) NULL ,
	[cpu] [int] NULL ,
	[physical_io] [int] NULL , --changed from bigint for backward compatibility
	[memusage] [int] NULL,
	[last_batch] [datetime] NULL,
	[sql] [nvarchar] ( 500 ) NULL
)

if @@version not like 'Microsoft SQL Server  7%' --upconverting to SS2005, application code should be able to compensate the difference between versions
    exec ('alter table #processes alter column [waittime] [bigint] NULL;
        alter table #processes alter column [physical_io] [bigint] NULL;')

insert into #processes with(tablock)
select spid, blocked, d.name, waittime, lastwaittype, waitresource, open_tran, p.status, 
		hostname, program_name, cmd, loginame, cpu, physical_io, memusage, last_batch, ''
from master.dbo.sysprocesses p left outer join master..sysdatabases d on d.dbid = p.dbid

--filtering added
....
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #34746387
iap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BugsBunny
Код: plaintext
if @@version not like 'Microsoft SQL Server  7%' --upconverting to SS2005, application code should be able to compensate the difference between versions
Можно, наверно, и так?
Код: plaintext
if parsename(cast(serverproperty('ProductVersion') as char), 3 )> 7 
А то версия 6.5 ведь тоже Вашему критерию соответствует...
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #34746519
iap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iap BugsBunny
Код: plaintext
if @@version not like 'Microsoft SQL Server  7%' --upconverting to SS2005, application code should be able to compensate the difference between versions
Можно, наверно, и так?
Код: plaintext
if parsename(cast(serverproperty('ProductVersion') as char), 3 )> 7 
А то версия 6.5 ведь тоже Вашему критерию соответствует... Прошу прощения, но я был не совсем прав. :-((
Читаем БОЛ для SQL2005 про функцию serverproperty('ProductVersion'): БОЛ для SQL2005ProductVersion - Версия экземпляра SQL Server в формате 'major.minor.build' Проверяем на SQL2005:
Код: plaintext
SELECT serverproperty('ProductVersion')
Получаем:
Код: plaintext
 9 . 00 . 3159 . 00 
Поведение serverproperty('ProductVersion') в SQL2005, оказывается, изменилось! Оно не соответствует документации: возвращает четыре компонента версии, разделённые точками, а не три.
Поэтому моё предыдущее предложение неверно. Можно так:
Код: plaintext
if left(cast(serverproperty('ProductVersion') as char), charindex('.', cast(serverproperty('ProductVersion') as char))- 1 )> 7 
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #34751246
Zelius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Думаю, что правильнее сделать для каждой версии свой запрос, а версию определять через
Код: plaintext
select cmptlevel from sysdatabases where name='master'
Так как для 2005 лучше использовать sys.dm_exec_sql_text. Или я не прав?

BugsBunny
Какова цель этого изменения?

С уважением, Князев Константин
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #34751350
Фотография SanyL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
declare @ver varchar( 22 )
declare @retCode int
select @ver=replace(@@version,' ','')
if @ver = 'MicrosoftSQLServer2005'
	select @retCode= 2005  else 
if @ver = 'MicrosoftSQLServer2000'
	select @retCode= 2000 
	else select @retCode=- 1 
select @retCode
	

Я делал таким образом
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #34751404
Фотография BugsBunny
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iap...Можно, наверно, и так?...
...А то версия 6.5 ведь тоже Вашему критерию соответствует...
No, unfortunately. serverproperty was introduced in 2000. Having mix between 7/2000/2005 I had to write backward compatible scripts and know that pretty well. :(

The guys who have 6.5 can vote for adding their case :)
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #34751430
Фотография BugsBunny
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zelius...
BugsBunny
Какова цель этого изменения?
...

Which one?

never mind! decimal will do.
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #34751575
Zelius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А имеет смысл при подключении создавать во временной базе вьюху или хранимку и потом ее дергать?
Что-то вроде для экономии ресурсов....

С уважением, Князев Константин
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #34762824
Zelius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Положил отдельно версию для MSSQL 7, проверьте плиз...
SQLBlocks

И исходники тоже положил. Если будут комментарии - велкам!

С уважением, Князев Константин
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #34763193
Lepsik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
было бы на С++ я бы дополнил возможность слать мылом нотификации. Или приделайте интерфейс а я dll подгоню.
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #34763201
talex79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ZeliusПоложил отдельно версию для MSSQL 7, проверьте плиз...
SQLBlocks

И исходники тоже положил. Если будут комментарии - велкам!

С уважением, Князев Константин

Ошибку пишет:

Column or parameter #14: Cannot find data type bigint
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #34763598
Zelius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
talex79
Ошибку пишет:

Column or parameter #14: Cannot find data type bigint

Сорри! Слона то я и не заметил! Исправил, выложил...
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #34763602
Zelius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lepsikбыло бы на С++ я бы дополнил возможность слать мылом нотификации. Или приделайте интерфейс а я dll подгоню.
В принципе можно и мыло... Как тело или как вложение?
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #34763614
Фотография Александр Гладченко
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zelius Lepsikбыло бы на С++ я бы дополнил возможность слать мылом нотификации. Или приделайте интерфейс а я dll подгоню.
В принципе можно и мыло... Как тело или как вложение?

Если мылом - то только вложением и не по каждому случаю, а, если таковые были, минимум за час. Иначе, может получиться море спама :)
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #34763646
Фотография Max-xaM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Щелкаю два раза по строчке.
Показывается инфа о процессе с кнопочками Refresh, Kill, Close.

Очень часто она НЕ закрывается ни крестиком, ни кнопкой Close.
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #34763667
Zelius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Александр Гладченко
Если мылом - то только вложением и не по каждому случаю, а, если таковые были, минимум за час. Иначе, может получиться море спама :)
А если программа завершилась до окончания часа? Не ждать же пока отошлет может пару мегабайт...
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #34763763
aag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iap BugsBunny
if @@version not like 'Microsoft SQL Server 7%' --upconverting to SS2005, application code should be able to compensate the difference between versions
Можно, наверно, и так?
if parsename(cast(serverproperty('ProductVersion') as char),3)>7

master..xp_msver @optname = 'ProductVersion'
И анализируем первую цифру Character_Value.

Для 6.5, впрочем не проверял.

Nobody faults but mine... (LZ)
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #34763921
Zelius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Max-xaMЩелкаю два раза по строчке.
Показывается инфа о процессе с кнопочками Refresh, Kill, Close.

Очень часто она НЕ закрывается ни крестиком, ни кнопкой Close.
Да, есть еще проблемы с асинхронностью - буду пересматривать код для их устранения. Если есть какая-то закономерность - напиши плиз!
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #34764084
Фотография Александр Гладченко
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zelius Александр Гладченко
Если мылом - то только вложением и не по каждому случаю, а, если таковые были, минимум за час. Иначе, может получиться море спама :)
А если программа завершилась до окончания часа? Не ждать же пока отошлет может пару мегабайт...

А почему бы не подождать :) ИМХО, конечно же всё должно настраиваться, а по умолчанию лучше поставить заслон спаму...
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #34764963
Фотография Max-xaM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zelius Max-xaMЩелкаю два раза по строчке.
Показывается инфа о процессе с кнопочками Refresh, Kill, Close.

Очень часто она НЕ закрывается ни крестиком, ни кнопкой Close.
Да, есть еще проблемы с асинхронностью - буду пересматривать код для их устранения. Если есть какая-то закономерность - напиши плиз!
Заметил.
Если открыть какое-то окно (настройки и т.д.), а в это время обновится список, то окно не закрывается.

Новая бага: нельзя закрыть. Quit в трее тоже не закрывает программу. Просто свернул ее и развернул. Делай Application.Terminate вместо Quit (Close).
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #34765046
Фотография hnkovr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как прописывать ConnectionString?
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #34765108
Фотография SanyL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня эа отправку на почту отвечает отдельный сервис (както самому пришлось писать, т.к. те что были бесплатные не подходили)... Думаю что нет смысла нагружать эту систему подобными функциями - если это необходимо админу, то он всегда сам настроит отправку на почту...
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #34765110
-=MIX=-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не проще ли просто в QA запускать нужный скрипт для просмотра всей нужной инфы?:)

З.Ы. Я вообще написал процедуру и повесил на джоб.
Если залочка не уходит через 4 минуты - убивается с предварительным логированием:)
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #34765142
Zelius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hnkovrКак прописывать ConnectionString?
Нажми кнопку справа от поля ввода...
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #34765162
Zelius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Max-xaM
Новая бага: нельзя закрыть. Quit в трее тоже не закрывает программу. Просто свернул ее и развернул. Делай Application.Terminate вместо Quit (Close).
Не в этом дело... Причем у меня все работает и не виснет, как ты описал...
Кстати, а какой у тебя MDAC? Может от этого зависит....
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #34766086
k700
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Disclaimer: Всю ветку не читал - так что сорри если баян:

У меня периодически в Blocking history возникает такая ситуация:
в правом верхнем окне всего одна строчка (заблокированный процесс).
При этом поле Blocked by имеет некоторое ненулевое значение.
Но вот информации по процессу-виновнику нет :(
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #34766110
k700
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Александр ГладченкоУ меня что-то не хочет програмка закрываться... только подвисает в ответ на крестик или quit...

АННАЛОГИЧНО!

- периодически..

PS: ver. 1.5.12.52
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #34767377
Zelius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Исправил ошибки, добавил определение версии сервера и использование соответствующего запроса, для 2005ого он заметно упростился :)
SQLBlocks_test.zip - просьба проверить тех, у кого залипают окна и у кого MSSQL 7.

С уважением, Князев Константин
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #34769183
k700
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZeliusИсправил ошибки, добавил определение версии сервера и использование соответствующего запроса, для 2005ого он заметно упростился :)
SQLBlocks_test.zip - просьба проверить тех, у кого залипают окна и у кого MSSQL 7.

С уважением, Князев Константин

1) Глюк с нежеланием программы закрываться остался.

2) + к этому в журнале ошибок стали появляться (с периодичностью Refresh-а) парные записи :
Operation cannot be performed while executing asynchronously (EOleException at 0x005109DE)
Operation cannot be performed while executing asynchronously (EOleException at 0x00541787)


3) Перестала вестись Blocking history (при этом в Current activity блокировки показываются)


Если срубить задачу и запустить снова - 1) и 2) пропадают,
но вновь появляются когда программа поработает минут 5-10.

ЗЫ: файлы servers.ini и SQLBlocks.ini от предыдущей версии подходят к версии SQLBlocks_test.zip ? (я их использовал)

ЗЗЫ: XP Prof SP2 + все Updates; 512 RAM
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #34771405
Фотография Max-xaM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zelius Max-xaM
Новая бага: нельзя закрыть. Quit в трее тоже не закрывает программу. Просто свернул ее и развернул. Делай Application.Terminate вместо Quit (Close).
Не в этом дело... Причем у меня все работает и не виснет, как ты описал...
Кстати, а какой у тебя MDAC? Может от этого зависит....

MDAC 2.8 sp1 & Windows 2000 Professional.
MS SQL Server 2000 sp4 & Windows 2000 Server.
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #34772654
Zelius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
k700 Disclaimer: Всю ветку не читал - так что сорри если баян:

У меня периодически в Blocking history возникает такая ситуация:
в правом верхнем окне всего одна строчка (заблокированный процесс).
При этом поле Blocked by имеет некоторое ненулевое значение.
Но вот информации по процессу-виновнику нет :(
Проверь, это не сам себя процесс блокирует? И я так понимаю, что случается, когда в sysprocesses стоит blocked не 0, а такого процесса уже нет....
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #34772659
Zelius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
k700 Александр ГладченкоУ меня что-то не хочет програмка закрываться... только подвисает в ответ на крестик или quit...

АННАЛОГИЧНО!

- периодически..

PS: ver. 1.5.12.52

а кстати, какой таймаут стоит у сервера?
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #34772664
Zelius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Max-xaM Zelius Max-xaM
Новая бага: нельзя закрыть. Quit в трее тоже не закрывает программу. Просто свернул ее и развернул. Делай Application.Terminate вместо Quit (Close).
Не в этом дело... Причем у меня все работает и не виснет, как ты описал...
Кстати, а какой у тебя MDAC? Может от этого зависит....

MDAC 2.8 sp1 & Windows 2000 Professional.
MS SQL Server 2000 sp4 & Windows 2000 Server.
у меня такой же и тоже на 2000ых...
бум думать!
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #34772715
Zelius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Никак не могу повторить проблему с нежеланием закрываться окна. В качестве попытки разрешить проблему, добавил расширенный лог в программу, пункт меню ?\Raise error и кнопку Raise error. Большая просьба тем у кого вылезают эти косяки скачать sqlblocks_debug.zip , запустить, в случае если не закрывается окно или программа - нажать Raise error и прислать мне sqlblocks.log файл на kknyazev@mail.ru

С уважением, Князев Константин
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #34773137
Domanro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Извиняюсь может я не так понял. У нас проблема что постоянно виснет процесс Borland Socket Server и его приходится рубить и опять запускать. Уже несколько раз он подвисал, а в программе ни намека хотя в списке показаны соединения по Borland Socket Server. Или она впринципе не для этого сделана. Можно поподробнее что именно означает поле "Blocked by" - зависший процесс или что?
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #34773422
Zelius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DomanroИзвиняюсь может я не так понял. У нас проблема что постоянно виснет процесс Borland Socket Server и его приходится рубить и опять запускать. Уже несколько раз он подвисал, а в программе ни намека хотя в списке показаны соединения по Borland Socket Server. Или она впринципе не для этого сделана. Можно поподробнее что именно означает поле "Blocked by" - зависший процесс или что?
А вы уверены, что подвисает на sql запросах? Если программа не показывает блокировки, то скорее всего их там и нет. Для проверки можно посмотреть вручную процессы из sysprocesses. Если виснет сам сервер, то программа ничего не покажет...
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #34773684
k700
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zelius k700 Disclaimer: Всю ветку не читал - так что сорри если баян:

У меня периодически в Blocking history возникает такая ситуация:
в правом верхнем окне всего одна строчка (заблокированный процесс).
При этом поле Blocked by имеет некоторое ненулевое значение.
Но вот информации по процессу-виновнику нет :(
Проверь, это не сам себя процесс блокирует?
Нет.
Процесс блокируется другим процессом.
Понаблюдав немного выяснил, что ситуация обычно возникает если время блокировки превышает период рефреша.
В предыдущий рефреш эта блокировки отрисовываются нормально (2 строки: блокирующий и блокируемый процессы), а потом показывается только блокируемый процесс.

ZeliusИ я так понимаю, что случается, когда в sysprocesses стоит blocked не 0, а такого процесса уже нет....
Типа того.. Но как процесс может быть заблокирован несуществующим процессом?..
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #34773697
k700
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zelius k700 Александр ГладченкоУ меня что-то не хочет програмка закрываться... только подвисает в ответ на крестик или quit...

АННАЛОГИЧНО!

- периодически..

PS: ver. 1.5.12.52

а кстати, какой таймаут стоит у сервера?

10 минут
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #34773756
Zelius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
k700
10 минут
многова-то! вообще он должен быть несколько секунд, 10-30. Иначе в случае залипания ждать придется 10 минут как раз...

авторТипа того.. Но как процесс может быть заблокирован несуществующим процессом?..
Хотелось бы списать на глюки сервера, но сначала подумаю. вообще раньше был похожий глюк, когда взаимоблокирующие процессы были разделены несколькими уровнями дерева, но в последней версии исправил...
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #34774424
DVN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если произвести Servers -> Unregister, а затем вызвать контекстное меню в зонах Server или Вывода ошибок, - Access violation..., а также не очищается дерево процессов.
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #34775291
k700
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DVNЕсли произвести Servers -> Unregister, а затем вызвать контекстное меню в зонах Server или Вывода ошибок, - Access violation..., а также не очищается дерево процессов.

+1

последняя "debug-версия" в этом случае выдаёт сообщение:
"Assertion failure (S:\Projects\SqlBlocks\Sources\siMain.pas, line 789)"
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #34775477
Zelius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DVNЕсли произвести Servers -> Unregister, а затем вызвать контекстное меню в зонах Server или Вывода ошибок, - Access violation..., а также не очищается дерево процессов.
Спасибо, исправлю!
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #34820866
Zelius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Большое спасибо к700 за помощь в поиске багов, но нужны еще добровольцы :)
sqlblocks_debug.zip - логи и ошибки жду на kknyazev@mail.ru

С уважением, Князев Константин
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #34824672
Фотография SanyL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1) чтото не сохраняет историю - причина не совсем понятна...
2) если в настроках ConnectionString не ставить галку "сохранять пароль", по внизу пишется сообщение об ошибке
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #34951013
5[Strogino]
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Во-первых, хочу поблагодарить автора данной утилиты за проделанную работу - программа удалась и удобна для использования. Однако хотелось внести свои пожелания...

По тексту запросов (колонка SQL) - похоже обрабатывается только один тип, да еще и как-то странно.

Например выдает: sp_executesql;1
И все, больше никакой информации. Хотелось бы более развернутый запрос. Критично.

Текст запроса выводится не более 260-270 символов, далее обрезается. Не критично, но желательно хотя бы 4000 =)

Где-то в получении запросов от сервера содержится косяк с размером поля во временной (?) таблице - в лог выдается "String or binary data would be truncated. bla-bla-bla". Не критично, да и Дельфи нету, чтобы показать ошибку более детально.
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #34954984
Zelius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
5Strogino
По тексту запросов (колонка SQL) - похоже обрабатывается только один тип, да еще и как-то странно.

Например выдает: sp_executesql;1
И все, больше никакой информации. Хотелось бы более развернутый запрос. Критично.

К сожалению, это вся информация, которая доступна для программы, то же что можно увидеть и в EM, результат DBCC INPUTBUFFER для не 2005ыхого серверов, и из sys.dm_exec_sql_text(sql_handle) для 2005ых.

5Strogino
Текст запроса выводится не более 260-270 символов, далее обрезается. Не критично, но желательно хотя бы 4000 =)

Отдаю все что мне возвращается, ничего не режу :) Т.е. это ограничение выше указанных ф-ий.

5Strogino
Где-то в получении запросов от сервера содержится косяк с размером поля во временной (?) таблице - в лог выдается "String or binary data would be truncated. bla-bla-bla". Не критично, да и Дельфи нету, чтобы показать ошибку более детально.
Эта ошибка выдается на серверной части, я ее не могу повторить у себя, к сожалению. Если кто из гуру мог бы глядя на запрос предположить в каком месте она вылезает, был бы благодарен!

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
select spid, p.blocked, d.name, waittime, lastwaittype, waitresource, open_tran, p.status, 
	hostname, program_name, cmd, loginame, cpu, physical_io, memusage, last_batch,
	case when p.blocked <>  0  OR b.blocked IS NOT NULL then (select text from sys.dm_exec_sql_text(sql_handle)) 
	else '' end as sql
from 
	master.dbo.sysprocesses p 
	left outer join master..sysdatabases d on d.dbid = p.dbid
	left outer join (select distinct blocked from master.dbo.sysprocesses) as b on b.blocked = p.spid
order by p.blocked, waittime
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #34955203
Crimean
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
профилером можно всю команду брать. вот появится время - допишу к "t2" еще и показ блокировок. все равно все необходимое есть, надо только таб добавить, положить на него дерево и заполнить :)
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #34955830
5[Strogino]
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Zelius 5Strogino
По тексту запросов (колонка SQL) - похоже обрабатывается только один тип, да еще и как-то странно.
Например выдает: sp_executesql;1
И все, больше никакой информации. Хотелось бы более развернутый запрос. Критично.

К сожалению, это вся информация, которая доступна для программы, то же что можно увидеть и в EM, результат DBCC INPUTBUFFER для не 2005ыхого серверов, и из sys.dm_exec_sql_text(sql_handle) для 2005ых.

5Strogino
Текст запроса выводится не более 260-270 символов, далее обрезается. Не критично, но желательно хотя бы 4000 =)

Отдаю все что мне возвращается, ничего не режу :) Т.е. это ограничение выше указанных ф-ий.

По первому и второму пункту - а чем мотивирован игнор функции fn_get_sql ???

Для SQL2K она появилась в SP3
Для 2005 она уже присутствует в базе master

http://msdn2.microsoft.com/en-us/library/Aa258866(SQL.80).aspx

Код: plaintext
1.
2.
DECLARE @Handle binary( 20 )
SELECT @Handle = sql_handle FROM sysprocesses WHERE spid =  52 
SELECT * FROM ::fn_get_sql(@Handle)


5Strogino
Где-то в получении запросов от сервера содержится косяк с размером поля во временной (?) таблице - в лог выдается "String or binary data would be truncated. bla-bla-bla". Не критично, да и Дельфи нету, чтобы показать ошибку более детально.
Эта ошибка выдается на серверной части, я ее не могу повторить у себя, к сожалению. Если кто из гуру мог бы глядя на запрос предположить в каком месте она вылезает, был бы благодарен!

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
select spid, p.blocked, d.name, waittime, lastwaittype, waitresource, open_tran, p.status, 
	hostname, program_name, cmd, loginame, cpu, physical_io, memusage, last_batch,
	case when p.blocked <>  0  OR b.blocked IS NOT NULL then (select text from sys.dm_exec_sql_text(sql_handle)) 
	else '' end as sql
from 
	master.dbo.sysprocesses p 
	left outer join master..sysdatabases d on d.dbid = p.dbid
	left outer join (select distinct blocked from master.dbo.sysprocesses) as b on b.blocked = p.spid
order by p.blocked, waittime
[src][/src]
Хм... Ну во-первых, у меня в качестве пациента SQL2K так что никакой функции sys.dm_exec_sql_text нету...

Во-вторых, "select text from sys.dm_exec_sql_text(sql_handle)" судя по инфе technet'a возвращает text с типом nvarchar(max) - и тут уже вопрос как ты дальше используешь эти данные.

Я могу сказать, что у меня здесь на работе есть БД, в которой запрос размером в 348 строк, возвращающий 260 полей... я когда это увидел, чуть со стула не упал)))) Вся моя концепция знаний баз данных, заботливо выращенная Г.Некошновым и В.Степаненко, улетела в тартарары))
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #34989063
Zelius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Выложил новую версию 1.6.16.90 (05.12.2007)

* Исправлена ошибка "String or binary data would be truncated."
* SQL запросы вынесены во внешние файлы, которые можно менять и подстраивать.

Лежит там же, но в виде инсталятора

С уважением, Князев Константин
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #35040292
nergal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
хорошо бы еще видеть заблокированые объекты
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #35040361
Zelius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nergalхорошо бы еще видеть заблокированые объекты
Есть только информация из WaitInfo, в ней их и можно посмотреть.
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #35212215
Michael Vasilev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Удобная утилита.
Перешли на SQL 2005 не работает.
Так и должно быть или это только у нас?
Выдает ошибки, при необходимости запостю сюда.
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #35212245
Zelius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вообще работает! Пость их на мыло kknyazev@mail.ru
И не забудь взять последнюю версию с сайта :)

С уважением, Князев Константин
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #35212278
Michael Vasilev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Заработало.
Ошибка заключалась в том, что у БД был установлен Compatibility Level SQL Server 2000 (80).
После установки в SQL Server 2005 (90) все заработало.
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #35212351
Zelius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не совсем так. Это не ошибка, а рабочая ситуация. Ошибка заключается в том, что нужно работать в контексте базы master, а не в контексте дефолтовой юзерской базы...

С уважением, Князев Константин
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #35216519
Paranoik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пара вопросов.

А правильно я понимаю, что с помощью этой утилиты можно выявлять дедлоки - просто смотреть на последовательность блокирования одного процесса другим и, если возникает кольцо, то это оно самое? Или я ошибаюсь?

Стоит ли утилиту поставить прямо на сервак, чтобы она регулярно собирала статистику - для истории? Не будет лишней нагрузки? База постоянно дописывается, кто-то может накуралесить, а тут вот она статистика под рукой.
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #35216600
Crimean
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> правильно я понимаю, что с помощью этой утилиты можно выявлять дедлоки

нет

> Стоит ли утилиту поставить прямо на сервак

смысла большого нет

> чтобы она регулярно собирала статистику

с траса начните

> Не будет лишней нагрузки

будет
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #35216664
Paranoik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Понял, псиб.
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #35216745
Zelius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Действительно, тулза не предназначена для отслеживания дедлоков. Но она может помочь увидеть длинные блокирующие процессы, что и кого заблокировало... Нагрузка будет, но не большая, все зависит от частоты запросов. Поставить прямо на сервак лучше в том случае, если на сервере много процессов, а доступ идет через тонкий канал, как у нас. У нас она генерила ощутимый траффик, пока не поняли кто это :)
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #35262376
Crimean
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
с точки зрения потребления ресурсов. вот сравнение работы прикладного приложения и SQLBlocks:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
SQLBlocks:

Writes               Time     
-------------------- -------- 
                12123   09 : 30 : 00 
                18792   09 : 40 : 00 
                19632   09 : 50 : 00 
                20489   10 : 00 : 00 
                21654   10 : 10 : 00 
                21912   10 : 20 : 00 
                22507   10 : 30 : 00 
                22478   10 : 40 : 00 
                22386   10 : 50 : 00 
                23043   11 : 00 : 00 
                21104   11 : 10 : 00 
                22522   11 : 20 : 00 

( 12  row(s) affected)

наиболее жручая прикладуха:

Writes               Time     
-------------------- -------- 
                14030   09 : 30 : 00 
                15363   09 : 40 : 00 
                13973   09 : 50 : 00 
                12751   10 : 00 : 00 
                14992   10 : 10 : 00 
                14465   10 : 20 : 00 
                12452   10 : 30 : 00 
                12270   10 : 40 : 00 
                10114   10 : 50 : 00 
                10891   11 : 00 : 00 
                14805   11 : 10 : 00 
                11634   11 : 20 : 00 

( 12  row(s) affected)

причина очень проста - нельзя обрабатывать sysprocesses на сервере. только читать. обрабатывать надо на клиенте
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #35262846
Zelius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Crimean
причина очень проста - нельзя обрабатывать sysprocesses на сервере. только читать. обрабатывать надо на клиенте
Обрабатывать - имеешь ввиду даже джойны? А какой интервал обновления стоит? сколько процессов запущено?
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #35262947
Crimean
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zelius Crimean
причина очень проста - нельзя обрабатывать sysprocesses на сервере. только читать. обрабатывать надо на клиенте
Обрабатывать - имеешь ввиду даже джойны? А какой интервал обновления стоит? сколько процессов запущено?

я не разбирался :) увидел - охренел - запретил
еще раз, если непонятно сразу - это WRITES, а не READS или CPU
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #35264974
Zelius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Crimean
я не разбирался :) увидел - охренел - запретил
еще раз, если непонятно сразу - это WRITES, а не READS или CPU
читать умею, все понятно... вопрос целесообразности присутствует всегда, химиотерапия тоже не самая приятная процедура :)
К сожалению, другого способа вытащить текст запроса для 2000ого сервера не знаю... Трассы вряд ли будут дешевле...
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #35265236
Crimean
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> К сожалению, другого способа вытащить текст запроса для 2000ого сервера не знаю

1) трас на batch start + rpc start точно будет дешевле чем dbcc inputbuffer
2) нечего месить временные объекты, да еще и с * полей sysprocesses, особенно когда процессов сильно за 1000 - гораздо эффективнее делать это на клиенте, причем месить только ID + BLOCKED
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #35326145
BrokenPot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тулза - руль!

Правда, иногда умножаются записи в журнале. Для одного процесса стоящего в ожидании освобождения, имеем несколько (четыре, например) одинаковых ветки.

Но, все равно: тулза - руль.
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #35326172
Zelius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BrokenPotТулза - руль!

Правда, иногда умножаются записи в журнале. Для одного процесса стоящего в ожидании освобождения, имеем несколько (четыре, например) одинаковых ветки.

Но, все равно: тулза - руль.
Это распараллеливание запросов, запрос распределяется на несколько потоков и все они отображаются как отдельные процессы.
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #35341270
Zelius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Выложил новую версию 1.7.17.93 (28.05.2008)

* Добавлен фильтр процессов, что бы можно было уменьшить нагрузку на сервер. Особенно актуально для не 2005ых серверов.

Лежит там же

С уважением, Князев Константин
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #35379226
sslab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть тоже некая поделка на тематику сбора информации и статистики БД на архитектуре MSSQLServer.
Кому интересно, посмотреть на описание можно здесь
http://weblancer.net/users/sslab/portfolio/322364.html#item
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #35839293
bacalavr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
подскажите, а что именно означает колонка sql?
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #35840205
Zelius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bacalavrподскажите, а что именно означает колонка sql?
Это текст последнего запроса к серверу, если его получилось выцепить...
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #35840242
bacalavr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ясно, спс
жаль, что отображается лишь текст процедуры, а не запуск ее с параметрами(
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #35843204
KtaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
не получается подключиться к 2005 серверу,
как можно вылечить?
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #35857340
sslab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вышла новая версия с интерфейсом конструктором приложения для мониторинга работы MSSQLServer 2005 и выше.
Посмотреть/почитать/скачать можно здесь _http://icelab.ru/DB_Chart.aspx.

Сопровождение сайтов
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #35858066
Zelius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KtaKне получается подключиться к 2005 серверу,
как можно вылечить?
Напиши на почту, пришли сообщение об ошибке - посмотрю, в чем дело.
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #35858104
KtaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ZeliusKtaKне получается подключиться к 2005 серверу,
как можно вылечить?
Напиши на почту, пришли сообщение об ошибке - посмотрю, в чем дело.
вылечилось установкой таймаута 10
причем такая проблема наблюдается только если запускать в вин7, в винХР и 2003 с настройками по умолчанию работает
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #35866462
Denis.NET
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Zelius,

Я обновляю базы 1С по несколько раз в день и допустим пара-тройка человек ушли пить чай и никак до них не дозвониться. Мне приходиться каждый раз заходить на SQL-сервак, запускать консоль и убивать подключения.

Мог бы ты сделать пакетное закрытие подключений? - это было бы замечательно :)

Но было бы просто ГЕНИАЛЬНО, если бы была коротенькая выжимка из этой утилиты, которая при запуске с командной строкой типа "/dbname isl_2009 /excepthost <Имя Компьютера>" закрывала все подключения к указанной базе кроме указанного компьютера. Тогда бы я мог запускать эту мини-версию из своего 1С-вского АРМа
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #35866485
KtaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
сорри за офттопик
Denis.NET, я сделал процедурину, и пускаю ее перед выполнением системных работ с базой

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
-- Удаление всех лишний процессов на SQL сервере.
-- Выполнять перед обслуживанием базы.
-- KtaK

DECLARE @SPID           smallint,           -- ID текущего процесса
        @DBName         VARCHAR(  128  ),    -- имя базы
        @loginame       VARCHAR(  128  ), 
        @hostname       VARCHAR(  128  ), 
        @program_name   VARCHAR(  128  ), 
        @status         VARCHAR(  128  ), 
        @cmd            VARCHAR(  128  ), 
        @gate_cmd       VARCHAR( 500 ),
        @message        VARCHAR( 500 ),
        @subject        VARCHAR( 500 ),
        @recipients     VARCHAR( 500 )

CREATE TABLE ##DroppedProcesses
(  id_com     DSIDENTIFIER IDENTITY,
   comment    varchar( 500 )
)

SELECT @DBName = 'mybasename'

-- Пройдемся по всем процессам, отбросив системные
DECLARE KillLeftProcesses CURSOR FOR
select spid, LTRIM(RTRIM(loginame)), LTRIM(RTRIM(hostname)), LTRIM(RTRIM(program_name)), LTRIM(RTRIM(status)), LTRIM(RTRIM(cmd))
  from master..sysprocesses
 where dbid = db_id(@DBName)
   and hostname not in ('serv1', 'serv2', 'serv3', 'serv4') -- хосты, с которых нельзя килять
   and (loginame not like '%SQLAdmin%') -- логины, которых нельзя килять
   and (program_name not like 'SQLBlocks%') -- программы, которые нельзя килять
   and (cmd not like 'LAZY WRITER%' and cmd not like 'LOG WRITER%' and cmd not like 'TASK MANAGER%' and cmd not like 'SIGNAL HANDLER%' and cmd not like 'LOCK MONITOR%'and cmd not like 'CHECKPOINT SLEEP%') -- команды, которые нельзя килять
 order by hostname, loginame

OPEN KillLeftProcesses
FETCH NEXT FROM KillLeftProcesses INTO @SPID, @loginame, @hostname, @program_name, @status, @cmd
WHILE @@FETCH_STATUS =  0 
BEGIN
  exec ('kill ' + @SPID) -- убьем текущий процесс 
--  PRINT 'KILLED PROCESS, SPID = ' + CONVERT(nvarchar(4), @SPID) + ', LOGIN =  ' + RTRIM(@loginame)  + ', HOST = ' +  RTRIM(@hostname)  + ', PROG = ' +  RTRIM(@program_name)  + ', STATUS = ' +  @status  + ', CMD =  ' +  @cmd
  INSERT INTO ##DroppedProcesses (comment)
  VALUES ('KILLED by KtaK, SPID = ' + CONVERT(nvarchar( 4 ), @SPID) + ', LOGIN =  ' + RTRIM(@loginame)  + ',	HOST = ' +  RTRIM(@hostname)  + ', PROG = ' +  RTRIM(@program_name)  + ', STATUS = ' +  @status  + ', CMD =  ' +  @cmd)
  
  FETCH NEXT FROM KillLeftProcesses INTO @SPID, @loginame, @hostname, @program_name, @status, @cmd
END
CLOSE KillLeftProcesses 
DEALLOCATE KillLeftProcesses

-- Отправим письмо с инфой об убитых процессах
  SET @gate_cmd = 'select comment from ##DroppedProcesses'
  SET @message = 'В приложении - убитые перед регламентными операциями, процессы'
  SET @subject = 'MS SQL Reports. Killed users.'
  SET @recipients = 'ktak@blabla.ru'
  EXEC msdb..sp_send_dbmail 
       @profile_name = 'default'
      ,@recipients = @recipients
      ,@subject = @subject
      ,@body = @message
      ,@body_format = 'TEXT'
      ,@query = @gate_cmd
      ,@execute_query_database = @DBName
      ,@attach_query_result_as_file  = 'TRUE'
      ,@query_result_header =  1 
      ,@query_result_width =  1000 

DROP TABLE ##DroppedProcesses

это работает и в 2000 и в 2005, в 2000 только надо пользоваться master..xp_sendmail (если оно вообще нужно)
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #35866598
Denis.NET
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
KtaK,
Спасибо за подсказку, я раньше скрипты для SQL-сервака не писал, но насколько я понял все что мне нужно это

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
DECLARE @SPID           smallint,           -- ID текущего процесса
        @DBName         VARCHAR(  128  ),    -- имя базы
        @loginame       VARCHAR(  128  ), 
        @hostname       VARCHAR(  128  ), 
        @program_name   VARCHAR(  128  ), 
        @status         VARCHAR(  128  ), 
        @cmd            VARCHAR(  128  ), 
        @gate_cmd       VARCHAR( 500 ),
        @message        VARCHAR( 500 ),
        @subject        VARCHAR( 500 ),
        @recipients     VARCHAR( 500 )

CREATE TABLE ##DroppedProcesses
(  id_com     DSIDENTIFIER IDENTITY,
   comment    varchar( 500 )
)

SELECT @DBName = 'basename'

-- Пройдемся по всем процессам, отбросив системные
DECLARE KillLeftProcesses CURSOR FOR
select spid, LTRIM(RTRIM(hostname)), LTRIM(RTRIM(program_name)), LTRIM(RTRIM(status)), LTRIM(RTRIM(cmd))
  from master..sysprocesses
 where dbid = db_id(@DBName)
   and hostname not in ('Admin1C') -- хосты, с которых нельзя килять
   and program_name like '1CV7' -- программы, которые нельзя килять
   and cmd like 'AWAITING COMMAND'  -- команды, которые нельзя килять
   and status like 'sleeping'  -- команды, которые нельзя килять
 order by hostname

OPEN KillLeftProcesses
FETCH NEXT FROM KillLeftProcesses INTO @SPID
WHILE @@FETCH_STATUS =  0 
BEGIN
  exec ('kill ' + @SPID) -- убьем текущий процесс 
  FETCH NEXT FROM KillLeftProcesses INTO @SPID
END
CLOSE KillLeftProcesses 
DEALLOCATE KillLeftProcesses

C SQL-ем раньше работал только из 1С через ADO.Command ADO.RecordSet и ADO.Connection, Можно ли такой вот запрос выполнить через ADO.Command ?
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #35866617
KtaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
тебе нужно там исправить имя базы и параметры, по которым надо фильтровать процессы.
и запустить как обычный запрос (query)
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #35866628
iap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это какая-то фигня получается! Заменить NOT LIKE на LIKE - это круто!Denis.NETKtaK,
Спасибо за подсказку, я раньше скрипты для SQL-сервака не писал, но насколько я понял все что мне нужно это

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
DECLARE @SPID           smallint,           -- ID текущего процесса
        @DBName         VARCHAR(  128  ),    -- имя базы
        @loginame       VARCHAR(  128  ), 
        @hostname       VARCHAR(  128  ), 
        @program_name   VARCHAR(  128  ), 
        @status         VARCHAR(  128  ), 
        @cmd            VARCHAR(  128  ), 
        @gate_cmd       VARCHAR( 500 ),
        @message        VARCHAR( 500 ),
        @subject        VARCHAR( 500 ),
        @recipients     VARCHAR( 500 )

CREATE TABLE ##DroppedProcesses
(  id_com     DSIDENTIFIER IDENTITY,
   comment    varchar( 500 )
)

SELECT @DBName = 'basename'

-- Пройдемся по всем процессам, отбросив системные
DECLARE KillLeftProcesses CURSOR FOR
select spid, LTRIM(RTRIM(hostname)), LTRIM(RTRIM(program_name)), LTRIM(RTRIM(status)), LTRIM(RTRIM(cmd))
  from master..sysprocesses
 where dbid = db_id(@DBName)
   and hostname not in ('Admin1C') -- хосты, с которых нельзя килять
   and program_name like '1CV7' -- программы, которые нельзя килять
   and cmd like 'AWAITING COMMAND'  -- команды, которые нельзя килять
   and status like 'sleeping'  -- команды, которые нельзя килять
 order by hostname

OPEN KillLeftProcesses
FETCH NEXT FROM KillLeftProcesses INTO @SPID
WHILE @@FETCH_STATUS =  0 
BEGIN
  exec ('kill ' + @SPID) -- убьем текущий процесс 
  FETCH NEXT FROM KillLeftProcesses INTO @SPID
END
CLOSE KillLeftProcesses 
DEALLOCATE KillLeftProcesses

C SQL-ем раньше работал только из 1С через ADO.Command ADO.RecordSet и ADO.Connection, Можно ли такой вот запрос выполнить через ADO.Command ?
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #35866642
KtaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Denis.NET, кстати да, я что то не вчитался что ты уже всё там поменял.
зачем ты так сделал?:)

можно вообще все эти условия нафиг убрать, тогда кильнутся все процессы, в том числе и всякие системные, не знаю насколько это критично)
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #35866646
Denis.NET
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
iap,

коменты не поменял :) мне килять надо только программу 1CV7 с командой AWAITING COMMAND и статусом sleeping
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #35867471
Denis.NET
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я только не понимаю смысл строчки SELECT @DBName перед объявлением KillLeftProcesses

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
[fix]SELECT @DBName = 'basename'[/fix]

-- Пройдемся по всем процессам, отбросив системные
DECLARE KillLeftProcesses CURSOR FOR
select spid, LTRIM(RTRIM(hostname)), LTRIM(RTRIM(program_name)), LTRIM(RTRIM(status)), LTRIM(RTRIM(cmd))
  from master..sysprocesses
 where dbid = db_id(@DBName)
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #35867501
KtaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
чтобы килять подключения только к конкретной базе
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #35867513
Zelius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторDenis.NET, KtaKГоспода, предлагаю перенести Ваше обсуждение в другое место. Спасибо.
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #35867576
KtaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вопрос исчерпан, я думаю этот оффтопик надо стереть
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #35891194
Фотография gang
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
для того чтобы отрубить все коннекты к БД достаточно сделать так:
Код: plaintext
1.
2.
3.
ALTER DATABASE MyDBName SET SINGLE_USER WITH ROLLBACK IMMEDIATE
GO
ALTER DATABASE MyDBName SET MULTI_USER WITH ROLLBACK IMMEDIATE
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #35894876
Филиппка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго дня.
Юзаю MSSQL Blocks больше 2х лет.
Незаменимая штука - автору респект.
Но вот поставил MSSQL2008.
Не разбирался пока в сис. вьюшках - где там и чё теперь поменялось.
Но MSSQL Blocks перестал работать.
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #35894886
Zelius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ФилиппкаДоброго дня.
Юзаю MSSQL Blocks больше 2х лет.
Незаменимая штука - автору респект.
Но вот поставил MSSQL2008.
Не разбирался пока в сис. вьюшках - где там и чё теперь поменялось.
Но MSSQL Blocks перестал работать.
Надо содержимое файла detect.sql поменять на следующий код
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
/*
Field names should must be unchangable!!!
*/
select
	IsSysAdmin, CmptLevel,
	case
		when CmptLevel =  100  then '2005.sql'
		when CmptLevel =  90  then '2005.sql'
		when CmptLevel =  80  then '2000.sql'
		else 'legacy.sql'
	end as QueryFileName
	
from
	(select IS_SRVROLEMEMBER('sysadmin') as IsSysAdmin, 
		(select cmptlevel from master.dbo.sysdatabases where name = 'master') as CmptLevel,
		(select id from master.dbo.sysobjects where name = 'fn_get_sql' ) as Is_fn_get_sql
	) as A
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #35913976
Фотография nibbles
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Утилита полезная, спасибо!
Предложения:
1. Добавить в меню пункт "View on top"
2. Добавить в настройки пункт "Запускать при следующем входе в систему"
3. Не срабатывает меню "?/Languages"
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #35919824
Zelius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nibblesУтилита полезная, спасибо!
Предложения:
1. Добавить в меню пункт "View on top"
2. Добавить в настройки пункт "Запускать при следующем входе в систему"
3. Не срабатывает меню "?/Languages"
1. Она достаточно большая, что бы торчать все время на экране, а если есть блокировки, то в трее покажется значок.
2. Хмм... Точно надо? А то как тут верно заметили - для старых сервер, ниже 2000ого, идет приличная нагрузка на сервер при постоянной работе.
3. Убедитесь, что в установочной папке есть файл .lng
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #35926201
AndrF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Иногда почему-то теряется SQLBlock теряет коннект (ну это ладно - может сбой по нашей удаленной сетке), но и восстановить он его не может, хотя пытается - см приложенный рисунок. В общем, пока дважды не кликнешь на сервере и не нажмешь в появившемся окошке ОК - тогда соединение воостанавливается нормально.
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #35928078
Zelius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndrFИногда почему-то теряется SQLBlock теряет коннект (ну это ладно - может сбой по нашей удаленной сетке), но и восстановить он его не может, хотя пытается - см приложенный рисунок. В общем, пока дважды не кликнешь на сервере и не нажмешь в появившемся окошке ОК - тогда соединение воостанавливается нормально.

Исправил, в ближайшее время выложу. Могу выслать экзешник на тест.
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #35934010
Zelius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Выложил новую версию 1.8.18.98 (15.04.2009)

* Добавлена автоматическая проверка новых версий.
* Добавлена функция Поверх всех окон.
* Добавлена функция автоматического пуска при запуске Windows.
* Исправлена ошибка невозможности восстановления соединения при его потере.
* Исправлен скрипт для определения MSSQL 2008 сервера.
* Добавлен языковой файл в инсталятор.

Лежит там же

С уважением, Князев Константин
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #35938422
AndrF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пожелание: сделать чтобы программа не закрывалась, а сворачивалась в
трей при нажатии на крестик в правом верхнем углу окна. Ну а само
завершение программы было через меню или ALT+F4 с подтверждением.

Это убережет от случайного закрытия программы - иногда случайно
прибиваешь ее, а реально хочется чтобы она повисела и поотслеживала
блокировки...
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #35938435
AndrFПожелание: сделать чтобы программа не закрывалась, а сворачивалась в
трей при нажатии на крестик в правом верхнем углу окна. Ну а само
завершение программы было через меню или ALT+F4 с подтверждением.

Это убережет от случайного закрытия программы - иногда случайно
прибиваешь ее, а реально хочется чтобы она повисела и поотслеживала
блокировки...А Вы настроечки проги смотрели? Внимательно?
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #35938467
AndrF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
проходящий.А Вы настроечки проги смотрели? Внимательно?

Вот спасибо-то. Действительно там и нашел ;)
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #35938508
AndrF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хотелось бы чтобы в Истории блокировок они были бы сгруппированы по серверам...
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #36197614
Фотография PokeMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Поставил последнюю версию.
При первом соединении появляется ошибка: ProcessesAC:Missing ComandText property ... и т.д.
Далее соединение идет нормально.

скрин см. в приложении.

Версия серверов 2005/2008
Версия программы 1.8.18.98


--------------------------------------

Было бы неплохо вынести параметр "Включить/Выключить" в контекстное меню списка серверов.
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #36199220
Zelius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PokeMan,

Не потерялось ли содержимое файла 2005.sql или он сам?
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #36199254
Фотография PokeMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zelius,
Да вроде нвсе на месте.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
/*
Field's order should not be changed!!!
*/
USE master
select * from (
	select spid, p.blocked, d.name, waittime, lastwaittype, waitresource, open_tran, p.status, 
		hostname, program_name, cmd, loginame, cpu, physical_io, memusage, last_batch,
		--case when p.blocked <> 0 OR b.blocked IS NOT NULL then (select text from sys.dm_exec_sql_text(sql_handle)) else '' end as sql
		(select text from sys.dm_exec_sql_text(sql_handle)) as sql
	from 
		master.dbo.sysprocesses p 
		left outer join master..sysdatabases d on d.dbid = p.dbid
		left outer join (select distinct blocked from master.dbo.sysprocesses) as b on b.blocked = p.spid
	) as A
<%FILTER_EXPRESSION%>
order by blocked, waittime
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #36199318
Zelius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PokeMan,

Хмм... Непонятно. Там есть папка Logs, можешь прислать лог с ошибкой на моё мыло?
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #36200077
Фотография PokeMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нашел в чем проблема.
Я выбрал OLE DB поставщика данных: SQL Server Native Client 10.0

Если указать стандартный: Microsoft OLE DB Provider for SQL Server, то все работает отлично.

зы: ошибку серавно отправил.
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #36200743
Leonid_NAVI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Интресная штука, но есть вопрос
можно ли отобрать статистику по повторяющимся запросам?
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #36200954
Zelius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid_NAVI,

Нет, группировки нет.
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #36200982
Leonid_NAVI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Zelius,

Так же возможно не плохо было бы иметь возможность фильтрации по базам данных

Ну например у меня на сервере 5 БД
и мне нужно узнать самые тяжелые запросы в разрезе БД.
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #36201012
Leonid_NAVI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Zelius,

Так же возможно не плохо было бы иметь возможность фильтрации по базам данных

Ну например у меня на сервере 5 БД
и мне нужно узнать самые тяжелые запросы в разрезе БД.
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #36201039
Zelius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid_NAVI,

Фильтр можно задать в подключении к серверу - заполните Process Filter.
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #36213277
Дмитрий Исаев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может, не в тему... Всё-таки Server has blocks, а не have :) - я это про popup из трея.
А за прогу спасибо! Интересно бывает понаблюдать.
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #36213324
Фотография DeColo®es
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid_NAVIZelius,

Так же возможно не плохо было бы иметь возможность фильтрации по базам данных

Ну например у меня на сервере 5 БД
и мне нужно узнать самые тяжелые запросы в разрезе БД.А чем отчеты в SSMS или эта статья не устраивают?
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Небольшая самодельная тулза для отображения блокировок...
    #37340568
kassetka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите в программе, описание блокировок, в колонке WAIT INFO - 0,302 sec. Это даже одной секунды нету. Слишком уже маленькое значение рассматривается?(и 3,314 - 3секунды и несколько миллисекунд)
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #37340988
Zelius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kassetka,

да. это же не дедлок, чем меньше это значение тем лучше, а еще лучше 0.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Небольшая самодельная тулза для отображения блокировок...
    #38099876
dobrik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите, вот по умолчанию время рефреша 10 секунд. Т.е. если блокировка успеет появиться и исчезнуть между моментами рефреша, то эта блокировка не отобразится в истории этого тула?
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #38440686
Uridian
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Zelius,

Столкнулся с проблемой.
После установки на новый комп, программа MSSQL Blocks стала периодически, через 4-8 часов работы, завершаться с ошибкой EListError. Операционная система Win7x64. На старой WinXP работала круглые сутки без сбоев.
Очень неудобно, ведь я рассчитывал изучать историю блокировок, произошедших за ночь, а из-за такого поведения программы не могу.
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #38618028
Фотография PokeMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Классная тулза!
Давай еще )
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Небольшая самодельная тулза для отображения блокировок...
    #39258069
samson28
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Программа не хотела работать с MS SQL 2012. Исправилось добавлением строки
when CmptLevel = 110 then '2005.sql'
в раздел case в файле "detect.sql" в папке с программой.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Небольшая самодельная тулза для отображения блокировок...
    #40113866
Zelius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Обновил, добавил пару функций, если кто еще пользуется. Самообновление похоже не сработает, так что решил здесь написать.

PS И может забыть список серверов и настройки.
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #40113926
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zelius
Обновил, добавил пару функций, если кто еще пользуется. Самообновление похоже не сработает, так что решил здесь написать.

PS И может забыть список серверов и настройки.


Попробую, а что, кстати, с версией? Раз добавил, обновил, то в хэлпе
Konstantin Knyazev, 2019 надо бы на 2021 или сразу на 2022 переделать.
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #40114059
Zelius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ролг Хупин,

поменяю, 2 года не доходили руки
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #40119944
Vladimir Stepanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
только у меня с narod ru файл не скачивает?
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #40119957
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zelius
Ролг Хупин,

поменяю, 2 года не доходили руки


сюда бы еще ссылку дать, хотя бы и ту же, чтобы юзеры не копались.
А лучше - свежую, на другой источник, если уж не гитхаб (?), то в тучу или еще куда...
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #40119984
Zelius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ролг Хупин,

OneDrive
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #40119990
andy st
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
сколько лет...
красивое, но
Zelius
PS И может забыть список серверов и настройки.

сервера потерял.
настройки забыл.
русский забыл.
всё переехало в реестр, побыстрому не скопировать.
автообновление не отключить.

На сайте фраза "Написана она на Delphi, так что извините за размер..." свела олдскулы.
А молодые коллеги её не поняли.
...
Рейтинг: 0 / 0
Небольшая самодельная тулза для отображения блокировок...
    #40120035
Zelius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andy st,

смотрю сейчас, 2.7 МБ сетап и 7.8 МБ само приложение - сущие копейки по нынешним временам )
...
Рейтинг: 0 / 0
225 сообщений из 225, показаны все 9 страниц
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Небольшая самодельная тулза для отображения блокировок...
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]