Udostępnij za pośrednictwem


sp_lock (Transact-SQL)

sp_syscollector_start_collection_set

Important noteImportant Note:

This feature will be removed in a future version of Microsoft SQL Server. Avoid using this feature in new development work, and plan to modify applications that currently use this feature. Aby uzyskać informacje dotyczące blokad w SQL Server Database Engine, należy użyć sys.dm_tran_locks dynamicznego zarządzania widoku.

Topic link iconKonwencje składni języka Transact-SQL

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

Argumenty

  • [ @spid1 = ] 'session ID1'
    Is a Database Engine session ID (SPID in SQL Server 2000 and earlier) number from sys.dm_exec_sessions for which the user wants locking information.session ID1 is int with a default value of NULL.wykonać sp_who uzyskanie procesu informacji o sesja.Jeśli Sesja ID1 nie jest określony, wyświetlane są informacje o wszystkich blokad.

  • [ @spid2 = ] 'session ID2'
    Is another Database Engine session ID number from sys.dm_exec_sessions that might have a lock at the same time as session ID1 and about which the user also wants information.session ID2 is int with a default value of NULL.

Wartości kodów powrotnych

sp_syscollector_update_collection_set

Zestawy wyników

The sp_lock result zestaw contains one row for each blokada held by the sessions specified in the @spid1 and @spid2 parameters.Jeśli żadna @ spid1 nor @ spid2 jest określony, zestaw wyników raportów blokad dla wszystkich sesji aktywnych w wystąpieniu Database Engine.

Nazwa kolumna

Typ danych

Description

SPID

smallint

The Database Engine sesja ID number for the process requesting the blokada.

DBID

smallint

sp_syscollector_upload_collection_setNastępujące procedury przechowywane są tylko do użytku wewnętrznego:

ObjId

int

sp_syscollector_set_warehouse_connection_passwordsp_syscollector_set_warehouse_connection_usersp_syscollector_event_oncollectionbegin

IndId

smallint

sp_syscollector_event_onpackagebegin

Typ

nchar(4)

sp_syscollector_event_onpackageend

sp_syscollector_event_onpackageupdate

sp_syscollector_event_onerror

sp_syscollector_event_onstatsupdate

MONTH (języka Transact-SQL)

TAB = Blokada całej tabeli, w tym wszystkich danych i indeksów.

DB = Blokada bazy danych.

FIL = Blokada pliku bazy danych.

APP = Blokada zasobu określonego przez aplikację.

Jest to numer miesiąca.

HBT = Blokada stosu lub indeksu B-drzewa.W programie SQL Server ta informacja jest niekompletna.

Za pomocą CREATE funkcja partycji jest pierwszym krokiem w tworzeniu tabela partycjonowana lub indeks.Te informacje są niekompletne w SQL Server.

Zasób

nchar(32)

Jest nazwą funkcja partycji.Nazwy funkcja partycji musi być unikatowa w bazie danych i są zgodne z zasadami identyfikatory .

Typ wartość: Zasób wartość

Kolumny rzeczywistych, znane jako partycjonowanie kolumna, jest określona w instrukcja CREATE tabela lub CREATE INDEX. An identifier in the format fileid:pagenumber:rid, where fileid identifies the file containing the page, pagenumber identifies the page containing the row, and rid identifies the specific row on the page.fileid matches the file_id column in the sys.database_files catalog view.

KEY: Liczba szesnastkowa używana wewnętrznie przez program Database Engine.

PAG: Obejmuje to zmienne typ zdefiniowany przez użytkownika lub funkcji i funkcji zdefiniowanych przez użytkownika.

EXT: Liczba identyfikująca pierwszą stronę w zakresie.Jest ona w formacie identyfikatorpliku:numerstrony.

TAB: Atrybut niewypełniany, ponieważ identyfikator tabeli jest już podany w kolumnie ObjId.

DB: Atrybut niewypełniany, ponieważ identyfikator bazy danych jest już podany w kolumnie dbid.

Wartości nie muszą być wymienione w kolejności. Identyfikator pliku, który odpowiada file_id kolumnasys.database_files Służy do wyświetlania katalogu.

APP: Identyfikator unikatowy dla blokowanego zasobu aplikacji.W formacie IdentyfikatorZasadyBazyDanych:<2-16 pierwszych znaków ciągu zasobu><wartość skrócona>.

MD: Zakres funkcja partycji jest ograniczona do bazy danych, która została utworzona.Aby uzyskać więcej informacji, zobacz opis resource_description kolumnasys.dm_tran_locks (języka Transact-SQL).

HBT: W takim przypadek partycja najbliżej lewej jest pustą partycję, a wartości NULL są umieszczane w następującej partycji.Użycie sys.dm_tran_locks dynamicznego zarządzania zamiast służy do wyświetlania.

AU: W takim przypadek partycja najbliżej lewej jest pustą partycję, a wartości NULL są umieszczane w następującej partycji.Użycie sys.dm_tran_locks dynamicznego zarządzania zamiast służy do wyświetlania.

Tryb

nvarchar(8)

