Параллельная обработка транзакций, страница 6

Результат: Тупиковая ситуация – взаимное ожидание разблокировки.

Граф ожидания

Граф ожидания имеет цикл за счет того, что транзакция А является искусственно незавершенной и постоянно вступает в конфликт с транзакциями, пытающимися параллельно считать данные (транзакции В и С).

Замечание: Для корректного завершения смеси транзакций, независимо выполните команду 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