Автор примет эксклюзивную блокировку X
по крайней мере для строки (ей), которую он изменяет, и будет удерживать ее до тех пор, пока транзакция не будет зафиксирована.Блокировки X
несовместимы с другими блокировками X
, поэтому два устройства записи не могут одновременно изменять одну и ту же строку.
Считыватель (при уровне чтения по умолчанию с фиксацией на чтение) принимает общую блокировку и снимает ее, как толькоданные читаются.Это несовместимо с блокировкой X
, поэтому читатели должны дождаться завершения транзакций записи, прежде чем читать измененные данные.SQL Server также имеет изоляцию моментального снимка , в которой средства чтения не блокируются авторами, а вместо этого читают более раннюю версию строки.