I have a system running which was configured with a tag history splitter to log data to a local database (running MSSQL Express) and a remote database (running the fully-fledged MSSQL Server). At the time, I did a back-of-the-envelope calculation, and figured my 10GB limit on the local MSSQL Express database would get me around 14 months of data, so I set it up to prune data older than 1 year.
Unfortunately, with 8 days to go, we ran out. The local database filled up and stopped logging data. The immediate solution was easy enough - change the setting to prune data after 6 months, manually delete data older than 6 months, and logging restarted as normal.
The problem I have is that the customer now has a 24 hour gap in their data, and for compliance purposes, they need this data.
I would assume that this data would have been logged to the remote database during the affected time period - as I’m using a tag history splitter, I can’t see any reason that issues with one “fork” of the split would affect the other. But I’m not sure how to retrieve the data and force Ignition to get it from the remote database, rather than the local one.
The data is currently shown on a trend, and also printed to a text-based report using a python script which uses
system.tag.queryTagHistory to generate a table of sorts. Both of these methods appear to be retrieving data from the local database when they run.
Is there a way to force either of these methods to use a particular datasource? Even just temporarily, to allow us to extract the relevant data?