Environment
Security Manager 6.5 - SP1
Situation
SM 6.5 SP1install times out and fails when trying to update database server followed by the error below:
Error executing SQL Statement in database OnePoint: Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding.The statement has been terminated.
The Database Manager log should reference the complete error similar to what is stated below:
Error executing SQL Statement in database OnePoint:
Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding.
The statement has been terminated.
-- [6.5 SP1] US112 - New indexes to help with the refresh...
IF NOT EXISTS(SELECT name FROM sysindexes WHERE name = 'I_EventA_TimeStored')
BEGIN
CREATE INDEX I_EventA_TimeStored ON EventA([TimeStored])
END
IF NOT EXISTS(SELECT name FROM sysindexes WHERE name = 'I_EventB_TimeStored')
BEGIN
CREATE INDEX I_EventB_TimeStored ON EventB([TimeStored])
END
<-end
Error executing SQL Statement in database OnePoint: Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding.The statement has been terminated.
The Database Manager log should reference the complete error similar to what is stated below:
Error executing SQL Statement in database OnePoint:
Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding.
The statement has been terminated.
-- [6.5 SP1] US112 - New indexes to help with the refresh...
IF NOT EXISTS(SELECT name FROM sysindexes WHERE name = 'I_EventA_TimeStored')
BEGIN
CREATE INDEX I_EventA_TimeStored ON EventA([TimeStored])
END
IF NOT EXISTS(SELECT name FROM sysindexes WHERE name = 'I_EventB_TimeStored')
BEGIN
CREATE INDEX I_EventB_TimeStored ON EventB([TimeStored])
END
<-end
Resolution
To fix this issue, use the following process:
- Run the sql script below against the OnePoint Database using SQL Management Studio. Then re-try the SP1 upgrade.
-- [6.5 SP1] US112 - New indexes to help with the refresh...
IF NOT EXISTS(SELECT name FROM sysindexes WHERE name = 'I_EventA_TimeStored')
BEGIN
CREATE INDEX I_EventA_TimeStored ON EventA([TimeStored])
END
IF NOT EXISTS(SELECT name FROM sysindexes WHERE name = 'I_EventB_TimeStored')
BEGIN
CREATE INDEX I_EventB_TimeStored ON EventB([TimeStored])
END
-- [6.5 SP1] US112 - New indexes to help with the refresh...
IF NOT EXISTS(SELECT name FROM sysindexes WHERE name = 'I_EventA_TimeStored')
BEGIN
CREATE INDEX I_EventA_TimeStored ON EventA([TimeStored])
END
IF NOT EXISTS(SELECT name FROM sysindexes WHERE name = 'I_EventB_TimeStored')
BEGIN
CREATE INDEX I_EventB_TimeStored ON EventB([TimeStored])
END
Cause
This issue is the result of an SQL script that creates an index on a particular column in the Event table when updating the database. If the event table has a large amount of data, an update could take a very long time and potentially cause the upgrade to timeout and fail.
Additional Information
Formerly known as NETIQKB72058