Using Microsoft SQL Server with AR System
Diary and Character field qualifications
When you specify search criteria for a field that contains more than 8000 characters or a diary field, you must use the LIKE operator. If you use any other relational operator, you receive an error.
(On-premises deployments) Case sensitivity in queries
By default, the Microsoft SQL Server search criteria are in dictionary order and are case-insensitive. You can, however, specify an option that enables case-sensitive searches. For more information, see your Microsoft SQL Server documentation.
Reducing deadlocks by using snapshot isolation
Microsoft SQL Server 2005 provides the "snapshot" isolation level, which allows a transaction to read the last committed version of the data that is currently being changed. Thus, the transaction's view of the data is consistent with the state of the data when the transaction began without being blocked by other transactions. This reduces the possibility of deadlocks.
For more information about the snapshot isolation in SQL Server, go to http://msdn.microsoft.com/en-us/library/ms130975.aspx.
To use a snapshot isolation level with the database
- Stop the to ensure that all connections to the database are closed.
For a server group or a shared database, stop all of the instances. To verify whether the appropriate isolation level is set for the database, enter:
SELECT is_read_committed_snapshot_on FROM sys.databases where name = 'ARSystem'To set the snapshot isolation level, enter:
ALTER DATABASE ARSystem SET READ_COMMITTED_SNAPSHOT ONRestart the . Optionally, to revert to the original setting, use the following commands in the same sequence as mentioned:
ALTER DATABASE ARSystem SET READ_COMMITTED_SNAPSHOT OFF
Improving performance with parameterization
The uses dynamically built queries that need to be compiled and recompiled frequently. By default, the database uses simple parameterization.
You can set simple parameterization using the following command:
Forced parameterization converts any literal value that appears in a SELECT, INSERT, UPDATE, or DELETE statement to a parameter during query compilation. A parameterized query requires less recompilation, thereby improving performance.
For further information about forced parameterization, go to http://msdn.microsoft.com/en-us/library/ms175037.aspx.