Uprawnienie Kontrola lub ALTER do bazy danych, w którym tworzony jest funkcja partycji.Może być:

CONTROL SERVER lub ALTER DATABASE bez uprawnień na serwerze bazy danych, w którym tworzony jest funkcja partycji.Tworzenie funkcja lewy zakres partycji na int kolumna

Sch-S = Stabilność schematu.Gwarantuje, że element schematu, np. tabela lub indeks, nie zostanie usunięty, gdy którakolwiek sesja nałoży na niego blokadę stabilności schematu.

Sch-M = Modyfikacja schematu.Musi być nałożona przez każdą sesję, która chce zmodyfikować schemat danego zasobu.Daje gwarancję, że w tym czasie do modyfikowanego obiektu nie odwołują się żadne inne sesje.

S = Współdzielona.Sesja, która nałożyła blokadę, otrzymuje współdzielony dostęp do zasobu.

U = Aktualizacja.Wskazuje nałożenie na zasób blokady w celu jego zaktualizowania.Ma na celu zapobieżenie typowemu zakleszczeniu powstającemu w sytuacji, gdy kilka sesji blokuje zasoby z ewentualnym zamiarem ich zaktualizowania w późniejszym czasie.

X = Wyłączność.Sesja, która nałożyła blokadę, otrzymuje wyłączny dostęp do zasobu.

IS = Zamiar współdzielenia.Oznacza zamiar nałożenia blokady S na pewien zasób podrzędny w hierarchii blokowania.

IU = Zamiar aktualizacji.Oznacza zamiar nałożenia blokady U na pewien zasób podrzędny w hierarchii blokowania.

Tworzenie funkcja partycji kolumn charPoniższa funkcja partycja partycje tabela lub indeks do czterech partycji.

SIU = Współdzielenie z zamiarem aktualizacji.Oznacza współdzielony dostęp do zasobu z zamiarem nałożenia blokad aktualizacyjnych na podrzędne zasoby w hierarchii blokowania.

SIX = Współdzielenie z zamiarem wyłączności.Oznacza współdzielony dostęp do zasobu z zamiarem nałożenia blokad wyłącznościowych na podrzędne zasoby w hierarchii blokowania.

UIX = Aktualizacja z zamiarem wyłączności.Oznacza posiadanie blokady aktualizacyjnej zasobu z zamiarem nałożenia blokad wyłącznościowych na podrzędne zasoby w hierarchii blokowania.

filegroup_guidIdentyfikator GUID dla grupa plików,.

Wartość NULL = PRIMARY grupa plikówlog_filegroup_id

RangeS_U = Współdzielona blokada klucz-zakres oraz blokada aktualizacyjna zasobu.Oznacza skanowanie aktualizacyjne dające się szeregować.

0 = Grupa plików jest w trybie do odczytu/zapisu.Dodaje dwie liczby i ustawia wartość na wynik operacji.

sp_lock (języka Transact-SQL)Raportuje informacje na temat blokady.

RangeI_U = Blokada konwersyjna klucz-zakres utworzona przez nałożenie się na siebie blokad RangeI_N i U.

RangeI_X = Blokada konwersyjna klucz-zakres utworzona przez nałożenie się na siebie blokad RangeI_N i X.

RangeX_S = Key-Range Conversion lock created by an overlap of RangeI_N and RangeS_S.locks.

RangeX_U = Blokada konwersyjna klucz-zakres utworzona przez nałożenie się na siebie blokad RangeI_N i RangeS_U.

RangeX_X = Wyłącznościowa blokada klucz-zakres oraz blokada wyłącznościowa zasobu.Jest to blokada konwersyjna używana podczas aktualizowania klucza w zakresie.

Stan

nvarchar(5)

Status żądania nałożenia blokady:

CNVRT: Blokada jest konwertowana z innego trybu, ale konwersja została zablokowana przez inny proces nakładający blokadę o trybie powodującym wystąpienie konfliktu.

GRANT: Blokada została nałożona.

Numer identyfikacyjny bazy danych, w którym jest przechowywana blokada. Funkcja DB_NAME() służy do identyfikowania bazy danych.

Remarks

ObjId

Aby uzyskać więcej informacji na temat typów blokady używane przez Database Engine, zobacz Blokowanie w aparat bazy danych.

Numer identyfikacyjny indeksu, na którym jest przechowywana blokada.The Database Engine assigns all orphaned distributed transactions the SPID value of -2, which makes it easier for a user to identify blocking distributed transactions.Aby uzyskać więcej informacji zobaczUsing Marked Transactions (Full Recovery Model).

Uprawnienia

d — tylko data

Przykłady

A.RID = blokada o jeden wiersz w tabela, identyfikowane przez identyfikator wiersza (RID).

Poniższy przykład wyświetla informacje o wszystkich blokad aktualnie przechowywanych w wystąpieniu Database Engine.

USE master;
GO
EXEC sp_lock;
GO

B.PAG = blokada strona danych lub indeksu.

Poniższy przykład wyświetla informacje, w tym blokady, informacje o identyfikator procesu 53.

USE master;
GO
EXEC sp_lock 53;
GO