0 votes

We are logging to an external MS SQL database and it stopped working 3 days ago. The following information was found in the Server event log:

Log Name: Adaxes
Source: Adaxes Service
Date: 2/24/2017 4:12:59 PM
Event ID: 0
Task Category: None
Level: Error
Keywords: Classic
User: N/A
Computer: ADAXES01.co.wake.nc.us
Description:
Softerra.Adaxes.Logger+LogMessageWrappingException: Failed to save log records to the external database. ---> System.OverflowException: Arithmetic operation resulted in an overflow.
at System.Data.SQLite.SQLite3.GetBytes(SQLiteStatement stmt, Int32 index, Int32 nDataOffset, Byte[] bDest, Int32 nStart, Int32 nLength)
at System.Data.SQLite.SQLiteDataReader.GetBytes(Int32 i, Int64 fieldOffset, Byte[] buffer, Int32 bufferoffset, Int32 length)
at #9k.#al.Convert(IDataRecord dataRecord)
at #9k.#1l.ExecuteSelectQuery[T](String query, IList1 parameters, IDataRecordConverter1 converter, IDbCommand command)
at #9k.#4l.ExecuteSelectQuery[T](String query, IList1 parameters, IDataRecordConverter1 converter)
at Softerra.Adaxes.Logging.SQLiteAccessProvider.ExecuteSelectQuery[T](String query, IList1 queryParameters, IDataRecordConverter1 converter)
at Softerra.Adaxes.Logging.SQLiteAccessProvider.GetExecutionLog(Guid logRecordId)
at Softerra.Adaxes.Logging.DBAccessProvider.LoadExecutionLog(Guid logRecordId)
at Softerra.Adaxes.Logging.AdmLogRecord.GetExecutionLog()
at #Kl.#Pl.InsertRecord(ISqlQueryExecutor queryExecutor, AdmLogRecord record, Guid initiatorId, Guid targetObjectId)
at Softerra.Adaxes.Logging.DBAccessProvider.InsertRecord(ISqlQueryExecutor queryExecutor, AdmLogRecord record)
at #9k.#zl.#i.#Al.#0wb()
at #9k.#zl.#i.#Al.#Zwb()
--- End of inner exception stack trace ---
Event Xml:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
<System>
<Provider Name="Adaxes Service" />
<EventID Qualifiers="0">0</EventID>
<Level>2</Level>
<Task>0</Task>
<Keywords>0x80000000000000</Keywords>
<TimeCreated SystemTime="2017-02-24T21:12:59.000000000Z" />
<EventRecordID>150460</EventRecordID>
<Channel>Adaxes</Channel>
<Computer>ADAXES01.co.wake.nc.us</Computer>
<Security />
</System>
<EventData>
<Data>Softerra.Adaxes.Logger+LogMessageWrappingException: Failed to save log records to the external database. ---> System.OverflowException: Arithmetic operation resulted in an overflow.
at System.Data.SQLite.SQLite3.GetBytes(SQLiteStatement stmt, Int32 index, Int32 nDataOffset, Byte[] bDest, Int32 nStart, Int32 nLength)
at System.Data.SQLite.SQLiteDataReader.GetBytes(Int32 i, Int64 fieldOffset, Byte[] buffer, Int32 bufferoffset, Int32 length)
at #9k.#al.Convert(IDataRecord dataRecord)
at #9k.#1l.ExecuteSelectQuery[T](String query, IList1 parameters, IDataRecordConverter1 converter, IDbCommand command)
at #9k.#4l.ExecuteSelectQuery[T](String query, IList1 parameters, IDataRecordConverter1 converter)
at Softerra.Adaxes.Logging.SQLiteAccessProvider.ExecuteSelectQuery[T](String query, IList1 queryParameters, IDataRecordConverter1 converter)
at Softerra.Adaxes.Logging.SQLiteAccessProvider.GetExecutionLog(Guid logRecordId)
at Softerra.Adaxes.Logging.DBAccessProvider.LoadExecutionLog(Guid logRecordId)
at Softerra.Adaxes.Logging.AdmLogRecord.GetExecutionLog()
at #Kl.#Pl.InsertRecord(ISqlQueryExecutor queryExecutor, AdmLogRecord record, Guid initiatorId, Guid targetObjectId)
at Softerra.Adaxes.Logging.DBAccessProvider.InsertRecord(ISqlQueryExecutor queryExecutor, AdmLogRecord record)
at #9k.#zl.#i.#Al.#0wb()
at #9k.#zl.#i.#Al.#Zwb()
--- End of inner exception stack trace ---</Data>
</EventData>
</Event>

Also, the size of the AdaxesLog.db3 is 633MB. Please let me know if you want me to send it to you.

Thanks

by (870 points)
0

Hello Sandra,

Could you upload the logging database to our FTP site? We sent you the FTP address, email and password by e-mail. Thanks!

1 Answer

0 votes
by (216k points)
selected by
Best answer

Hello,

We've managed to identify the cause for the issue. The thing is that the Execution Log of one of operation stored in the built-in logging database is over 500 Mb (which is nearly 80% of your logging database). Such a big Execution Log cannot be synchronized to an eternal MS SQL database. In Adaxes 2017.1 that will be available approximately in a month, we'll fix the issue. Adaxes will not save Execution Logs of such a size to the built-in database.

We also sent you the steps how to remedy the issue and restore synchronization of log records. Check your inbox.

0

The issue was fixed in Adaxes 2017.1. Now, if the size of an Execution Log of an operation exceeds 10 Megabytes, it will not be saved to Adaxes Service Log. You can download the latest build here.

Upgrade Instructions

What's New

Related questions

0 votes
1 answer

Is there a report that would show the Adaxes websites and who has access to them?

asked Feb 16 by lavonnabalo (20 points)
0 votes
1 answer

How to grant someone access to see logging in Adaxes Admin Console?

asked Nov 30, 2022 by sra98a (120 points)
0 votes
1 answer

Our SQL DBAs are working to move most/all our SQL connections to SSL. They have asked if Adaxes can support this.

asked Feb 22, 2021 by ggallaway (300 points)
0 votes
1 answer

Dear Adaxes team, Please confirm if Adaxes 2019.1 support SQL server 2017 for logging database. Also suggest Adaxes steps to perform if we are migrating our logging database from SQL server 2012 to SQL server 2017

asked Apr 16, 2020 by kushal.gaurav (20 points)
0 votes
1 answer

User is trying to amend the account expiry date on another user account. User has done this many times in the past - only difference is this is a new OU. Adaxes service account has the necessary permissions to the OU so I can't see why this is happening

asked Jan 3 by NeilM (20 points)
3,326 questions
3,026 answers
7,727 comments
544,683 users