KB Article #177803
Avoid MS SQL deadlocks by setting READ_COMMITTED_SNAPSHOT
Problem
-- Database deadlocks seen in the logs, might be related to message purge or message tracker queries
-- Message tracker queries take a long time or time out
Resolution
Set the database isolation level to "READ_COMMITTED_SNAPSHOT" (default being "READ_COMMITTED"). This will cause the database not to lock on READ, thus avoiding unessacary locks and deadlocks.
ALTER DATABASE [database] SET READ_COMMITTED_SNAPSHOT ON
** To check if this option is enabled the following query can be executed:
SELECT is_read_committed_snapshot_on FROM sys.databases WHERE name=[database]