Я новичок в 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;
и я получаю вывод:
мы видим, что spid 53 (второе окно запроса) заблокировано, и ждем, пока spid 52 (окно первого запроса) снимет блокировку. Но я не понимаю, почему страница (720 ... 440) может иметь как намеренную долю (IS), так и намеренную исключительность (IX)? что это значит?