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


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