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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 01.07.2010, 09:39   #1  
hated8 is offline
hated8
Участник
Аватар для hated8
Злыдни
 
133 / 18 (1) ++
Регистрация: 27.06.2008
не работает Trace Parser
Здрасте всем...
Мож кто сталкивался... Все сделал как тут написанно: http://blogs.msdn.com/b/aeremenk/arc...4/7107453.aspx
Открываю Trace Parser , Registr DataBase возвращает:
X++:
Could not create the specified database. The following connection settings were used:
Data Source={server name};Initial Catalog={database name};Integrated Security=True;
System.Data.SqlClient.SqlException: Invalid object name 'Information'.
    System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection)
    System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)
    System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
    System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName, Boolean async)
    System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe)
    System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
    Microsoft.Dynamics.AX.Tracing.Common.TraceParserDatabase.SetInformation(String connstr, Int32 version)
    Microsoft.Dynamics.AX.Tracing.TraceParser.ParserForm.RegisterDatabase(String server, String database, Boolean quiet)
    Microsoft.Dynamics.AX.Tracing.TraceParser.ParserForm.DatabaseRegistrationPrompt()
А при инпорте логов(trc) выдает Database import has complete!, а после валит ошибку:
X++:
System.NullReferenceException:        .
    Microsoft.Dynamics.AX.Tracing.TraceParser.ImportDatabaseForm.backgroundWorkerFileLoad_RunWorkerCompleted(Object sender, RunWorkerCompletedEventArgs e)
__________________
Что сломалось не знаем, но уже немного подчинили...

Последний раз редактировалось hated8; 01.07.2010 в 10:32.
Старый 01.07.2010, 11:25   #2  
driller is offline
driller
Сам.AX
Аватар для driller
Самостоятельные клиенты AX
SAP
 
78 / 54 (2) ++++
Регистрация: 11.04.2007
Адрес: Санк-Петербург
Добрый день.
У меня на данном этапе всё прошло гладко.
Позвольте узнать какая у вас версия SQL Server на котором вы пытаетесь развернуть базу для Trace Parser. Включена ли на нем аутентификация Win, есть ли вы там как пользователь, и с какими правами?
__________________
"Считать метафору доказательством, поток праздных слов источником истины, а себя оракулом - это заблуждение, свойственное всем нам."
Поль Валери

Последний раз редактировалось driller; 01.07.2010 в 11:28.
Старый 01.07.2010, 11:46   #3  
Poleax is offline
Poleax
Модератор
Аватар для Poleax
MCP
MCBMSS
Злыдни
 
1,353 / 595 (22) +++++++
Регистрация: 17.02.2005
Адрес: msk
Записей в блоге: 34
Post
Цитата:
Сообщение от hated8 Посмотреть сообщение
Здрасте всем...
Посмотри, как это все настраивается axperf: Dynamics AX Trace Parser Update 2

или

Блог: Как пользоваться Event Trace Parser Tool for Microsoft Dynamics AX
__________________

This posting is provided "AS IS" with no warranties, and confers no rights.

Последний раз редактировалось Poleax; 01.07.2010 в 11:49.
Старый 01.07.2010, 12:34   #4  
hated8 is offline
hated8
Участник
Аватар для hated8
Злыдни
 
133 / 18 (1) ++
Регистрация: 27.06.2008
Poleax - вы привели ссылки на материал, который взят из материала на который я сослался в 1м посте... )

driller - SQL Server 2005 я там есть как пользователь, и прав достаточно... Проблемма скорее где то в другом месте.... К стати на серваке не смотря на ошибки, база TraceParser создана....
__________________
Что сломалось не знаем, но уже немного подчинили...
Старый 01.07.2010, 13:14   #5  
driller is offline
driller
Сам.AX
Аватар для driller
Самостоятельные клиенты AX
SAP
 
78 / 54 (2) ++++
Регистрация: 11.04.2007
Адрес: Санк-Петербург
hated8 "Проблемма скорее где то в другом месте...."
Ну мест где с Trace Parser можно искать решение этой проблемы не много .NET и SQL Server. Погуглил и вот что люди говорят по этой ошибке http://forums.asp.net/p/884010/920683.aspx и http://www.gotdotnet.ru/forums/4/108623/
Думаю это как раз решение твоей проблемы в самом конце первой ссылки, ведь часто возникают проблемы с аксаптой из за разных схем в БД.
P.S. Кстати я давненько рисовал скрип который меняет полностью в базе схему, если нужен говори опубликую.
__________________
"Считать метафору доказательством, поток праздных слов источником истины, а себя оракулом - это заблуждение, свойственное всем нам."
Поль Валери

Последний раз редактировалось driller; 01.07.2010 в 14:07.
Старый 01.07.2010, 14:11   #6  
hated8 is offline
hated8
Участник
Аватар для hated8
Злыдни
 
