When a transaction imposes the lock on an object, all other transactions that require the access to that object will be forced to wait until the lock is released and that wait will be registered with the adequate wait type.
SQL Server Database Engine can lock the following resources:
RID: Used to lock a single row within a table.
Key: Row lock within an index. It means primary key, Candidate Key, Secondary key etc.
Table: Complete table, including all data and indexes.
Page: 8-kilobyte (KB) data page or index page. Lock can be placed on Page Level also, it means if a particular page is locked so another user cannot update data on it.
Extent: Group of eight data pages which can include index pages also.
Database: Entire Database can be locked for some type of users who have read permission on database.
Ещё видео!