|
22.10.2008, 15:51 | #1 |
Участник
|
Ошибка на АОСе в кластере
Добрый день.
В очередной серый день получил в логах AOS такую серию ошибок: 1. Fatal system condition - quitting for restart due to errors generating RecIDs. 2. Object Server : The database reported (session 18 (TesTT)): [Microsoft Business Solutions-Axapta] Unable to retrieve message for retval 99, ODBC call reason code 100, SQLSTATE = [4"] Error message []. The SQL statement was: "" 3. Object Server: The database reported (session 18 (TesTT)): [Microsoft][ODBC SQL Server Driver]Connection is busy with results for another hstmt. The SQL statement was: "SELECT A.NEXTVAL,A.ID,A.TABID,101090 FROM SYSTEMSEQUENCES A(INDEX(I_65516ID) UPDLOCK) WHERE ((DATAAREAID=?) AND ((ID=?) AND (TABID=?))) OPTION(FAST 1)" 4. Object Server nmf_work: Dialog issued for client-less session 65535: Ошибка времени выполнения. : Info Объект не инициализирован. Трассировка стека: (S) \Classes\Info\add (S) \Classes\Global\info - line 6 (S) \Classes\SysTrace\outputInfolog - line 5 (S) \Classes\SysTraceError\output - line 22 (S) \Classes\Application\sysTrace - line 35 5. Object Server nmf_work: Dialog issued for client-less session 65535: Невозможно выбрать запись в 'Системные события' ('SysEvent') Код события: 0, Обновление AOD. База данных SQL обнаружила ошибку. Кто-то сталкивался с такой проблемой? С чем это может быть связано? P.S. На втором АОСе все нормально
__________________
Жить все веселей!.. AX3SP3CU1 |
|
14.09.2009, 12:00 | #2 |
Участник
|
Сегодня у нас случилось то же самое. На одном AOS - серия таких же ошибок, на втором - все нормально. Посмотрел версии SQL clients на аос - одинаковые:
2005.90.4035.00. Конфиги аос - одинаковые. Didukh84 - как решили проблему? |
|
14.09.2009, 13:42 | #3 |
Участник
|
Я рекомендую начать с простых вещей: глобальной синхронизации таблиц, глобальной компиляции. Вреда не будет а может быть больной поправиться...
|
|
10.11.2009, 13:13 | #4 |
Участник
|
Тоже выдаётся иногда ошибка Object Server ХХХХ: Dialog issued for client-less session 65535:.... Замечено такое после вырубания (ненормального завершения) пользователей. Бывет от сессии 65535 гонит ошибки The database reported (session 65535 ()): [Microsoft][ODBC SQL Server Driver]Ошибка связи
что это за сессия такая 65535 ???
__________________
--- SHiSHok |
|
11.11.2009, 09:17 | #5 |
Участник
|
Боремся с ошибкой "Fatal system condition - quitting for restart due to errors generating RecIDs" в Ax 3.0 уже без малого 1,5 года. Вместе с инженером тех.поддержки MBS наконец, похоже докопались до причины проблемы - deadlock на SystemSequences. Его можно обнаружить в SQL Profiler'e, если настроить на трассировку блокировок БД (в АХ эта блокировка не отражается...не успевает).
Просьба к тем, у кого это ошибка имеет место - попробуйте повторить её с включенным профайлером на отслеживание блокировок и сообщите, пожалуйста, имеет ли место deadlock у вас? P.S.: у нас кластера нет - AOS один. |
|
30.11.2010, 13:21 | #6 |
Участник
|
Кому-нибудь удалось победить эту ошибку ?
|
|
13.09.2013, 12:09 | #7 |
Участник
|
Проблема известна при работе несколькими АОСами. Причина: при выполнении запроса :
SELECT A.NEXTVAL,A.ID,A.TABID,A.RECVERSION,101090 FROM SYSTEMSEQUENCES A WITH( INDEX(I_65516ID), UPDLOCK) WHERE ((DATAAREAID=@P1) AND ((ID=@P2) AND (TABID=@P3))) OPTION(FAST 1) Накладываются на SYSTEMSEQUENCES блокировки IU (намеренение обновления, которая совместима с другой IU блокировкой) и на индекс блокировка U. Если второй АОС успевает до обновления записи SysteSequences первым аосом выполнить аналогичный селект, то тоже получает IU блокировку на таблице. При этом первый аос не может получить X блокировку (UPDATE SYSTEMSEQUENCES SET NEXTVAL=@P1, RECVERSION = CASE COALESCE(RECVERSION,1) WHEN 2147483647 THEN 1 WHEN -1 THEN 1 ELSE RECVERSION + 1 END WHERE ((DATAAREAID=@P2) AND (ID=@P3))) на таблицу, т.к. X блокировка не совместима с IU блокировкой второго АОСа. Лечится все это просто: в свойствах индекса I_65516ID отменяем постраничную блокировку и блокировку по записи. В итоге получаем при запросе nextval сразу X блокировку на таблицу SYSTEMSEQUENCES и dedlock не возникает. Последний раз редактировалось Anarchyst; 13.09.2013 в 12:22. |
|
|
За это сообщение автора поблагодарили: olesh (1), raz (10), Logger (10), gl00mie (10). |
13.09.2013, 15:57 | #8 |
Участник
|
Красивое решение.
|
|
01.10.2013, 22:23 | #9 |
Участник
|
Дополнение
Забыл сказать,что проверял работоспособность на SQL 2008 R2 и Axapta 3.0 sp5 kr2. На SQL 2005 это может работать иначе, хотя на тесте SQL 2005 standart 9.00.5000:
BEGIN TRAN SELECT A.NEXTVAL,A.ID,A.TABID,A.RECVERSION,101090 FROM SYSTEMSEQUENCES A WITH( INDEX(I_65516ID), UPDLOCK) WHERE ((DATAAREAID='company') AND ((ID=-1) AND (TABID=0))) OPTION(FAST 1) sp_lock показывает табличную X-блокировку. Последний раз редактировалось Anarchyst; 01.10.2013 в 22:45. |
|
Теги |
ax3.0, systemsequences |
|
Похожие темы | ||||
Тема | Ответов | |||
Ошибка (?) при печати приходного ордера в DAX 4.0 SP2 | 7 | |||
Ошибка в формате числа. | 7 | |||
Ошибка на АОСе | 8 | |||
Ошибка при обработке С-Ф | 7 | |||
Русская локализация Axapta 3 ? | 59 |
|