powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Небольшая самодельная тулза для отображения блокировок...
25 сообщений из 225, страница 6 из 9
Небольшая самодельная тулза для отображения блокировок...
    #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
25 сообщений из 225, страница 6 из 9
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Небольшая самодельная тулза для отображения блокировок...
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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