Результат: Тупиковая ситуация – взаимное ожидание разблокировки.
Граф ожидания
Граф ожидания имеет цикл за счет того, что транзакция А является искусственно незавершенной и постоянно вступает в конфликт с транзакциями, пытающимися параллельно считать данные (транзакции В и С).
Замечание: Для корректного завершения смеси транзакций, независимо выполните команду rollbacktransaction в Query Analyzer.
4.3. Выполните те же действия, что и в п. 4.2, но с первоначально открытой таблицей в приложении СУБД Access, в которой до запуска транзакции в SQL Server выполнены (но не подтверждены) изменения. После выполнения процедуры del_zakaz без завершения (/*rollbacktransaction*/) вернитесь в СУБД Access и подтвердите сделанные изменения.
Проанализируйте наблюдаемый эффект, рассмотрев график запуска транзакций и граф ожидания.
График транзакций
Время |
SQL Server – QA (A) |
Access (B) |
SQL Server – QA (С) |
t1 |
X-locks Лас-Вегас ® P |
||
t2 |
wait |
||
t3 |
X-locks |
… |
|
t4 |
X-locks |
… |
|
t5 |
X-locks |
… |
S-locks |
t6 |
X-locks |
… |
wait |
t7 |
X-locks |
… |
… |
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.