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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 21.04.2005, 09:21   #1  
coja is offline
coja
Участник
 
10 / 10 (1) +
Регистрация: 20.12.2004
Адрес: samara
Проверка целостности
Спецы подскажите!
Такая ситуация:
Была осуществлена сборка базы с новыми модификациями, вроде все данные на месте никаких ошибок при компиляции нет, решили для достоверности запустить:
Основное\Проверка целостности копмании.
Размер базы 1,5 Гб.
Проверка шла 3 суток и не завершилась, я её прервал и решил её делать помодульно.
Зависание проверки происходит на модуле Управление Запасами, пhичем что бы я не проверял: журналы, проводки, настройки... проверка не завершается по 3 суток.

Вопрос:
Можно ли прервать проверку насильно ,без потери данных?
Почему проверка не завершается при таком малом объёме базы(процесс не висячий, производительность АОС и SQL не падает, даже пользователи в ней работают без особых неудобств)?
Где посмотреть логи-чтоль или хоть какой-нибудь намек на поиск причин такого поведения?

Всем заранее спасибо за ответы!!!

coja@yandex.ru
Старый 21.04.2005, 11:14   #2  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 645 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
Re: Проверка целостности
Цитата:
Изначально опубликовано coja
Можно ли прервать проверку насильно ,без потери данных?
Если Вы делаете просто проверку, то, конечно, можно. Если проверку и коррекцию, то возможны варианты Хотя в целом, вся коррекция обычно нормально сгруппирована в транзакции и ничего страшного произойти не должно.
Цитата:
Изначально опубликовано coja
Почему проверка не завершается при таком малом объёме базы(процесс не висячий, производительность АОС и SQL не падает, даже пользователи в ней работают без особых неудобств)?
Где посмотреть логи-чтоль или хоть какой-нибудь намек на поиск причин такого поведения?
К сожалению, нормального лога проверка не делает. Все, что есть - сообщения инфолога. Чтобы их посмотреть, нажмите Ctrl+Break. После этого появится сообщение о том, действительно ли Вы хотите прервать операцию. Нажимайте Нет+Shift, чтобы запустился Axapta Debugger. В нем можно посмотреть состояние Infolog'а на текущий момент. В принципе, Вас будет интересовать даже не столько инфолог, сколько метод, который не завершается в течение такого длительного времени.
__________________
Not registered yet? Register here!
Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me
Старый 21.04.2005, 12:09   #3  
ToRo is offline
ToRo
Участник
Ex AND Project
 
91 / 10 (1) +
Регистрация: 28.07.2003
Адрес: Saint-Petersburg, Russia
Мы тоже столкнулись с подобной проблемой при проверке и корректировки запасов в наличии.
Конкретно в этом механизме обнаружилась интересная бага, которая долго работает вроде над построением прогресс-бара.
При большом количестве номенклатуры время проверки-корректировки близилось к бесконечности.
Мы это дело поправили. Что точно там было и где - я уже не вспомню, т.к. не разработчик, и давно это было .
Старый 21.04.2005, 13:21   #4  
coja is offline
coja
Участник
 
10 / 10 (1) +
Регистрация: 20.12.2004
Адрес: samara
Попробовал по совету сделать:
Нажал Ctrl+Break, появилось окно, типа прервать операцию или нет, жму Shift+Нет и блин,ничё не происходит, то есть проверка продолжается дальше.
Старый 21.04.2005, 14:42   #5  
ToRo is offline
ToRo
Участник
Ex AND Project
 
91 / 10 (1) +
Регистрация: 28.07.2003
Адрес: Saint-Petersburg, Russia
Цитата:
жму Shift+Нет и блин,ничё не происходит, то есть проверка продолжается дальше.
Насколько я знаю - это серверная процедура - ее просто так не прекратить с клиента.
Хотя я не уверен - могу ошибаться.
Попробуйте разобраться с программистом.
Старый 21.04.2005, 15:13   #6  
coja is offline
coja
Участник
 
