INF: Support of Page and Table Locking in SQL Server (46170)



The information in this article applies to:

  • Microsoft SQL Server 4.2x
  • Microsoft SQL Server 6.0
  • Microsoft SQL Server 6.5

This article was previously published under Q46170
SQL Server will lock only the page containing the updated row if an index was used to locate that row. If an index was not used to locate the row, by (for example) using the sp_lock() function, the entire table will be locked.

Using NOT in a WHERE clause or creating an index before data is loaded and not UPDATING STATISTICS can cause SQL Server to not use indexes.

If a non-clustered index is used to locate a row, the data page will be locked as well as the leaf-level index page used to locate the row, even if the value of the indexed column is not changed. If the row was located via clustered index, only the data page will be locked (unless the values of indexed columns are changed).


Modification Type:MinorLast Reviewed:3/2/2005
Keywords:kbinfo kbProgramming KB46170