Показать сообщение отдельно
Старый 04.08.2020, 18:18   #14  
vmoskalenko is offline
vmoskalenko
Участник
Аватар для vmoskalenko
 
145 / 334 (12) ++++++
Регистрация: 25.01.2007
Адрес: Toronto
Скорее всего этот ответ не совсем в тему. Но возможно наведёт на правильные мысли. Это для AX2012, Несколько леттому назад


Symptoms:
You should found new AOS instance record in the table SYSSERVERSESSIONS
SELECT * FROM SYSSERVERSESSIONS
If not, please read text below


I am glad to inform you that we found solution of our falling AOS.
 
Valery and Maksym found that issue was tied with sql stored procedure CreateServerSessions. Stored procedure was unable to add new record to sysServerSessions table, and without this record AOS was falling.
Procedure tried to add a record to table but failed due to inappropriate table definition and stored procedure statements.
AOS is working after I have added default values for 3 fields to table definition.
 
I would like to thank Maksym for his precious help.
And Valery who did everything and  just brought me possible point of failure.
 
Details:
Table definition from database with falling AOS:


Every field defined as NOT NULL     MUST have values during insert. But during insert in stored procedure 3 fileds are not listed and don’t have values: [LOGINDATETIMETZID], [LASTUPDATEDATETIMETZID], [RECVERSION].
 
Insert part from stored procedure:

 
Here is error during insert: Cannot insert the value NULL into column 'LOGINDATETIMETZID', table 'ENC_US_AX_TST.dbo.SYSSERVERSESSIONS'; column does not allow nulls. INSERT fails.
If we cannot pass these fields to table during insert, we should have DEFAULT values on table definition.
 
Here is table definition from database with working AOS:


 
And here is the script to add default values to this table to bring it “standard” look:
ALTER TABLE [dbo].[SYSSERVERSESSIONS]
       ADD DEFAULT 0 FOR [SERVERID],
              DEFAULT '' FOR [AOSID],
              DEFAULT '' FOR [INSTANCE_NAME],
              DEFAULT 0 FOR [VERSION],
              DEFAULT ('1900-01-01 00:00:00.000') FOR [LOGINDATETIME],
              DEFAULT 37001 FOR [LOGINDATETIMETZID],
              DEFAULT 0 FOR [STATUS],
              DEFAULT 0 FOR [LOADBALANCE],
              DEFAULT 0 FOR [WORKLOAD],
              DEFAULT ('1900-01-01 00:00:00.000') FOR [LASTUPDATEDATETIME],
              DEFAULT 37001 FOR [LASTUPDATEDATETIMETZID],
              DEFAULT 1 FOR [RECVERSION]
GO
ALTER TABLE [dbo].[SYSSERVERSESSIONS]  WITH CHECK ADD CHECK  (([RECID]<>(0)))
GO
 
Миниатюры
Нажмите на изображение для увеличения
Название: clip_image001.jpg
Просмотров: 370
Размер:	37.9 Кб
ID:	12906   Нажмите на изображение для увеличения
Название: clip_image002.jpg
Просмотров: 400
Размер:	11.9 Кб
ID:	12907  

Нажмите на изображение для увеличения
Название: clip_image003.jpg
Просмотров: 355
Размер:	51.4 Кб
ID:	12908  
За это сообщение автора поблагодарили: raz (5), Logger (3).