10 / 10 (1) +
Регистрация: 20.12.2004
Адрес: samara
Всем спасибо, мы прервали проверку и она дала лог.
поставили точку останова и заново запустили заново и произошел останов с сообщениями Warning и показало в каких классах, отдал программерам.
Старый 06.09.2006, 13:14   #7  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5798 (201) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 3
Цитата:
Сообщение от ToRo
Мы тоже столкнулись с подобной проблемой при проверке и корректировки запасов в наличии. Конкретно в этом механизме обнаружилась интересная бага, которая долго работает вроде над построением прогресс-бара.
При большом количестве номенклатуры время проверки-корректировки близилось к бесконечности.
Недавно читал блоги и наткнулся на описание подобной проблемы, правда, симптомы там были немного другие: тоже длительное время отрабатывала проверка целостности на запасах, в результате чего винда ругалась на отсутствие winsta.dll По ссылкам обнаружил описание и решение проблемы. Оно относится к декабрю 2005 и якобы упоминается в запросе #8379426 (Support Request Incident), но на случай, если кто-то столкнется или если ссылка похерится, приведу описание здесь в вольном переводе.

D. Higi
Среда, 21 дек 2005 00:02:13 -0800
См. существующий запрос в техподдержку #8379426

ДЕЙСТВИЕ:
Запущенная проверка целостности длится слишком долго (до нескольких дней).

РЕЗУЛЬТАТ:
Система будет заблокирована на это время.

ПРИЧИНА:
Проблема кроется в методе SysConsistencyCheck.kernelCheckRecords(), где после выполнения pack/unpack над объектом Query теряется отношение (relation) [между таблицами]. После этого все записи InventTable будут объединены (joined) со всеми записями InventTxt.
При динамическом создании запроса методы SysQuery::countLoops() и SysQuery::countTotal() расчитывают неверное количество записей. Это происходит из-за потери отношений (relations) между таблицами в методе SysQuery::countPrim(). Такого не происходит в случае статических запросов.
Запуск проверки целостности на запасах номенклатуры в наличии может занять слишком длительное время или даже привести к критической ошибке в Microsoft Axapta из-за того, что totalCount в градуснике (Progress) диалогового окна неправильно вычисляется в методе SysQuery::countTotal().

РЕШЕНИЕ:
В Classes\SysQuery была добавлена установка свойства QueryBuildDataSource.Relations в true вместо следующей последовательности вызовов:
DictRelation.loadTableRelation(tableId),
QueryBuildDataSource.addRelation(DictRelation);

Результат действия этих двух вызовов - создание отношения (relation) с указанной таблицей. Такое же поведение реализовано и на уровне ядра.

Код до изменений (\Classes\SysQuery):
X++:
public static Query addTableRelation(Query query, tableId tableId)
{
    Query retQuery = new Query(query.pack());
    QueryBuildDataSource qbds1;
    QueryBuildDataSource qbds2;
    DictRelation dr;

    qbds1 = retQuery.dataSourceNo(1);
    qbds2 = qbds1.addDataSource(tableId);

    dr = new DictRelation(tableId);
    dr.loadTableRelation(qbds1.table());

    qbds2.addRelation(dr);

    return retQuery;
}
Код после изменений (\Classes\SysQuery):
X++:
public static Query addTableRelation(Query query, tableId tableId)
{
    Query retQuery = new Query(query.pack());
    QueryBuildDataSource qbds1;
    QueryBuildDataSource qbds2;

    qbds1 = retQuery.dataSourceNo(1);
    qbds2 = qbds1.addDataSource(tableId);

    qbds2.relations(true);

    return retQuery;
}

Последний раз редактировалось gl00mie; 06.09.2006 в 15:06.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Проверка на RecId monk DAX: Программирование 29 27.11.2008 13:37
Ошибки при проверке целостности компании Лёlya DAX: Функционал 6 22.10.2007 17:39
Проверка целостности данных - складские проводки petr DAX: Функционал 3 22.08.2007 16:01
Проверка цикличности в спецификации vey DAX: Функционал 2 24.03.2005 11:03
Проверка целостности данных Oks DAX: Администрирование 1 19.04.2002 21:04

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

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

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