我创建了以下TSQL:
begin transaction
update person.Address set addressline2 = 'The Town' where addressid=1
WAITFOR DELAY '0:00:010'
commit
在十秒延迟期间,您无法在另一个SQL Studio管理器中运行此SQL语句:
SELECT * FROM Person.Address
或者这个:
SELECT * FROM Person.Address where addressid=1
但你可以运行这个:
SELECT * FROM Person.Address where addressid<>1
SQL Studio Manager是否选择锁定类型?我不相信它会这样做:
SELECT * FROM Person.Address其中addressid = 1 nolock
我已阅读此网页:&gt; http://msdn.microsoft.com/en-us/library/ms175519%28v=sql.105%29.aspx,但我仍不清楚。
答案 0 :(得分:1)
提示NoLock还表示“Read Uncommitted”仅适用于select语句。因此,它还允许您查询未提交的数据。请查找文档Here,其中没有提示,引擎将不允许您读取未提交的数据。