Hi Bahar,
SQL Server Database Engine uses locks to ensure the integrity of transactions and maintain the consistency of databases when multiple users are accessing data at the same time, since different locks may not be compatible with another and have to wait others to release the lock on the required object, this will decrease the database engine performance. I suggest using versioning-based isolation level with your requirement, when a row versioning-based isolation level is enabled, the Database Engine maintains versions of each row that is modified. Applications can specify that a transaction use the row versions to view data as it existed at the start of the transaction or query instead of protecting all reads with locks. For more detail information, you can refer to the following link:
Lock Compatibility (Database Engine)
http://technet.microsoft.com/en-us/library/ms186396(v=sql.105).aspx
SQL Server Transaction Locking and Row Versioning Guide
http://technet.microsoft.com/en-us/library/jj856598.aspx
Best Regards,
Allen
No comments:
Post a Comment