Результат: Тупиковая ситуация – взаимное ожидание разблокировки.
Граф ожидания
граф ожидания также имеет цикл за счет того, что транзакция А и В являются искусственно незавершенными и постоянно вступают в конфликт с транзакциями, пытающимися параллельно считать данные.
Замечание: Для корректного завершения смеси транзакций, независимо выполните команду 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).
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.