This project has moved and is read-only. For the latest updates, please go here.

Database Isolation Levels

Sep 30, 2013 at 5:03 PM
My application creates several hundred action adapter instances, several thousand associated measurements and alarms. Currently I am not using transactions; actually, I tried using READ-COMMITTED transactions, but worried that the blocking activity would cause problems in the openPDC service.

Would you recommend that I enable READ-COMMITTED-SNAPSHOT mode on the database, and then use READ-COMMITTED transactions for all inserts and/or updates?
Sep 30, 2013 at 5:04 PM
Note that this is using SQL Server 2008 and SQL Server 2012 Express.
Oct 14, 2013 at 2:25 PM
Hi patpentz,

If you are using openPDC 1.5, locking the database should be fine. The only times the openPDC will access the database are on startup or when a ReloadConfig or Initialize command is issued in a remote console connection. In openPDC 2.0, there may be some implications related to the Gateway Exchange Protocol since the adapter will attempt to update its metadata in the database when the remote side sends a configuration change.

Oct 14, 2013 at 6:43 PM
Thanks. Currently I am not using transactions, so each insert/update/delete is an individual operation, not always the best approach, but good enough here. When we migrate to v2.x, I will experiment with READ-COMMITTED-SNAPSHOT. No other database here has this option enabled, so my DBA's are a little leery about enabling it!