Warning
Potential for Data Loss: The steps detailed in the resolution of this article may result in a loss of critical data if not performed properly. Before beginning these steps, make sure all important data is backed up in the event of data loss. If you are unsure or unfamiliar with any complex steps detailed in this article, please contact Product Support Services for assistance.
Issue
Workstations are no longer logging all points configured for Extended Logging. Lots of these errors seen in the Errors Listview and ACCtrace.
"Unable to find Extended Log records to download. This can occur when a log is added to a point through offline editing and the change is never sent to the controller."
Product Line
Andover Continuum
Environment
- Continuum Cyberstation
- SQL Server Management Studio
Cause
What has probably occurred is that in the database the point is set for extended logging but in the controller this same value is not set. It happens when the controller recovers from flash and the database stored in flash didn't have the extended log points configured or it was offline edited. This could also be due to a corrupt entry in the ExtendedLogReservation table that is stopping new points from being assigned.
Resolution
After the troubleshooting steps in Getting error Unable to find Extended Log records to download have been followed but were unable to resolve the problem, truncating the ExtendedLogReservation table and then rebuilding it did resolve the problem in a number of situations. Please note that this is a brute force approach that requires truncating a table using an SQL query.
I want to stress that even after following the below steps to re-enable logging, each affected controller should be reloaded at some point to ensure that it has the most recent up to date information. The steps below are a quicker method of getting the logging start working right away without having to wait to reload each individual controller.
The best method to disable and then re-enable the Extended Logging on the points that have it configured is to use individual Listviews filtered to show them. One of Numerics, Inputs, and Outputs.
The only change required, and this is a critical one, is to change the "Live Data Refresh Rate" to 0 for each of those three Listviews. This will ensure that the view is not refreshed automatically unless we do this ourselves. See image below for details.
After importing the three ListViews, follow the below steps to toggle the ExtLogEnable values for all Numerics that were currently setup to trend.
- Run the imported listviews,
- Export the results to CSV files, (do this as a backup so there is a record of what points are currently configured).
- Edit the listviews to disable live refresh, see attached image for exact details of what to change.
- [** Important **] Shut down all Cyberstations and backup the ContinuumDB.
- Go back and confirm that step 4 above has been done.
- Truncate the entire ExtendedLogReservation table and rebuild it. In SQL Management Studio, run the below query to truncate the table.
truncate table ContinuumDB.dbo.ExtendedLogReservation
- Start up the Cyberstation
- Set Workstation to Offline (workstation icon in task tray)
- Run each of the three Listviews, select Edit->select all, select Edit-> set attribute, set the ExtLogEnable attribute to False,
- Wait for the changes to take effect on all, you can see when this is done (and it may take awhile) by the tasks in the Distribution Properties window.
- Then select all again and set the attribute back to True, wait for this to complete.
Now when you start up the Workstations you should see that the ExtendedLogReservation table gets populated and slowly start to see that some of the Workstations get assigned logs to start logging. You can see which entries are assigned to a Workstation by the value of ReservingWSLo. This will be set to 0 if no Workstation has been assigned to gather the point yet or it will assigned to the IdLo value of the Workstation that has picked it up.