You receive a message in the Intercept Log on a server hosting an AVIcode SEViewer instance that is similar to the following:
Message: Arithmetic overflow occurred. Arithmetic overflow error converting IDENTITY to data type int. Source: Microsoft OLE DB Provider for SQL Server Target Site: System.Data.OleDb.OleDbDataReader ExecuteReaderInternal(System.Data.CommandBehavior, System.String) Stack Trace: at System.Data.OleDb.OleDbCommand.ExecuteReaderInternal(CommandBehavior behavior, String method) at System.Data.OleDb.OleDbCommand.ExecuteNonQuery() at Avicode.AX5.Data.OleDb.OleDb.ExecuteNonQuery(OleDbCommand oleDbCommand) Message: Arithmetic overflow occurred. Arithmetic overflow error converting IDENTITY to data type int. Command text: INSERT INTO PCOUNTER ( VALUE_BASE, VALUE_DATE, VALUE_STRING, ID, PID, UTCDATE, SOURCEID, PCTYPEID, PCPROCESSID, PCMACHINEID, ISSTATE ) SELECT 37790.5251,NULL,NULL,46,NULL,'20120127 21:15:38',NULL,3,NULL, 186, 1 UNION ALL SELECT 6425471.753443,NULL,NULL,39,NULL,'20120127 21:15:38',NULL,34,NULL, 186, 10
This issue can occur when the PCOUNTERID column reaches the value 2,147,483,647. This is due to the limitation of the data type INT being 4 bytes and unable to hold any larger values.
The PCOUNTERID value is incremented each time a new data item is written to the PCOUNTER table and is never reset, so even with regular grooming this issue can occur.
To resolve this issue, the PCOUNTERID column must be reseeded. To check the current identity value, run the following SQL command in SQL Management Studio:
DBCC CHECKIDENT (“dbo.PCOUNTER”, noreseed)
If the current identity value is 2147483647, reseed the identity column using the following SQL Command:
DBCC CHECKIDENT (“dbo.PCOUNTER”, reseed)