Rozdrobnienie blokady i hierarchii

The Microsoft Aparat baz danych programu SQL Server has multigranular locking that allows different types of resources to be locked by a transaction.Aby zminimalizować koszty blokowania, Aparat baz danych blokad zasobów automatycznie poziom odpowiednim do zadań.Blokowanie w mniejszych ziarnistość, takich jak wiersze, zwiększa współbieżność, ale ma wyższe koszty, ponieważ więcej blokad muszą się odbyć, jeżeli wiele wierszy są zablokowane.Blokowanie w większej ziarnistość, takich jak tabele, są drogie w zakresie współbieżność, ponieważ blokowanie całej tabela ogranicza dostęp do dowolnej części tabela przez inne transakcje.Ma jednak mniejszym obciążeniu ponieważ mniej blokady są właściwie utrzymywane.

Aparat baz danych Często ma uzyskać blokady na wielu poziomach ziarnistość do zapewnienia pełnej ochrony zasób.Ta grupa blokada na wielu poziomach ziarnistość jest nazywany hierarchii blokada.Na przykład w celu zapewnienia pełnej ochrony odczytu indeksu wystąpienie Aparat baz danych może być uzyskanie blokady udziału w wierszach i blokad udostępnienie zamierzone na stronach i tabela.

W poniższej tabela przedstawiono zasoby Aparat baz danych można blokada.

Zasób

Opis

RID

Identyfikator wiersza, używane do blokada jednego wiersza w sterty.

KLUCZ

A blokada wiersza w ramach indeksu używany do ochrony klucz zakresów w transakcjach możliwy do serializacji.

STRONY

8 Kilobajtów (KB) strona w bazie danych, takich jak strona danych lub indeks.

ZAKRES

Ciągłe grupy ośmiu stron, takich jak strony danych lub indeks.

HoBT

Sterty lub B-drzewo.A blokada ochrony B-drzewo (indeks) lub stron sterty danych w tabela, która nie ma indeks klastrowany.

TABELA

Całą tabela, włączając w to wszystkie dane i indeksy.

PLIK

Plik bazy danych.

APLIKACJA

Zasób określonej aplikacji.

METADANE

Blokady metadanych.

ALLOCATION_UNIT

jednostka alokacji.

BAZY DANYCH

Cała baza danych.

Ostrzeżenie

HoBT i tabel blokad mogą mieć wpływ opcji LOCK_ESCALATION ALTER TABLE.