1.1.3 Schema Stability Lock (Sch-S) 1
1.1.4 Schema Modify Lock(Sch-M) 1
Lock Management
every operation you perform on database results in one or more "locks". locks are memory resources applied on database objects (tables, views,..) & database structures (files, pages..)
These locks are used to control the concurrent (parallel) access to the database. lock manager @ architecture manages all these locks.
Types Of Locks:
Shared Lock (S)
Applicable For Read Or Fetch Operations
Exclusive Lock(X)
Applicable For Write Or Dml Operations
Schema Stability Lock (Sch-S)
Applicable For Metadata Reads (Ex: Sp_help, Sys.Tables..)
Schema Modify Lock(Sch-M)
Applicable For Metadata Writes ( Ex: Create, Alter, Drop)
Update Lock(U)
Applicable For Data Updates Using Tables & Views
Intent Lock (I)
Applicable For S & X Locks. To Prevent Lower Level Resources (Pag) From Being Locked By Higher Level Resources (Table)
Metadata Locks(Md)
Applicable For Operations On The Master Pages (From Master Extent)
Useful Lock Info
-- HOW TO KNOW THE NUMBER OF OPEN TRANSACTIONS IN THE CURRENT SESSION?
SELECT @@TRANCOUNT
-- HOW TO KNOW THE DETAILS OF OPEN TRANSACTIONS IN THE CURRENT DATABASE?
DBCC OPENTRAN()
/*
QUERY BLOCKING CAN BE AVOIDED BY IMPLEMENTING ONE OF THE BELOW MECHANISMS:
1. LOCK HINTS
2. ISOLATION LEVELS
*/