sp_lock (języka Transact-SQL)
Raportuje informacje na temat blokady.
Waż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. |
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:
Określ poziom blokowania dla sesjaza pomocą USTAWIĆ poziom izolacji transakcji.Składnia i ograniczenia, zobacz Ustaw poziom izolacji transakcji (Transact-SQL).
Przy użyciu blokowania wskazówek tabela , aby określić poziom blokowania dla indywidualnej referencyjnej tabela w klauzulaFROM.Składnia i ograniczenia, zobacz Wskazówki tabel (Transact-SQL).
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