sp_lock (języka Transact-SQL)

Raportuje informacje na temat blokady.

Ważna informacjaWażne:

Ta funkcja zostanie usunięta z przyszłej wersji programu Microsoft SQL Server. Należy unikać stosowania tej funkcji w nowych projektach oraz zaplanować modyfikację aplikacji, w których obecnie jest używana ta funkcja.Aby uzyskać informacje dotyczące blokad w Aparat baz danych programu SQL Server, użyj sys.dm_tran_locks dynamiczny widok zarządzania.

Ikona łącza do tematuJęzyka Transact-SQL składni konwencje

Składnia

sp_lock [ [ @spid1 = ] 'session ID1' ] [ , [@spid2 = ] 'session ID2' ]
[ ; ]

Argumenty

  • [ @ spid1 = ] 'session ID1"
    Jest Aparat baz danychidentyfikatorsesja (SPID w SQL Server 2000 i starszych) numeru z sys.dm_exec_sessions dla którego użytkownik chce blokowanie informacji.session ID1jest int o wartości domyślnej NULL.Wykonanie sp_who do uzyskiwania procesie informacji o sesja.Jeśli sesja ID nie jest określony, wyświetlane są informacje o wszystkich blokad.

  • [ @ spid2 = ] 'session ID2"
    Jest inny Aparat baz danychnumer IDsesja z sys.dm_exec_sessions , może być blokada w tym samym czas jako session ID1 i o której użytkownik chce też informacji.session ID2jest int o wartości domyślnej NULL.

Wartości kodów powrotnych

0 (sukces)

Zestawy wyników

Sp_lock zestaw wyników zawiera jeden wiersz dla każdego blokada nałożonej przez sesje określone w @ spid1 i @ spid2 parametry. Jeśli żadna @ spid1 ani @ spid2 jest określony, zestaw wyników raporty blokad dla wszystkich sesji są aktualnie aktywne w wystąpienie Aparat baz danych.

Nazwa kolumny

Typ danych

Opis

Identyfikator SPID

smallint

Aparat baz danychNumer IDsesja dla procesu żądanie blokada.

Identyfikator DBID

smallint

Numer identyfikacyjny bazy danych, w którym odbyła się blokada .DB_NAME() funkcja służy do identyfikowania bazy danych.

ObjId

int

Numer identyfikacyjny obiektu, na którym blokada jest używana.Za pomocą funkcja OBJECT_NAME() w bazie danych pokrewnych do identyfikacji obiektu.Wartość 99 jest szczególnym przypadek wskazuje blokada na jednej ze stron system używany do rejestrowania alokacji stron bazy danych.

IndId

smallint

Numer identyfikacyjny indeksu, w którym odbyła się blokada .

Typ

nchar(4)

Typu blokada :

RID = blokady w pojedynczym wierszu tabela okreolonej przez identyfikator wiersza (RID).

KLUCZ = blokady w indeks, który chroni zakres kluczy w transakcjach możliwy do serializacji.

PAG = blokady w danych lub na strona indeksu.

EXT = blokady w fragment.

TAB = blokady w całej tabela, włączając w to wszystkie dane i indeksy.

DB = blokady bazy danych.

FIL = blokady plik bazy danych.

Aplikacja = blokady z określonej aplikacji zasób.

MD = blokad metadanelub informacje o wykazie.

Elementy = Zablokuj sterty lub indeksu w drzewie B.Te informacje są niekompletne w SQL Server.

AU = blokady na jednostka alokacji.Te informacje są niekompletne w SQL Server.

Zasób

nchar(32)

Wartość identyfikacji zasób , który jest zablokowany.Format wartości zależy od typu zasób określonego w typu kolumna:

Typ wartość: Zasób wartości

RID: Identyfikator w fileid:pagenumber formacie: rid, gdzie identyfikator fileid identyfikuje plik zawierający stronapagenumber identyfikuje strona zawierającej wiersz i rid identyfikuje określony wiersz na strona.Identyfikator FileID odpowiada file_id kolumna w sys.database_files katalogu widoku.

KLUCZ: Liczba szesnastkowa używana wewnętrznie przez Aparat baz danych.

PAG: Numer w formacie fileid:pagenumber, gdzie identyfikator fileid identyfikuje plik zawierający stronai pagenumber identyfikuje strona.

EXT: Numer identyfikujący pierwszej strona w fragment.Numer jest w formacie fileid:pagenumber.

KARTA: Żadne informacje, dostarczone, ponieważ tabela jest już określone w ObjId kolumna.

DB: Nie informacje, ponieważ baza danych jest już określone w identyfikator dbid kolumna.

FILMJÖLK: Identyfikator pliku, który odpowiada file_id kolumna w sys.database_files katalogu widoku.

APLIKACJA: Identyfikator unikatowy aplikacji zasób jest zablokowany.W formacie DbPrincipleId:<dwa pierwsze 16 znaków zasób ciąg><mieszany wartość>.

MD: zależy od typu zasób .Aby uzyskać więcej informacji, zobacz opis resource_description kolumna w sys.dm_tran_locks (języka Transact-SQL).

ELEMENTY: Nie informacje.Użycie sys.dm_tran_locks dynamiczny widok zarządzania w zamian.

