Сегодня интересный пост был на внутреннем форуме.
Что-то, чего мне никогда не доводилось делать, но, возможно, будет полезным кому-то еще:
Если системные таблицы в базе данных по какой-либо причине рассинхронизировались, или не создались при попытке запуске АОС, то АОС не сможет стартовать. Такое возможно, к примеру, после неудачного апгрейда.
Примерные сообщения об ошибке, которые при этом видит пользователь:
Цитата:
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у, что нужно пересоздать нужные системные таблицы.