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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 24.01.2019, 11:41   #1  
Maximin is offline
Maximin
NavAx
NavAx Club
 
409 / 341 (12) ++++++
Регистрация: 09.10.2002
Адрес: Москва
Цитата:
Сообщение от rashuf Посмотреть сообщение
Для чего нужен доступ к crl.microsoft.com?
Позволю себе дать ссылку на свой же тред:
Долгий запуск клиента Dynamics Ax - решение
Там еще много полезных советов.

А далее надо анализировать, что происходит сразу перед зависанием - какой запрос отправляется на SQL, что происходит на локальной машине (запустить Sysinternals Process Monitor или взять Sysinternals Process Explorer свежий).
Попробуйте отключите еще антивирус на сервере (если он там есть, вообще - это зло) и клиенте.
__________________
Жизнь прекрасна! Если, конечно, правильно подобрать антидепрессанты...

Последний раз редактировалось Maximin; 24.01.2019 в 11:44.
Старый 12.08.2019, 09:47   #2  
rashuf is offline
rashuf
Участник
 
14 / 15 (1) ++
Регистрация: 25.09.2013
С зависанием во время импорта, похоже, разобрались
Здравствуйте!
Локализовали причину "зависания".
Вообще наблюдали 2 типа зависания - во время импорта или просмотра меток и "случайный", без видимой причины.
Причиной в первом случае оказались битые файлы меток для всех языков, кроме русского. Битые, потому что в них были пропущены целые диапазоны меток, например, @RSL14643-@RSL14790, @RSL14799-@RSL15605 и др. Подозреваем, что эти блоки были пропущены во время автогенерации меток. Обнаружили, потому что аксапта зависала во время вызова SysLabel.new() для языка fr-ca. Мы просто удалили файлы всех языков для RSL-меток, кроме русского (*.ald-файлы). Проверили импорт - все нормально, не зависает. Удаленные файлы больше не создались (2 недели прошло). Правда, и новые метки пока не создаем и не импортируем.

Во втором случае блокируется таблица Batch. Выяснили с помощью AxTraceParser'а, стандартного отчета MS SQL Все транзакции/Все блокирующие транзакции и запроса.
AxTraceParser показал, что в сессии AOS последними запросами при логине клиента во время зависания являются выбор записи пользователя из UserInfo, вызов хранимой процедуры CREATEUSERSESSIONS и подсчет количества записей по пользователю в SysClientSessions. При этом при нормальной работе AOS еще "мелькают" запросы обновления Batch, BatchJob для запускаемых пакетных заданий. В зависшей сессии таких запросов нет. Пробовали завершать сессии в MS SQL с помощью kill, закрывать порты (TCP-порты 2719) с помощью CurrPorts. Эти меры не помогают "пробудить" AOS, и потом при подключении клиентов выходит ошибка, что AOS вроде бы недоступен, при этом служба работает.

Я видел, что есть исправление KB 3216955 Continuous dead locks in batch tables. Обсуждалось на форуме. Возможно, портирование этого исправления нам тоже поможет, но я не смог его найти (нет доступа) и не понял из сообщения gl00mie, что и где поменялось.
Коллеги, кто-нибудь занимался адаптацией этого обновления на AX 2009? Что изменилось? Может, с учетом новых наблюдений, вообще в другую сторону надо копать?

PS: запрос
Код:
SELECT 
	L.request_session_id               AS SPID, 
	DB_NAME(L.resource_database_id)    AS DatabaseName,
	O.Name                             AS LockedObjectName, 
	P.object_id                        AS LockedObjectId, 
	L.resource_type                    AS LockedResource, 
	L.request_mode                     AS LockType,
	ST.text                            AS SqlStatementText,        
	ES.login_name                      AS LoginName,
	ES.host_name                       AS HostName,
	TST.is_user_transaction            AS IsUserTransaction,
	AT.name                            AS TransactionName,
	CN.auth_scheme                     AS AuthenticationMethod
	FROM sys.dm_tran_locks L
    
	JOIN sys.partitions P
		ON P.hobt_id = L.resource_associated_entity_id
    
	JOIN sys.objects O
		ON O.object_id = P.object_id
    
	JOIN sys.dm_exec_sessions ES
		ON ES.session_id = L.request_session_id
    
	JOIN sys.dm_tran_session_transactions TST
		ON ES.session_id = TST.session_id
    
	JOIN sys.dm_tran_active_transactions AT
		ON TST.transaction_id = AT.transaction_id
    
	JOIN sys.dm_exec_connections CN
		ON CN.session_id = ES.session_id
    
	CROSS APPLY sys.dm_exec_sql_text(CN.most_recent_sql_handle) AS ST
	
	WHERE resource_database_id = db_id()

ORDER BY L.request_session_id
Теги
ax2009, зависание

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
AX2009 как работать с элементом Window Arahnid DAX: Администрирование 2 14.09.2014 14:59
Dynamics AX Sustained Engineering: Individual patching for Dynamics AX2009 SP1 industry solutions Blog bot DAX Blogs 0 13.06.2012 10:11
axinthefield: Choosing a Single Deployment or Multiple Deployments of AX2009 Blog bot DAX Blogs 0 15.06.2011 03:25
Ax2009 SP1 RU6. LedgerBalanceSum_CurrentMST.buildQuery(). Ошибка при пустой начальной дате Damn DAX: Программирование 11 30.03.2011 16:15
Почему не могут зайти пользователи Excel 2003 на OLAP 2005? mazzy DAX: Администрирование 4 30.08.2007 10:35

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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 22:32.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.