AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Администрирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 31.05.2007, 16:45   #1  
vesna dba is offline
vesna dba
Участник
 
147 / 16 (1) ++
Регистрация: 16.02.2007
А вот такая штука:
[attachment=633:block_users.JPG]

Форма "Блокировки пользователей базы данных".
В большинстве случаев в поле "Пользователь" записи о блокировке показано значение "<Не определено>", а у некоторых блокировок - показано имя пользователя нормально.
Сей секрет не разгадал. Почему? Может кто задавался вопросом?
Миниатюры
Нажмите на изображение для увеличения
Название: block_users.JPG
Просмотров: 393
Размер:	84.0 Кб
ID:	10152  
__________________
Axapta 3.0 CIS SP3 CU1
---
Народу собралось - яблоку плюнуть негде!
Старый 31.05.2007, 18:02   #2  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от vesna dba Посмотреть сообщение
Может кто задавался вопросом?
Да, задавался. Но истинной в последней инстанции не обладаю.

Записи в этой форме получаются на основании ответа SQL-сервера.
Если я правильно понял логику работы, то Аксапта может пользователя, породившего блокировку.
А там где <Не определено>, то заблокированные другим процессы.

В вашем случае, все повесила Бушуева процессом с номером 68.
Остальные ждут ее.

По-моему, <Не определено> появляется из-за ошибки в коде.
Но может быть, так и было задумано...
__________________
полезное на axForum, github, vk, coub.
Старый 31.05.2007, 20:44   #3  
vesna dba is offline
vesna dba
Участник
 
147 / 16 (1) ++
Регистрация: 16.02.2007
mazzy, спасибо за ответ!
Понаблюдаю за блокировками на SQL сервере на предмет "крайней" блокировки (первой, за которой очередь выстроилась).
--
Знаете, я постоянно при работе в аксапте держу открытым это окно и поглядываю, на предмет "очереди".
В 90% случаев "крайняя" пользовательская блокировка всетаки не отображается по имени пользователя.
Приходится на через Enterprise Manager определять крайнюю блокировку.

--
А на счет возможной ошибке в коде.. - малясь поподробнее можно? Только направьте, дальше я с программерами нашими попробую потолковать.
__________________
Axapta 3.0 CIS SP3 CU1
---
Народу собралось - яблоку плюнуть негде!
Старый 01.06.2007, 07:42   #4  
lastelf is offline
lastelf
Участник
 
88 / 10 (1) +
Регистрация: 24.03.2004
Не уверен в рравильности подозрений, а проверить не могу, но присмотритесь к классу SysBlockingMSSQL и методу loadblock
Код:
		if (blockingTable.Spid)
		{

			if (usersOnlineHolder.findSpid(blockingTable.Spid))
				blockingTable.userName = usersOnlineHolder.username();
			else
				blockingTable.userName = '<'+strfmt("@SYS21247")+'>';
		}
Методу findspid по идее должен передаваться один spid пользователя. Мне кажется, что проблема как раз в том, что для блокированных процессов пользователя (а такие процессы в основном активные, а не спящие) открыто несколько сеансов, и spid перечислены через запятую
 

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 02:28.