Результат: Изменение данных внесены транзакцией A.
Граф ожидания
Граф ожидания не имеет циклов и, следовательно, график выполнения транзакций является сериализуемым (правильным).
4.2. Закройте присоединенную таблицу в СУБД Access. Создайте хранимую процедуру (см. л.р. № 2) реализующую следующую транзакцию:
CREATE PROCEDURE del_zakaz
AS
begin transaction T1
delete out_zakaz where (условие, определяющее удаление строк)
rollback transaction
select * from out_zakaz
Отладив команды, выполните процедуру (EXEC del_zakaz) закоментировав команду rollback transaction (/*rollback transaction*/).
Перейдите в СУБД Access и попытайтесь открыть присоединенную таблицу.
Перейдите в СУБД SQL Server и выполните запрос SELECT * FROM out_zakaz.
Проанализируйте наблюдаемый эффект, рассмотрев график запуска транзакций и граф ожидания.
График транзакций
Время |
SQL Server – QA (A) |
Access (B) |
SQL Server – QA (С) |
t1 |
X-locks Лас-Вегас ® P |
||
t2 |
X-locks |
||
t3 |
X-locks |
S-locks |
|
t4 |
X-locks |
wait |
|
t5 |
X-locks |
… |
S-locks |
t6 |
X-locks |
… |
wait |
t7 |
X-locks |
… |
… |
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.