sp_lock (Transact-SQL)
sp_syscollector_start_collection_set
Important 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. |
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
Numer identyfikacyjny obiektu, na którym jest przechowywana blokada.Opis składni i ograniczeń zobacz SET TRANSACTION ISOLATION LEVEL (Transact-SQL).
Wartość równą 99 jest szczególnym przypadkiem wskazuje blokada na jednej ze stron system używany do rejestrowania podział stron w bazie danych.Opis składni i ograniczeń zobacz Wskazówki do tabela (języka Transact-SQL).
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