GRANT
|
55
|
8
|
0
|
0
|
DB
|
|
S
|
GRANT
|
55
|
8
|
1993058136
|
0
|
PAG
|
1:29
|
IX
|
GRANT
|
55
|
8
|
1993058136
|
0
|
TAB
|
|
IX
|
GRANT
|
55
|
8
|
1993058136
|
0
|
RID
|
1:29:03
|
X
|
GRANT
|
Как видно, предыдущие блокировки остались (еще бы! мы
же не зафиксировали транзакцию), и добавились четыре новых: одна блокировка
базы, не имеющая никакого значения, две блокировки намерений (на таблицу и
страницу) и монопольная блокировка на новую строку (идентификатор 1:29:03).
Пока все более-менее ясно. Однако если выполнить в
первой сессии обновление данных, ради которых, собственно, и была наложена
блокировка обновления, ничего не выйдет! При выполнении следующей команды
сессия заблокируется:
--begin
tran select * from test with (updlock)
update
test set n = 'other1' where i = 1
|
Если посмотреть на содержимое таблицы syslockinfo с
помощью хранимой процедуры sp_lock, можно увидеть, что добавилась еще одна
строка (таблица 6).