28.01.2009, 13:08 | #1 |
Участник
|
Ре-синхронизация системных таблиц на основании AOT
Сегодня интересный пост был на внутреннем форуме.
Что-то, чего мне никогда не доводилось делать, но, возможно, будет полезным кому-то еще: Если системные таблицы в базе данных по какой-либо причине рассинхронизировались, или не создались при попытке запуске АОС, то АОС не сможет стартовать. Такое возможно, к примеру, после неудачного апгрейда. Примерные сообщения об ошибке, которые при этом видит пользователь: Цитата:
Object Server 05: The database reported (session 1 (-AOS-)): [Microsoft][SQL Native Client][SQL Server]Invalid object name 'SYSSERVERSESSIONS'.. The SQL statement was: "SELECT A.SERVERID,A.AOSID,A.INSTANCE_NAME,A.VERSION,A.LOGINDATETIME,A.LOGINDATETIMETZID,A.STATUS,A.LOADBALANCE,A.WORKLOAD,A.LASTUPDATEDATETIME,A.LASTUPDATEDATETIMETZID,A.RECVERSION,A.RECID FROM SYSSERVERSESSIONS A WHERE (STATUS=?)"
Object Server 05: SQL diagnostics: [Main Microsoft Dynamics Application Object Server Session]Unable to report problem. Attempted to open message 310. Object Server 05: Dialog issued for client-less session 1: Cannot select a record in Current AOS instances (SysServerSessions). ServerId: 0, . The SQL database has issued an error. Object Server 05: The database reported (session 1 (-AOS-)): [Microsoft][SQL Native Client][SQL Server]Invalid object name 'SYSCLIENTSESSIONS'.. The SQL statement was: "SELECT A.SESSIONID,A.SERVERID,A.VERSION,A.LOGINDATETIME,A.LOGINDATETIMETZID,A.STATUS,A.USERID,A.SID,A.USERLANGUAGE,A.HELPLANGUAGE,A.CLIENTTYPE,A.SESSIONTYPE,A.CLIENTCOMPUTER,A.RECVERSION,A.RECID FROM SYSCLIENTSESSIONS A WHERE (SERVERID=?)" Object Server 05: Internal Error occurred executing stored procedure when creating session for the AOS. Эти (и другие) системные таблицы можно обновить/пересоздать, выполнив следующую SQL команду и перезапустив AOS. X++: update SqlSystemVariables set value = value - 1 where parm = 'systabversion' Ядро системы использует эту таблицу, а конкретно значение параметра systabversion для определения статуса синхронизации таблиц. Устанавливая значение systabversion меньшее на 1, мы "говорим" АОSу, что нужно пересоздать нужные системные таблицы. |
|
|
За это сообщение автора поблагодарили: Vadik (1), Logger (4), aidsua (1). |