Рефераты | Рефераты по информатике, программированию | Deadlocks | страница реферата 15 | Большая Энциклопедия Рефератов от А до Я
Большая Энциклопедия Рефератов от А до Я
  • Рефераты, курсовые, шпаргалки, сочинения, изложения
  • Дипломы, диссертации, решебники, рассказы, тезисы
  • Конспекты, отчеты, доклады, контрольные работы

  • Затем переключимся обратно в первое окно и завершим выполнение первой транзакции:

        UPDATE Tbl SET X = 6 WHERE X = 6

    COMMIT TRAN

    DBCC TRACEOFF(1200, 3604, -1)

    После этого произойдет мертвая блокировка, о чем сервер нам и сообщит.

    Переключимся опять в окно с T2 (надеюсь, эти скачки не слишком утомительны) и посмотрим, каков был порядок наложения блокировок в T2:

    Process 51 acquiring IX lock on TAB: 6:2034106287 [] (class bit2000000 ref1) result: OK

    Process 51 acquiring IU lock on PAG: 6:1:17495 (class bit0 ref1) result: OK

    Process 51 acquiring U lock on RID: 6:1:17495:0 (class bit0 ref1) result: OK

    Process 51 releasing lock on RID: 6:1:17495:0

    Process 51 acquiring U lock on RID: 6:1:17495:1 (class bit0 ref1) result: OK

    Process 51 acquiring IX lock on PAG: 6:1:17495 (class bit2000000 ref1) result: OK

    Process 51 acquiring X lock on RID: 6:1:17495:1 (class bit2000000 ref1) result: OK

    Process 51 acquiring U lock on RID: 6:1:17495:2 (class bit0 ref1) result: OK

    Process 51 releasing lock on RID: 6:1:17495:2

    Process 51 acquiring U lock on RID: 6:1:17495:3 (class bit0 ref1) result: OKWAIT

    Process 51 releasing lock on RID: 6:1:17495:3

    Process 51 acquiring U lock on RID: 6:1:17495:4 (class bit0 ref1) result: OK

    Process 51 releasing lock on RID: 6:1:17495:4

    ..........

    Начало такое же, как и в T1, что, в общем, закономерно: IX – на таблицу, IU – на страницу. Затем U на первую запись, чтобы затем прочитать и выяснить, подходит она нам или нет. Если не подходит, снимаем блокировку и переходим к следующей записи.

    Следующая запись подходит, и начинается тот же процесс, что и в первом запросе T1. Конвертируем блокировку на страницу в IX, на запись – в эксклюзивную (X), и производим обновление. Эта блокировка, как и в T1, не снимается. Опять же, поскольку сервер не знает, что он выбрал все записи, удовлетворяющие условию, указанному в WHERE, то он продолжает перебирать оставшиеся записи по очереди. Вот тут и начинаются отличия: Запись X = 4 (RID 6:1:17495:3) удерживается эксклюзивной блокировкой (X), наложенной T1, ведь T1 мы не зафиксировали. И как только T2 доберется до этой записи, то она будет вынуждена ждать на блокировке до тех пор, пока T1 не отменится или не зафиксируется, так как U и X блокировки не совместимы, что мы и наблюдаем:


    Рекомендуем скачать другие рефераты по теме: урок изложение, диплом разработка.



    Предыдущая страница реферата | 7  8  9  10  11  12  13  14  15  16  17 |




    Поделитесь этой записью или добавьте в закладки

       




    Категории:



    Разделы сайта




    •