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

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

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

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

Замечание: Для корректного завершения смеси транзакций, независимо выполните команду rollbacktransaction в Query Analyzer.

(5)

Задание для самостоятельной работы

Реализовать взаимную работу трех транзакций, кратко описать результат, построить графики их выполнения, графы предшествования и графы ожидания (в графе будет три вершины).

5.1. Используя созданное соединение Access и SQL Server открыть три приложения

·  Query Analyzer (QA)

·  Access 1

·  Access 2

Использовать текст хранимой процедуры описанной в разделе № 4.2 для модификации данных. В двух приложениях СУБД Access присоединить таблицу out_zakaz. Выполнить следующие последовательности действий и построить графики и графы (предшествования и ожидания) совместной работы транзакций:

Задание 1.

Закрываем таблицы в Access 1 и Access 2.

Запускаем процедуру out_zakaz с незавершенной транзакцией (без rollback transaction).

a)  В Access 1 пытаемся открыть для просмотра (чтения) таблицу out_zakaz.

b)  В Access 2 пытаемся открыть для просмотра (чтения) таблицу out_zakaz.

c)  Наблюдаем результат в приложениях Access 1 и Access 2.

Если зависание долгое время не отменяется нужно вернуться в QA и отдельно запустить команду rollback transaction.

Задание 2.

Открываем таблицу в Access 1 и закрываем в Access 2.

Запускаем процедуру out_zakaz с незавершенной транзакцией (без rollback transaction).