Как получается, что страница может быть как намеренной (IS), так и намеренной (IX) - PullRequest
1 голос
/ 13 мая 2019

Я новичок в TSQL, все еще пытаюсь понять некоторые основные понятия:

Мой учебник дает пример: там три сессии (3 окна запроса, я буду именуйте их как Соединение 1, Соединение 2 и Соединение 3)

Запустите следующий код в Соединении 1, чтобы обновить строку в таблице Production.Products, добавив 1,00 к текущей цене за единицу 19,00 для продукта 2.

BEGIN TRAN;
 UPDATE Production.Products
 SET unitprice += 1.00
 WHERE productid = 2;

Запустите следующий код в Соединении 2, чтобы попытаться запросить ту же строку

SELECT productid, unitprice
FROM Production.Products 
WHERE productid = 2;

запрос динамического административного представления (DMV) sys.dm_tran_locks в Соединении 3.

SELECT -- use * to explore other available attributes
 request_session_id AS spid,
 resource_type AS restype,
 resource_database_id AS dbid,
 DB_NAME(resource_database_id) AS dbname,
 resource_description AS res,
 resource_associated_entity_id AS resid,
 request_mode AS mode,
 request_status AS status
FROM sys.dm_tran_locks;

и я получаю вывод:

enter image description here

мы видим, что spid 53 (второе окно запроса) заблокировано, и ждем, пока spid 52 (окно первого запроса) снимет блокировку. Но я не понимаю, почему страница (720 ... 440) может иметь как намеренную долю (IS), так и намеренную исключительность (IX)? что это значит?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...