AKTUALIZACJE AUTOMATYCZNE: Nie informacje.Użycie sys.dm_tran_locks dynamiczny widok zarządzania w zamian.

Tryb

nvarchar(8)

Wymagany tryb blokada .Może być:

NULL = nie zostanie przyznany dostęp do zasób.Służy jako symbol zastępczy.

SCH-S = stabilności schematu.Zapewnia, że element schematu, takie jak tabela lub indeks, nie jest przenoszony podczas sesja przechowuje stabilności schemat blokada na element schematu.

SCH-M = modyfikacja schematu.Muszą być przechowywane przez każdą sesja chce zmienić schemat określonego zasób.Zapewnia, że innych sesji odwołuje się do wskazanego obiektu.

S = udostępnione.Gospodarstwa sesja udzielono dostępu do zasóbudostępnionych.

U = aktualizacji.Wskazuje aktualizację blokada , nabytych na zasoby, które ewentualnie mogą być aktualizowane.Używany w celu uniknięcia wspólny formularz zakleszczenie występuje, gdy wielu zasobów blokada sesji dla potencjalnych aktualizacji w późniejszym czas.

X = wyłączności.Gospodarstwa sesja jest przyznawana wyłącznego dostępu do zasób.

TO = intencji udostępnione.Zamiar wprowadzić blokad s wskazuje na niektóre podrzędne zasób w hierarchii blokada .

J.M. = konwersji aktualizacji.Określa zamiar wprowadzić blokad u niektóre podrzędne zasób w hierarchii blokada .

IX = z wyłączeniem konwersji.Określa zamiar wprowadzić x blokuje niektóre podrzędne zasób w hierarchii blokada .

SIU = udostępnionego aktualizacji konwersji.Wskazuje współdzielonego dostępu do zasób z zamiarem zdobycia blokad aktualizacji podrzędnego zasobów w hierarchii blokada .

SZEŚĆ = udostępnionego wyłączne konwersji.Wskazuje współdzielonego dostępu do zasób z zamiarem zdobycia wyłączne blokad zasobów podrzędny w hierarchii blokada .

UIX = wyłączne konwersji aktualizacji.Wskazuje wstrzymanie blokada aktualizacji zasób z zamiarem zdobycia wyłączne blokad zasobów podrzędny w hierarchii blokada .

BU = aktualizacji zbiorczej.Używany przez operacje zbiorcze.

RangeS_S = udostępniony klucz — zakres i zasobu udostępnionego blokada.Wskazuje serializować zakres skanowania.

RangeS_U = zasięgu klucz udostępniony i aktualizacji zasobów blokada.Wskazuje skanowania aktualizacji możliwy do serializacji.

RangeI_N = Wstaw zakres klucz i wartość Null zasobu blokada.Służy do testowania zakresów przed wstawieniem nowego klucz na indeks.

RangeI_S = Konwersja zakresu klucz blokada.Utworzony przez nakładanie blokowaniem s i RangeI_N.

RangeI_U = Konwersja zakresu klucz blokada utworzone przez nakładanie blokad RangeI_N i U.

RangeI_X = Konwersja zakresu klucz blokada utworzone przez nakładanie blokad RangeI_N i X.

RangeX_S = Konwersja zakresu klucz blokada utworzone przez nakładanie RangeI_N i RangeS_S.blokady.

RangeX_U = Konwersja zakresu klucz blokada utworzone przez nakładanie blokad RangeI_N i RangeS_U.

RangeX_X = wyłączne zakres klucza i zasobów wyłącznej blokada.Jest to konwersja blokada używane podczas aktualizowania klucz w zakres.

Stan

nvarchar(5)

Stan żądania blokada :

CNVRT: blokada zamieniany jest z innego trybu, ale konwersji jest zablokowany przez inny proces utrzymywanie blokada z trybem powodujące konflikt.

DOTACJI: Uzyskano blokada .

OCZEKIWANIA: blokada jest zablokowany przez inny proces utrzymywanie blokada z trybem powodujące konflikt.

Uwagi

Użytkowników można kontrolować blokowania operacji odczytu przez:

Aby uzyskać więcej informacji o typach blokady używane przez Aparat baz danych, zobacz Blokowanie w aparacie bazy danych.

Wszystkie transakcje rozproszone, nie jest skojarzony z sesja są oddzielone transakcji.Aparat baz danych Przypisuje wszystkie transakcje rozproszone oddzielony wartość SPID -2, który umożliwia łatwiejsze dla użytkownika w celu zidentyfikowania blokowania transakcji rozproszonych.Aby uzyskać więcej informacji, zobacz Używając zaznaczonych transakcji (modelu odzyskiwania pełny).

Uprawnienia

Wymaga uprawnień WYŚWIETL stan serwera.

Przykłady

A.Wyświetlanie listy wszystkich blokad

Poniższy przykład wyświetla informacje o wszystkich blokad aktualnie w wystąpienie Aparat baz danych.

USE master;
GO
EXEC sp_lock;
GO

B.Wyświetlanie listy blokada z procesu pojedynczego serwera

Poniższy przykład przedstawia informacje, w tym blokad o identyfikatorze 53.

USE master;
GO
EXEC sp_lock 53;
GO