Образовательный портал Claw.ru
Всё для учебы, работы и отдыха
» Шпаргалки, рефераты, курсовые
» Сочинения и изложения
» Конспекты и лекции
» Энциклопедии

Теперь в первой сессии выполним обновление записи:

--SET IMPLICIT_TRANSACTIONS on

update test set n = 'other' where i = 2

--rollback

А во второй – запрос:

--SET IMPLICIT_TRANSACTIONS on

--select * from test with (readpast)

select * from test with (xlock) where i = 1

--rollback

Чтобы увидеть блокировки второй сессии, я поставил хинт xlock. Запрос не заблокируется, давайте посмотрим содержимое syslockinfo (таблица 16).

spid

dbid

ObjId

IndId

Type

Resource

Mode

Status

55

8

1993058136

0

RID

1:31:00

X

GRANT

55

8

1993058136

0

PAG

1:31

IX

GRANT

54

8

1993058136

0

PAG

1:31

IX

GRANT

55

8

1993058136

3

PAG

1:29

IX

GRANT

55

8

1993058136

0

TAB

IX

GRANT

54

8

1993058136

0

TAB

IX

GRANT

54

8

1993058136

0

RID

1:31:01

X

GRANT

55

8

1993058136

3

KEY

(21001d31a802)

X

GRANT

Как видим, первая сессия наложила монопольную блокировку на первую строку 1:31:01, а вторая – на нулевую 1:31:00. Кроме этого, вторая сессия наложила монопольную блокировку на ключ (последняя строка) и монопольную блокировку намерений на страницу, где располагается индекс (1:29).

Чтобы действительно убедиться, что индекс создан именно на этой странице, нужно выполнить очередную недокументированную команду:

extentinfo [('database_name' [, 'table_name' [, 'index_name' ]])]

dbid – идентификатор базы данных; dbname – название базы данных;

table_id – идентификатор таблицы; table_name – название таблицы;

index_id – идентификатор индекса; index_name – название индекса.

ПРИМЕЧАНИЕ

Для получения полного списка команд DBCC (Database Console Commands) можно воспользоваться такой командой:

dbcc traceon (2520)

dbcc help('?')

dbcc traceoff (2520)

Чтобы получить синтаксис конкретной команды, например, page, выполните такую последовательность:

dbcc traceon (2520)

dbcc help('page')

dbcc traceoff (2520)

В нашем случае следующий набор команд покажет все страницы таблицы test:

dbcc traceon (3604)

dbcc extentinfo(8,'test')

dbcc traceoff (3604)


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


Категории:




Предыдущая страница реферата | 32  33  34  35  36  37  38  39  40  41  42 |


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

   



Рефераты от А до Я