133 / 18 (1) ++
Регистрация: 27.06.2008
Цитата:
Сообщение от driller Посмотреть сообщение
Кстати я давненько рисовал скрип который меняет полностью в базе схему, если нужен говори опубликую.
Буду очень признателен....!
__________________
Что сломалось не знаем, но уже немного подчинили...
Старый 01.07.2010, 15:06   #7  
driller is offline
driller
Сам.AX
Аватар для driller
Самостоятельные клиенты AX
SAP
 
78 / 54 (2) ++++
Регистрация: 11.04.2007
Адрес: Санк-Петербург
Вот он скрипт смены схемы Там ничего сложного, разберётесь. Только прежде чем запускать на рабочем сервере, замените строчку
PHP код:
EXEC ('USE ' + @TableCatalog ';' 
на
PHP код:
PRINT ('USE ' + @TableCatalog ';' 
На всякий случай посмотреть что бы всё корректно сформировалось.
__________________
"Считать метафору доказательством, поток праздных слов источником истины, а себя оракулом - это заблуждение, свойственное всем нам."
Поль Валери
За это сообщение автора поблагодарили: hated8 (1).
Старый 02.07.2010, 09:34   #8  
Sergey Petrov is offline
Sergey Petrov
Участник
 
80 / 19 (1) ++
Регистрация: 03.04.2007
Адрес: Saint-Petersburg, Russia
Добрый день.

Попробую поднять вопрос здесь (поднятие его в axperf: Dynamics AX Trace Parser Update 2 не принесло никакого результата.

Повторю то, что уже написано.
Суть проблемы: хочу сделать трассировку работы AOS. Для тестирования, чтобы полюбоваться на красоту и оценить удобство.
Запускаю её, соответственно, только на AOS (одном из двух в нашем AOS-ном кластере под WinServer2008). Жду минут 10. AOS рабочий. Пользователей достаточно. Разгар рабочего дня. Лог собирается. Размер немаленький (порядка 550 MB). Переписываю лог на свою локальную машину, запускаю в trace parser импорт лога (trace parser уже установлен и настроен на SQL Server 2008 для хранения данных, никаких вопросов по этой части нет). Импорт заканчивается информационным сообщением, что импорт завершён.
Теперь что же я вижу? Пусто! Ни выбора SessionId, ни каких-нибудь записей в Call Tree...
Ок. Закрываю всё, снова захожу в trace parser, открываю сохранённый трэйс, и вижу, что время начала (Begin Time) и время окончания (EndTime) совпадают. Соответственно, результат аналогичный - всё пусто.

Вопрос: что же я делаю не правильно?
Может быть, нужно вместе с трассировкой сервера ОБЯЗАТЕЛЬНО включать трассировку на клиенте?
Вроде в http://fedotenko.info/?p=164 написано, что можно и без этого обойтись...
__________________
MS Dynamics AX 2009

Kernel 5.0.1600.4110
Application 5.0.1500.6491
Старый 02.07.2010, 09:56   #9  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от Sergey Petrov Посмотреть сообщение
Может быть, нужно вместе с трассировкой сервера ОБЯЗАТЕЛЬНО включать трассировку на клиенте?
Вроде в http://fedotenko.info/?p=164 написано, что можно и без этого обойтись...
А по-моему нужно включать трассировку на клиенте.
(хотя конечно же могу ошибаться, но всегда включаю).

галочка на AOS указывает, что запросы могут трассироваться.
галочка на клиенте указывает запросы с каких именно клиентов будут трассироваться.
__________________
полезное на axForum, github, vk, coub.
Старый 02.07.2010, 10:08   #10  
Poleax is offline
Poleax
Модератор
Аватар для Poleax
MCP
MCBMSS
Злыдни
 
1,353 / 595 (22) +++++++
Регистрация: 17.02.2005
Адрес: msk
Записей в блоге: 34
Цитата:
Сообщение от hated8 Посмотреть сообщение
Poleax - вы привели ссылки на материал, который взят из материала на который я сослался в 1м посте... )
В вашем первом посте линка на инструкцию от 2008 года, для старой версии программы. Я привел скриншоты обновленный версии за май 2010
Цитата:
Интерфейс упростили. Возможность просматривать SQL запросы и код на X++.
Удобная кнопка "Jump to Callstack" на вкладке "X++/RPC"
Я трассировки стека разделение по "Session Id", удобно найти свой стек, когда много пользователей работают на АОС.

P.S. По мотивам http://blogs.msdn.com/aeremenk/archi...4/7107453.aspx by Alexei Eremenko
__________________

This posting is provided "AS IS" with no warranties, and confers no rights.

Последний раз редактировалось Poleax; 02.07.2010 в 10:10.
Старый 02.07.2010, 11:31   #11  
fed is offline
fed
Moderator
Аватар для fed
Ex AND Project
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
2,909 / 5730 (197) ++++++++++
Регистрация: 13.03.2002
Адрес: Hüfingen,DE
Цитата:
Сообщение от mazzy Посмотреть сообщение
А по-моему нужно включать трассировку на клиенте.
(хотя конечно же могу ошибаться, но всегда включаю).

галочка на AOS указывает, что запросы могут трассироваться.
галочка на клиенте указывает запросы с каких именно клиентов будут трассироваться.
Нет - не так. На самом деле трассировка - это такая культурная контрольная печать. Причем контрольной печати сервера, глубоко безразлично на контрольную печать клиента. (И наоборот.) Причем авторы функционала трассировки в Аксапте совершенно не расчитывали на то, что кто-то будет эту контрольную печать парсить и выводить в какое-то GUI-окошко. Я тут как-то дизассемблировал трейс-парсер и обнаружил что там дофига мест работает по каким-то полуэвристическим алгоритмам,поскольку контролльная печать сама по себе не обеспечивает даных для парсинга. Например - есть событие Компиляция SQL-запроса; Есть событие - биндинг переменной для запроса. Однако ссылки на первое событие во втором - нету. И авторы trace parser использовали какие-то хитрые эвристики для того чтобы второе событие обработать. (Кстати - очень надеюсь что в 6ке они приведут свои события трассировочные в порядок. Нельзя так жить дальше.)
В следствие этого - в трейс-парсере импорт очень медленно работает, потребляет безумный объем памяти (для хранения рабочих хэш-таблиц разных) и нервно реагирует на потерявшиеся события (это когда мы например включили трейсинг в какой-то глубоко вложенной функции и события выхода из функций есть, а входа - нету).

Мне кажется что проблема топик-стартера просто в слишком большом объеме собранной трассы. У меня редко получалось успешно импортировать трассы более 250-300 мегов. 550 мегов кажется просто нереальной цифрой.

Из советов в стиле "Попинать колеса":
  1. При импорте разочек поставить галочки "Drop Indexes" и "Rebuild Indexes". Иногда помогало в похожих ситуациях.
  2. Можно попробовать запустить импорт на машине с бОльшим объемом памяти. У меня на домашнем компе 8 гигов, а на рабочем - 4. Достаточно часто трассы, которые на рабочем не импортировались, на домашнем удается импортнуть и посмотреть...
За это сообщение автора поблагодарили: mazzy (2), Logger (5).
Старый 02.07.2010, 11:33   #12  
Sergey Petrov is offline
Sergey Petrov
Участник
 
80 / 19 (1) ++
Регистрация: 03.04.2007
Адрес: Saint-Petersburg, Russia
Цитата:
Сообщение от mazzy Посмотреть сообщение
А по-моему нужно включать трассировку на клиенте.
(хотя конечно же могу ошибаться, но всегда включаю).

галочка на AOS указывает, что запросы могут трассироваться.
галочка на клиенте указывает запросы с каких именно клиентов будут трассироваться.
mazzy, спасибо за отклик!
Что на AOSе, что на клиенте не галочки, а целые кнопочки!

Провёл эксперимент с включением трассировки на сервере и на клиенте одновременно.
Как проводил:
1. В настройках клиента включил трассировку.
2. Запустил клиента (позаботился о том, чтобы он приконнектился к тому AOSу, который участвует в эксперименте - это тоже непростая задача, когда в кластере 2 AOSа).
3. Включил трассировку в настройках AOSа.
4. Запустил на клиенте некоторую операцию (для примера - отчётик минут на 5 времени формирования).
5. После окончания формирования отчёта закрыл клиент (завершил получение данных трассировки со стороны клиента).
6. Выключил трассировку в настройках AOSа (завершил получение данных трассировки со стороны сервера).
7. Выключил трассировку в настройках клиента (чтобы трассировка больше не запускалась, если придётся снова запустить сессию DAX).

Получил:
1. Файл лога операций с AOSа (размером порядка 400 Мб).
2. Файл лога операций с клиента (размером порядка 32 Мб).

Дальнейшие действия:
1. Успешно загрузил в trace parser лог с AOSа - результат прежний (ни одной записи).
2. Дополнительно успешно загрузил в trace parser лог с клиента - записи появились, причём только для того пользователя, под которым сначала запускал клиентскую сессию.
3. Удалил из trace parser лог AOSа - ничего не изменилось. Записи как были, так и остались (по одному пользователю).

Отсюда делаю вывод: лог с AOSа у меня не отобразился. Лог с клиента отобразился правильно.

Вопрос: почему у меня не отображается успешно загруженный лог с AOSа? Поскольку у меня trace parser сообщает, что логи что с AOSа, что с клиента загружены успешно, но отображает ТОЛЬКО логи с клиента, то, может быть, проблема в ОТОБРАЖЕНИИ загруженной с AOS информации?
__________________
MS Dynamics AX 2009

Kernel 5.0.1600.4110
Application 5.0.1500.6491
Старый 02.07.2010, 11:42   #13  
Sergey Petrov is offline
Sergey Petrov
Участник
 
80 / 19 (1) ++
Регистрация: 03.04.2007
Адрес: Saint-Petersburg, Russia
Цитата:
Сообщение от fed Посмотреть сообщение
Можно попробовать запустить импорт на машине с бОльшим объемом памяти. У меня на домашнем компе 8 гигов, а на рабочем - 4. Достаточно часто трассы, которые на рабочем не импортировались, на домашнем удается импортнуть и посмотреть...
fed, благодарю Вас за идею!
На моём рабочем компе памяти 2 Gb. Так что, могу Вам только позавидовать.
500 Mb и пр. - это потому что AOS - рабочий. Попробую на каком-нибудь из наших сереверов запустить парсер с AOSным логом.
Вообще, очень грамотно сделано, что данная утилита официально не поддерживается DAX. Иначе - завалили бы претензиями.
__________________
MS Dynamics AX 2009

Kernel 5.0.1600.4110
Application 5.0.1500.6491

Последний раз редактировалось Sergey Petrov; 02.07.2010 в 12:12.
Старый 02.07.2010, 12:29   #14  
fed is offline
fed
Moderator
Аватар для fed
Ex AND Project
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
2,909 / 5730 (197) ++++++++++
Регистрация: 13.03.2002
Адрес: Hüfingen,DE
Цитата:
Сообщение от Sergey Petrov Посмотреть сообщение
mazzy,
Вопрос: почему у меня не отображается успешно загруженный лог с AOSа? Поскольку у меня trace parser сообщает, что логи что с AOSа, что с клиента загружены успешно, но отображает ТОЛЬКО логи с клиента, то, может быть, проблема в ОТОБРАЖЕНИИ загруженной с AOS информации?
Попробуй удалить все другие сессии трассировки, а потом залезь в БД трейспарсера и посмотри много ли там вообще записей в таблицах. Ну например - в таблицах sqlStatement или TraceLine. Если записи в табличках есть, но на экране их не видно, попробуй тупо заимпортировать с галками обновления индекса и удаления индекса. Если записей в табличках нету - значит ты столкнулся с каким-то принципиально новым для меня глюком .

Кстати - ситуации с нехваткой памяти у меня вызывали просто падение трейспарсера с сообщением о Unhandled Exception. На машине с большим объемом оперативки - подобное падение случалось реже...
Старый 02.07.2010, 15:37   #15  
Sergey Petrov is offline
Sergey Petrov
Участник
 
80 / 19 (1) ++
Регистрация: 03.04.2007
Адрес: Saint-Petersburg, Russia
К сожалению, все эксперименты неудачны. С серверным логом - в бд вообще ни одной записи. С клиентским - есть кое-что (в поле TraceLine.TraceId стоит только Id того лога, который клиентский).
В окошке "Open Trace Database" при двух импортированных логах у серверного "Begin Time" совпадает с "End Time" (причём, какое-то странное - текущее время на моём компе с учётом TimeZone, когда импорт был запущен), а для клиентского - как положено, отображается то, что реально было (правда, по Гринвинчу, со сдвигном назад на 4 часа).
Такое впечатление, что при импорте серверного обработка производится (какое-то время диск мой жёсткий натужно кряхтит и процессор слегка нагружен), но транзакция, в которой добавляются записи в базу с логами, откатывается (судя по полному отсутствию записей, к ней относящихся).
__________________
MS Dynamics AX 2009

Kernel 5.0.1600.4110
Application 5.0.1500.6491
Теги
trace parser, отладка, стек вызовов, трассировка

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
axperf: Event Trace Parser Tool for Microsoft Dynamics AX Released Blog bot DAX Blogs 0 20.06.2009 10:05
axcoder: Trace Parser small bug Blog bot DAX Blogs 0 17.01.2008 15:40
Arijit Basu: Trace Parser (beta) tool for Microsoft Dynamics™ AX 4.0 Blog bot DAX Blogs 0 02.08.2007 22:00
Dynamics AX: Trace Parser (beta) tool for Microsoft Dynamics™ AX 4.0 Blog bot DAX Blogs 1 14.04.2007 04:32
Dynamics AX: Trace Parser (beta) tool for Microsoft Dynamics™ AX 4.0 Blog bot DAX Blogs 0 20.03.2007 14:40

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

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

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