|  11.09.2008, 15:46 | #1 | 
| MCTS |  MS SQL Processes Viewer 
			
			Всем привет. После очередных изысканий в области блокировок Аксапты с MS SQL решил сделать маленькую фичу, облегчающую эти самые изыскания. Поскольку фича получилась довольно удобной, решил поделится ей с общественностью  . Основные возможности фичи: 
 Разрабатывалось и тестировалось для AX3.0SP6 + MS SQL Server 2005. Поскольку фича маленькая, перед запуском ее необходимо слегка доработать напильником в некоторых местах (места отмечены TODO в коде, там же и небольшие коменты ).  Для демонстрации работы фичи необходимо в Аксе "сделать" блокировку и из независшей сессии запустить <\Menu Items\Display\SQLProcessesViewer> из прилагаемого проекта. Далее методом тыка изучить то, что откроется  . В случае возникновения проблем или благодарностей, просьбо писать в этой теме  . | 
|  | |
| За это сообщение автора поблагодарили: Косых Артём (3), alex55 (1), fedka (1). | |
|  15.09.2008, 11:22 | #2 | 
| MCTS | 
			
			146 просмотров, 125 скачиваний... Ни замечаний, ни благодарностей   Кто-нить пробовал запускать фичу для кластера аосов? | 
|  | 
|  15.09.2008, 11:28 | #3 | 
| Участник | 
			
			Я все держу тему открытой, но так и не скачал.   Думаю, пара скриншотов должна подогреть интерес к тулзе. | 
|  | 
|  15.09.2008, 16:14 | #4 | 
| Участник | 
			
			На Axapta 3.0 SP3, MS SQL 2000 - ругается Invalid object name 'sys.sysprocesses'. Если закомментировать - то форма открывается, очень похоже на форму "Активные пользователи"  На заблокированные русурсы кстати тож ругается.. Походе нет такого представления в SQL Server-e 
				__________________ Существует 10 типов людей: одни понимают двоичную систему, другие - нет. | 
|  | 
|  15.09.2008, 17:11 | #5 | 
| MCTS | 
			
			Попробуйте заменить "sys.sysprocesses" на "master.dbo.sysprocesses", должно помочь для процессов. Длязаблокированных ресурсов надо посмотреть в хелпе.
		 | 
|  | |
| За это сообщение автора поблагодарили: Weez (1). | |
|  16.09.2008, 10:07 | #6 | 
| Участник | 
			
			Угу, помогло
		 
				__________________ Существует 10 типов людей: одни понимают двоичную систему, другие - нет. | 
|  | 
|  17.09.2008, 18:39 | #7 | 
| Участник | 
			
			Всё чудесно, но одно большое НО - где бы найти информацию по аналогу комбинации FROM master.dbo.dm_tran_locks as a JOIN master.dbo.partitions as b в SQL Server 2000? Что-то я нашёл про табличку syslockinfo, но там есть поле такое rsc_objid, по которому никак не получается у меня получить имя объекта (в предложенном решении эта инфориация как раз и получается за счёт связки с partitions). Без этой части совсем не интересно получается (для меня, с моим старичком 2000-м).   | 
|  | 
|  18.09.2008, 09:47 | #8 | 
| Участник | Цитата: 
		
			Сообщение от Sergey Petrov
			   Всё чудесно, но одно большое НО - где бы найти информацию по аналогу комбинации FROM master.dbo.dm_tran_locks as a JOIN master.dbo.partitions as b в SQL Server 2000? Что-то я нашёл про табличку syslockinfo, но там есть поле такое rsc_objid, по которому никак не получается у меня получить имя объекта (в предложенном решении эта инфориация как раз и получается за счёт связки с partitions). Без этой части совсем не интересно получается (для меня, с моим старичком 2000-м).  Маленькая тулза, может кто писал... К сожалению, сейчас проверить не могу... | 
|  | 
|  17.03.2010, 12:39 | #9 | 
| MCTS | Цитата: 
		
			Сообщение от Sergey Petrov
			   Всё чудесно, но одно большое НО - где бы найти информацию по аналогу комбинации FROM master.dbo.dm_tran_locks as a JOIN master.dbo.partitions as b в SQL Server 2000? Что-то я нашёл про табличку syslockinfo, но там есть поле такое rsc_objid, по которому никак не получается у меня получить имя объекта (в предложенном решении эта инфориация как раз и получается за счёт связки с partitions). Без этой части совсем не интересно получается (для меня, с моим старичком 2000-м).   : X++: select a.req_spid As SPID, a.rsc_objid As ObjId, b.name As ObjName, substring (v.name, 1, 4) As Type, substring (u.name, 1, 8) As Mode, substring (x.name, 1, 5) As Status from master.dbo.spt_values v, master.dbo.spt_values x, master.dbo.spt_values u, master.dbo.syslockinfo a, <DBNAME>.dbo.sysobjects b where a.req_spid = <SPID> and a.rsc_objid = b.id and a.rsc_type = v.number and v.type = 'LR' and a.req_status = x.number and x.type = 'LS' and a.req_mode + 1 = u.number and u.type = 'L' 
				__________________ Dynamics AX Experience | 
|  | |
| За это сообщение автора поблагодарили: Logger (3). | |
|  17.03.2010, 12:46 | #10 | 
| Участник | 
			
			Для быстрого поиска виновника блокировок (когда они раньше у нас были) для MS SQL Server, использую следующий запрос. Он отбражает только виновника, который является корнем всех остальных блокировок. PHP код: 
			 | 
|  | 
|  17.03.2010, 12:56 | #11 | 
| Участник | Цитата: 
		
			Сообщение от Ace of Database
			   Для быстрого поиска виновника блокировок (когда они раньше у нас были) для MS SQL Server, использую следующий запрос. Он отбражает только виновника, который является корнем всех остальных блокировок. PHP код: 
			 | 
|  | 
|  17.03.2010, 12:58 | #12 | 
| Участник | 
			
			Эх! опять зря написал    | 
|  | 
|  17.01.2013, 12:18 | #13 | 
| Участник |   
			
			Для 4ки бы кто запилил =)
		 | 
|  | 
| Теги | 
| download, sql, sql 2005, sql 2008, sql server, администрирование, блокировки, законченный пример, инструменты, разработка | 
|  | 
| 
 |