FMS Service and the SQL Server Database Relationship

January 2, 2018 / 0 comments / in Measurement  / by Bruce Detter

This blog is intended for the FMS service operator to gain understanding of the relationship between the FMS service and the SQL Server FMS database.

When working with the FMS service and the SQL Server database connection it is important to note that each task will run in an executable thread within the executing multi-threaded FMS Service. When data is required from the database, each thread will initiate a unique session with the database to read/write the specific data. It is possible, for some long running task with minimal to no activity,  for the database to close the session as part of the database service manager optimization processing. The FMS service will detect this state and cause the session to re-open when the FMS Service requires database access.

In most cases a task that needs SQL Server database access will open a session, initiate the transaction(s) necessary to complete the task and close the session. On occasion, often due to unstable networking however there can be other causes, the session will fail or, due to transaction failure, FMS will close the session prematurely. FMS Service is designed to detect the loss of session connectivity, and restart the connection to the database.

The FMS service is robust enough to detect SQL Server side connection issues and recover with minimum disruption to the workflow. This alleviates the necessity of determining a specific connection in SQL Server with a task/thread in the FMS service.

Share this entry
Share by Mail



Comments

Blog post currently doesn't have any comments.

Leave Comment

    Subscribe to this blog post

    Enter your email address to subscribe to this post and receive notifications of new comments by email.


    Search the CygNet Blog

    Subscribe to the CygNet Blog

    Enter your email address to subscribe to this blog and receive notifications of new posts by email.

    Tags

    .NET ‘Sparkline” “.NET “64-bit” “Allen “Azure “Canvas” “CygNet “Data “Database “DDS-based “Dispatch” “DNP3 “Facility “FWRD” “Geometric “HMI “IoT “Lufkin “MQTT “Note “OpenStreetMaps” “Relative “Replication” “SCADA” “Security” “SVG” “Telerik” “Thin “Totalflow “Weatherford 8.5.1 9.3 9.4 9.9” Ad hoc chart Alarms API API” ASR Authentication auto-failover automatic failover automatic service recovery beta program Bradley breakouts Bridge Bridge API broadcast browser-based Bytes Canvas CIP Client Client” Clients” Comm Config File Manager Configuration Context menu Controls controls” CRC custom database indexes Custom Events CygNet CygNet 9.0 CygNet 9.4 CygNet 9.6 CygNet 9.7 CygNet 9.8 CygNet messaging CygNet. Data Data Visualization DEIDs Depot Designer device mapping Diagnostics disaster recovery Dynagraph EAC EIE EIE” email Emerson emitter” Enhanced Enhanced Alarm Configuration Excel Facilities” failover feedback Files first look FMS Full FWRD Get Latest Get New GitHub gns Grid” group group grid Heat Map HMI HSS IoT iPhone Job Runner Link Link” Maps” Measurement Measurement” Messaging” Mobile Mode” Navigation OAuth ODBC On-demand chart OPC OPC UA Polling recovery redundancy reference facilities Reference Packages Release Remote replication Report Module SAM Samples SCADA screen performance Scripting Security Server” Shapes” slides Sniffer SQL Server survey Sync” Tabs Tech Bulletin Template Test” TFA Thin Web Client Token Tools transactions” Tree Map trend Troubleshooting Two-factor UA UIS video View Group Web web-based Well WESC 2016 WESC 2018 WESC 2020 WESC2019