SQL Server更新一行阻止

时间:2015-05-09 16:53:12

标签: sql sql-server

我使用SQL Server并拥有简单的表:

Person (ID bigint, Name nvarchar(255))

它包含1000行(例如)。我正在使用这个SQL查询:

Update Person
Set Name = 'Jason' 
Where Id = 100

我想了解SQL Server如何进行读/写锁定。它会阻塞一行(我正在更新)还是会阻止所有Person表?

如果我使用查询,情况是否会改变?

Update Person
Set Name = 'Jason' 
Where Name = 'Piter'

1 个答案:

答案 0 :(得分:2)

我建议你阅读SQL Server Transaction Locking and Row Versioning Guide

通常,您的查询将对更新的行进行更新锁定,除非服务器决定它应使用lock escalation并锁定页面或表/索引。