Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
Magazyn w usłudze Microsoft Fabric
Baza danych SQL w usłudze Microsoft Fabric
Zwraca informacje o obecnie aktywnych zasobach menedżera zamków w SQL Server. Każdy wiersz reprezentuje aktualnie aktywne żądanie do menedżera zamków dotyczące blokady, która została przyznana lub czeka na jej przyznanie.
Kolumny w zestawie wyników dzielą się na dwie główne grupy: zasoby i żądanie. Grupa zasobów opisuje zasób, na którym wykonywane jest żądanie blokady, a grupa żądań opisuje żądanie blokady.
Uwaga / Notatka
Aby wywołać to z usługi Azure Synapse Analytics lub Analytics Platform System (PDW), użyj nazwy sys.dm_pdw_nodes_tran_locks. Ta składnia nie jest obsługiwana przez bezserwerową pulę SQL w usłudze Azure Synapse Analytics.
| Nazwa kolumny | Typ danych | Description |
|---|---|---|
resource_type |
nvarchar(60) | Reprezentuje typ zasobu. Wartość ta może wynosić: DATABASE PLIK OBJECT PAGE KLUCZ ROZCIĄGŁOŚĆ RID (ID wiersza) APLIKACJA METADANE HOBT (Heap lub B-tree) ALLOCATION_UNIT XACT (Transakcja) OIB (Internetowy build indeksu) ROW_GROUP |
resource_subtype |
nvarchar(60) | Reprezentuje podtyp .resource_type Uzyskanie blokady podtypu bez posiadania blokady typu nadrzędnego bez podtypu jest technicznie prawidłowe. Różne podtypy nie konfliktują ze sobą ani z typem nadarczym niepodtypowanym. Nie wszystkie typy zasobów mają podtypy. |
resource_database_id |
int | ID bazy danych, w ramach której ten zasób jest objęty. Wszystkie zasoby obsługiwane przez menedżera zamków są określane przez ID bazy danych. |
resource_description |
nvarchar(256) | Opis zasobu zawierającego wyłącznie informacje niedostępne w innych kolumnach zasobów. |
resource_associated_entity_id |
bigint | Identyfikator jednostki w bazie danych, z którą powiązany jest zasób. Może to być ID obiektu, ID HOBT lub ID jednostki alokacyjnej, w zależności od typu zasobu. |
resource_lock_partition |
Int | ID partycji blokady dla zasobu zamka partycjonowanego. Wartość dla zasobów zamka niepartycjonowanych wynosi .0 |
request_mode |
nvarchar(60) | Tryb prośby. W przypadku spełnionych próśb jest to tryb przyznania; W przypadku żądań oczekiwania jest to tryb, który jest wymagany. NULL = Brak dostępu do zasobu. Służy jako tymczasowa opcja. Sch-S (Stabilność schematu) = Zapewnia, że element schematu, taki jak tabela czy indeks, nie zostanie usunięty, podczas gdy każda sesja posiada blokadę stabilności schematu na tym elemencie. Sch-M (modyfikacja schematu) = Musi być posiadany przez każdą sesję, która chce zmienić schemat określonego zasobu. Zapewnia, że żadna inna sesja nie odwołuje się do wskazanego obiektu. S (Współdzielony) = Sesja holdingowa otrzymuje współdzielony dostęp do zasobu. U (Update) = Oznacza blokadę aktualizacji nabytą na zasobach, które mogą zostać ostatecznie zaktualizowane. Służy do zapobiegania powszechnemu zakleszczeniu, które występuje, gdy wiele sesji blokuje zasoby na ewentualne aktualizacje w przyszłości. X (Wyłącznie) = Sesja holdingowa otrzymuje wyłączny dostęp do zasobu. IS (Intent Shared) = Oznacza zamiar nałożenia blokad S na jakiś podrzędny zasób w hierarchii zamków. IU (Intent Update) = Oznacza zamiar nałożenia blokad U na jakiś podrzędny zasób w hierarchii blokad. IX (Intent Exclusive) = Oznacza zamiar nałożenia X blokad na jakiś podrzędny zasób w hierarchii zamków. SIU (Shared Intent Update) = Oznacza współdzielony dostęp do zasobu z zamiarem uzyskania blokad aktualizacji na podrzędnych zasobach w hierarchii blokad. SIX (Shared Intent Exclusive) = Oznacza współdzielony dostęp do zasobu z zamiarem nabycia wyłącznych blokad na podrzędnych zasobach w hierarchii zamków. UIX (Update Intent Exclusive) = Oznacza blokadę aktualizacji na zasobie z zamiarem nabycia wyłącznych blokad na podrzędnych zasobach w hierarchii blokad. BU = Wykorzystywane przez operacje masowe. RangeS_S (Shared Key-Range i Shared Resource lock) = Wskazuje na serializowalne skanowanie zakresu. RangeS_U (Współdzielony Key-Range i blokada zasobów aktualizacji) = Wskazuje na serializowalne skanowanie aktualizacji. RangeI_N (Wstaw Key-Range i blokadę zasobu zerowego) = Używany do testowania zakresów przed wstawieniem nowego klucza do indeksu. RangeI_S = Key-Range Blokada konwersji, utworzona przez nakładanie się zamków RangeI_N i S. RangeI_U = Key-Range Blokada konwersji, utworzona przez nakładanie się blokad RangeI_N i U. RangeI_X = Key-Range Blokada konwersji, utworzona przez nakładanie się zamków RangeI_N i X. RangeX_S = Key-Range Blokada konwersji, utworzona przez nakładanie się RangeI_N i RangeS_S. Blokad. RangeX_U = Key-Range Zamek konwersyjny, utworzony przez nakładanie się zamków RangeI_N i RangeS_U. RangeX_X (Wyłączny Key-Range i Wyłączny Zamek Zasobów) = Jest to zamek konwersji używany podczas aktualizacji klucza w danym zakresie. |
request_type |
nvarchar(60) | Typ żądania. Wartość to LOCK. |
request_status |
nvarchar(60) | Aktualny status tej prośby. Możliwe wartości to GRANTED, CONVERT, WAIT, LOW_PRIORITY_CONVERT, LOW_PRIORITY_WAIT lub ABORT_BLOCKERS. Więcej informacji o niskich priorytetach oczekiwania i blokerach przerwania można znaleźć w sekcji low_priority_lock_waitALTER INDEX (Transact-SQL). |
request_reference_count |
smallint | Zwraca przybliżoną liczbę razy, ile ten sam żądający zażądał tego zasobu. |
request_lifetime |
int | Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana. |
request_session_id |
int |
session_id Obecnie to właściciel tej prośby. Własność session_id może się zmieniać w przypadku transakcji rozproszonych i związanych. Wartość oznacza -2 , że żądanie należy do osieroconej transakcji rozproszonej. Wartość oznacza -3 , że żądanie należy do transakcji odroczonego odzyskania, na przykład transakcji, dla której cofnięcie zostało odroczone przy odzyskaniu, ponieważ cofnięcie nie mogło zostać pomyślnie zakończone. |
request_exec_context_id |
int | Identyfikator kontekstu wykonania procesu, który obecnie jest właścicielem tego żądania. |
request_request_id |
int |
request_id (batch ID) procesu, który obecnie jest właścicielem tego żądania. Ta wartość zmienia się za każdym razem, gdy aktywne połączenie Multiple Active Result Set (MARS) dla transakcji się zmienia. |
request_owner_type |
nvarchar(60) | Typ podmiotu, który jest właścicielem żądania. Żądania menedżera zamków mogą być własnością różnych podmiotów. Dopuszczalne wartości: TRANSAKCJA = Żądanie należy do transakcji. KURSOR = Żądanie należy do kursora. SESSION = Żądanie należy do sesji użytkownika. SHARED_TRANSACTION_WORKSPACE = Żądanie należy do współdzielonej części przestrzeni roboczej transakcji. EXCLUSIVE_TRANSACTION_WORKSPACE = Żądanie należy do wyłącznej części przestrzeni roboczej transakcji. NOTIFICATION_OBJECT = Żądanie jest własnością wewnętrznego komponentu SQL Server. Ten komponent poprosił menedżera blokad o powiadomienie, gdy inny komponent czeka na przyjęcie zamka. Funkcja FileTable to komponent, który wykorzystuje tę wartość. Nuta: Przestrzenie pracy są wykorzystywane wewnętrznie do przechowywania zamków podczas sesji z żołnierzami. |
request_owner_id |
bigint | Identyfikacja konkretnego właściciela tego zgłoszenia. Gdy transakcja jest właścicielem żądania, ta wartość zawiera identyfikator transakcji. Gdy FileTable jest właścicielem żądania, request_owner_id ma jedną z następujących wartości:
|
request_owner_guid |
uniqueidentifier | GUID konkretnego właściciela tego wniosku. Ta wartość jest używana tylko w transakcji rozproszonej, gdzie odpowiada MS DTC GUID dla tej transakcji. |
request_owner_lockspace_id |
nvarchar(32) | Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana. Ta wartość reprezentuje identyfikator lockspace osoby żądającej. ID lockspace określa, czy dwa wnioskodawcy są ze sobą kompatybilne i mogą otrzymać blokady w trybach, które w innym przypadku kolidowałyby ze sobą. |
lock_owner_address |
varbinary(8) | Adres pamięci wewnętrznej struktury danych, która służy do śledzenia tego żądania. Ta kolumna może być połączona z kolumną z .resource_addresssys.dm_os_waiting_tasks |
pdw_node_id |
int |
Dotyczy do: Azure Synapse Analytics, Analytics Platform System (PDW) Identyfikator węzła, w ramach którego znajduje się ta dystrybucja. |
Permissions
W programie SQL Server i usłudze SQL Managed Instance wymagane jest VIEW SERVER STATE uprawnienie.
W przypadku celów usługi SQL Database Basic, S0 i S1 oraz baz danych w elastycznych pulach wymagane jest konto administratora serwera , konto administratora firmy Microsoft Entra lub członkostwo w ##MS_ServerStateReader##roli serwera . We wszystkich innych celach usługi SQL Database wymagane VIEW DATABASE STATE jest uprawnienie do bazy danych lub członkostwo w ##MS_ServerStateReader## roli serwera.
Uprawnienia dla programu SQL Server 2022 i nowszych
Wymaga uprawnienia WYŚWIETL STAN WYDAJNOŚCI SERWERA na serwerze.
Uwagi
Status przyznanego żądania oznacza, że żądającemu została przyznana blokada na zasob. Żądanie oczekujące oznacza, że nie zostało ono jeszcze zatwierdzone. Kolumna request_status zwraca następujące typy żądań oczekiwania:
Status żądania konwersji oznacza, że wnioskujący już otrzymał żądanie dla zasobu i obecnie czeka na przyzwolenie na aktualizację początkowego żądania.
Status żądania oczekiwania oznacza, że wnioskodawca nie posiada obecnie przyznanego żądania na tym zasobie.
Ponieważ sys.dm_tran_locks są one wypełniane z wewnętrznych struktur zarządzania blokadami, utrzymanie tych informacji nie dodaje dodatkowego narzutu w regularnym przetwarzaniu. Materializacja widoku wymaga dostępu do wewnętrznych struktur danych menedżera zamków. Może to mieć niewielki wpływ na regularne przetwarzanie na serwerze. Te efekty powinny być niezauważalne i dotyczyć tylko mocno zużywanych zasobów. Ponieważ dane w tym widoku odpowiadają stanowi menedżera blokad na żywo, mogą się one zmieniać w dowolnym momencie, a wiersze są dodawane i usuwane w miarę pozyskiwania i zwalniania blokad. Aplikacje zapytujące ten widok mogą doświadczać nieprzewidywalnej wydajności ze względu na ochronę integralności struktur menedżera zamków. Ten pogląd nie zawiera żadnych informacji historycznych.
Dwa żądania działają na tym samym zasobu tylko wtedy, gdy wszystkie kolumny grupy zasobów są równe.
Możesz kontrolować blokadę operacji odczytu, korzystając z następujących narzędzi:
USTAW POZIOM IZOLACJI TRANSAKCJI, aby określić poziom blokady dla sesji. Aby uzyskać więcej informacji, zobacz SET TRANSACTION ISOLATION LEVEL (Transact-SQL).
Tabela blokująca podpowiada, aby określić poziom blokowania dla pojedynczego odwołania tabeli w klauzuli FROM. Składnia i ograniczenia znajdują się w sekcji Table Hints (Transact-SQL).
Zasób działający pod jednym z nich session_id może mieć więcej niż jedną przyznaną blokadę. Różne podmioty działające w jednej sesji mogą posiadać blokadę tego samego zasobu, a informacje są wyświetlane w kolumnach i request_owner_typerequest_owner_id zwracanych przez sys.dm_tran_locks. Jeśli istnieje wiele instancji tego samego request_owner_type , kolumna request_owner_id służy do rozróżnienia każdej z nich. W przypadku transakcji rozproszonych, kolumny request_owner_typerequest_owner_guid i pokazują różne informacje o podmiotach.
Na przykład sesja S1 posiada współtworzoną blokadę ; Table1a transakcja T1, która jest prowadzona w ramach sesji S1, również posiada współdzieloną blokadę na Table1. W takim przypadku kolumna resource_description zwracana przez sys.dm_tran_locks pokazuje dwie instancje tego samego zasobu. Kolumna request_owner_type pokazuje jedną instancję jako sesję, a drugą jako transakcję. Kolumna resource_owner_id ma też inne wartości.
Wiele kursorów działających w jednej sesji jest nie do odróżnienia i traktowane jako jedna całość.
Transakcje rozproszone, które nie są powiązane z wartością session_id , są osierocone transakcjami i przypisane session_id są do -2wartości . Aby uzyskać więcej informacji, zobacz KILL (Transact-SQL).
Locks
Blokady są utrzymywane na zasobach SQL Server, takich jak wiersze odczytywane lub modyfikowane podczas transakcji, aby zapobiec jednoczesnemu wykorzystaniu zasobów przez różne transakcje. Na przykład, jeśli wyłączny (X) zamek jest utrzymywany na wierszu w tabeli przez transakcję, żadna inna transakcja nie może zmienić tego wiersza, dopóki blokada nie zostanie zwolniona. Minimalizacja blokad zwiększa współbieżność, co może poprawić wydajność.
Szczegóły zasobu
Poniższa tabela przedstawia zasoby reprezentowane w kolumnie resource_associated_entity_id .
| Typ zasobu | Opis zasobu | resource_associated_entity_id |
|---|---|---|
| DATABASE | Reprezentuje bazę danych. | Nie dotyczy |
| PLIK | Reprezentuje plik bazy danych. Ten plik może być zarówno plikiem danych, jak i loga. | Nie dotyczy |
| OBJECT | Reprezentuje obiekt w bazie danych. Obiekt ten może być tabelą danych, widokiem, procedurą przechowywaną, rozszerzoną procedurą przechowywaną lub dowolnym obiektem posiadającym identyfikator obiektu. | Identyfikator obiektu |
| PAGE | Reprezentuje pojedynczą stronę w pliku danych. | Identyfikacja HoBt. Ta wartość odpowiada .sys.partitions.hobt_id Identyfikator HoBt nie zawsze jest dostępny dla zasobów PAGE, ponieważ to dodatkowe informacje, które może podać dzwoniący, a nie wszyscy mogą je udostępnić. |
| KLUCZ | Reprezentuje wiersz w indeksie. | Identyfikacja HoBt. Ta wartość odpowiada .sys.partitions.hobt_id |
| ROZCIĄGŁOŚĆ | Reprezentuje zakres pliku danych. Rozszerzenie to grupa ośmiu stron ciągłych. | Nie dotyczy |
| RID | Reprezentuje fizyczny rząd w stercie. | Identyfikacja HoBt. Ta wartość odpowiada .sys.partitions.hobt_id Identyfikator HoBt nie zawsze jest dostępny dla zasobów RID, ponieważ to dodatkowe informacje, które może podać dzwoniący, a nie wszyscy mogą je udostępnić. |
| APLIKACJA | Reprezentuje zasób określony przez aplikację. | Nie dotyczy |
| METADANE | Reprezentuje informacje metadanych. | Nie dotyczy |
| HOBT | Reprezentuje kopcę lub drzewo B. To są podstawowe struktury ścieżek dojazdowych. | Identyfikacja HoBt. Ta wartość odpowiada .sys.partitions.hobt_id |
| OIB | Reprezentuje online index (re)build. | Identyfikacja HoBt. Ta wartość odpowiada .sys.partitions.hobt_id |
| ALLOCATION_UNIT | Reprezentuje zbiór powiązanych stron, takich jak partycja indeksowa. Każda jednostka alokacji obejmuje jeden łańcuch Map Alokacji Indeksu (IAM). | Identyfikator jednostki alokacyjnej. Ta wartość odpowiada .sys.allocation_units.allocation_unit_id |
| ROW_GROUP | Reprezentuje grupę wierszy columnstore. | |
| XACT | Reprezentuje transakcję. Dzieje się to, gdy zoptymalizowane blokowanie jest włączone. | Istnieją dwa scenariusze: Scenariusz 1 (Właściciel) - Typ zasobu: XACT.- Opis zasobu: Gdy blokada TID jest utrzymywana, jest resource_descriptionXACT to zasób.- Identyfikator podmiotu powiązanego z zasobem: resource_associated_entity_id wynosi 0.Scenariusz 2 (Kelner) - Typ zasobu: XACT.- Opis zasobu: Gdy żądanie czeka na blokadę TID, jest to resource_description zasób, XACT a następnie zasób bazowy KEY lub RID zasób.- Identyfikator podmiotu powiązanego z zasobem: resource_associated_entity_id to bazowy identyfikator HoBt. |
Uwaga / Notatka
W dokumentacji jest zwykle używany termin B-tree w odniesieniu do indeksów. W indeksach typu rowstore silnik bazy danych implementuje drzewo B+. Nie dotyczy to indeksów magazynu kolumn ani indeksów w tabelach zoptymalizowanych pod kątem pamięci. Aby uzyskać więcej informacji, zobacz architekturę i przewodnik projektowania indeksu SQL Server i Azure SQL.
Poniższa tabela przedstawia podtypy powiązane z każdym typem zasobu.
| ResourceSubType | Synchronizuje |
|---|---|
| ALLOCATION_UNIT. BULK_OPERATION_PAGE | Strony z prealokacją używane do operacji masowych. |
| ALLOCATION_UNIT. PAGE_COUNT | Statystyki liczby stron jednostek alokacyjnych podczas operacji odroczonego zrzutu. |
| BAZA DANYCH. BULKOP_BACKUP_DB | Kopie zapasowe baz danych z operacjami masowymi. |
| BAZA DANYCH. BULKOP_BACKUP_LOG | Kopie zapasowe logów bazowych z operacjami masowymi. |
| BAZA DANYCH. CHANGE_TRACKING_CLEANUP | Zadania związane ze śledzeniem zmian i sprzątaniem. |
| BAZA DANYCH. CT_DDL | Operacje DDL śledzące zmiany na poziomie baz danych i tabel. |
| BAZA DANYCH. CONVERSATION_PRIORITY | Operacje priorytetowe rozmowy Service Brokera, takie jak CREATE BROKER PRIORITY. |
| BAZA DANYCH. DDL | Operacje języka definicji danych (DDL) z operacjami grup plików, takimi jak drop. |
| BAZA DANYCH. ENCRYPTION_SCAN | Synchronizacja szyfrowania TDE. |
| BAZA DANYCH. PLANGUIDE | Synchronizacja przewodnika według planu. |
| BAZA DANYCH. RESOURCE_GOVERNOR_DDL | Operacje DDL dla operacji zarządzających zasobami, takich jak ALTER RESOURCE POOL. |
| BAZA DANYCH. ZMNIEJSZYĆ | Operacje kurczenia bazy danych. |
| BAZA DANYCH. STARTUP | Używany do synchronizacji uruchamiania bazy danych. |
| PLIK. ZMNIEJSZYĆ | Operacje zmniejszania plików. |
| HOBT. BULK_OPERATION | Operacje masowego ładowania zoptymalizowanego przez heap z jednoczesnym skanowaniem, na tych poziomach izolacji: migawka, odczyt bez zatwierdzenia oraz zatwierdzenie odczytu przy użyciu wersjonowania wiersza. |
| HOBT. INDEX_REORGANIZE | Operacje reorganizacji stosu lub indeksu. |
| SPRZECIWIAĆ SIĘ. KOMPILOWAĆ | Kompilacja procedur przechowywanych. |
| SPRZECIWIAĆ SIĘ. INDEX_OPERATION | Operacje indeksowe. |
| SPRZECIWIAĆ SIĘ. UPDSTATS | Aktualizacje statystyk na tabeli. |
| METADANE. MONTAŻ | Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana. |
| METADANE. ASSEMBLY_CLR_NAME | Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana. |
| METADANE. ASSEMBLY_TOKEN | Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana. |
| METADANE. ASYMMETRIC_KEY | Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana. |
| METADANE. AUDYT | Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana. |
| METADANE. AUDIT_ACTIONS | Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana. |
| METADANE. AUDIT_SPECIFICATION | Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana. |
| METADANE. AVAILABILITY_GROUP | Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana. |
| METADANE. CERTYFIKAT | Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana. |
| METADANE. CHILD_INSTANCE | Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana. |
| METADANE. COMPRESSED_FRAGMENT | Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana. |
| METADANE. COMPRESSED_ROWSET | Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana. |
| METADANE. CONVERSTATION_ENDPOINT_RECV | Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana. |
| METADANE. CONVERSTATION_ENDPOINT_SEND | Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana. |
| METADANE. CONVERSATION_GROUP | Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana. |
| METADANE. CONVERSATION_PRIORITY | Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana. |
| METADANE. POŚWIADCZEŃ | Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana. |
| METADANE. CRYPTOGRAPHIC_PROVIDER | Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana. |
| METADANE. DATA_SPACE | Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana. |
| METADANE. BAZA DANYCH | Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana. |
| METADANE. DATABASE_PRINCIPAL | Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana. |
| METADANE. DB_MIRRORING_SESSION | Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana. |
| METADANE. DB_MIRRORING_WITNESS | Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana. |
| METADANE. DB_PRINCIPAL_SID | Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana. |
| METADANE. PUNKT KOŃCOWY | Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana. |
| METADANE. ENDPOINT_WEBMETHOD | Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana. |
| METADANE. EXPR_COLUMN | Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana. |
| METADANE. EXPR_HASH | Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana. |
| METADANE. FULLTEXT_CATALOG | Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana. |
| METADANE. FULLTEXT_INDEX | Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana. |
| METADANE. FULLTEXT_STOPLIST | Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana. |
| METADANE. INDEX_EXTENSION_SCHEME | Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana. |
| METADANE. INDEXSTATS | Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana. |
| METADANE. INSTANTIATED_TYPE_HASH | Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana. |
| METADANE. KOMUNIKAT | Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana. |
| METADANE. METADATA_CACHE | Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana. |
| METADANE. PARTITION_FUNCTION | Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana. |
| METADANE. PASSWORD_POLICY | Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana. |
| METADANE. UPRAWNIENIA | Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana. |
| METADANE. PLAN_GUIDE | Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana. |
| METADANE. PLAN_GUIDE_HASH | Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana. |
| METADANE. PLAN_GUIDE_SCOPE | Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana. |
| METADANE. QNAME | Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana. |
| METADANE. QNAME_HASH | Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana. |
| METADANE. REMOTE_SERVICE_BINDING | Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana. |
| METADANE. TRASA | Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana. |
| METADANE. SCHEMAT | Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana. |
| METADANE. SECURITY_CACHE | Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana. |
| METADANE. SECURITY_DESCRIPTOR | Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana. |
| METADANE. KOLEJNOŚĆ | Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana. |
| METADANE. SERVER_EVENT_SESSIONS | Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana. |
| METADANE. SERVER_PRINCIPAL | Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana. |
| METADANE. USŁUGA | Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana. |
| METADANE. SERVICE_BROKER_GUID | Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana. |
| METADANE. SERVICE_CONTRACT | Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana. |
| METADANE. SERVICE_MESSAGE_TYPE | Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana. |
| METADANE. STATYSTYKI | Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana. |
| METADANE. SYMMETRIC_KEY | Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana. |
| METADANE. USER_TYPE | Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana. |
| METADATA.XML_KOLEKCJA | Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana. |
| METADATA.XML_COMPONENT | Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana. |
| METADATA.XML_INDEKS_QNAME | Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana. |
Poniższa tabela przedstawia format kolumny resource_description dla każdego typu zasobu.
| Resource | Format | Description |
|---|---|---|
| DATABASE | Nie dotyczy | Identyfikator bazy danych jest już dostępny w kolumnie resource_database_id . |
| PLIK | <file_id> |
ID pliku reprezentowanego przez ten zasób. |
| OBJECT | <object_id> |
ID obiektu reprezentowanego przez ten zasób. Ten obiekt może być dowolnym obiektem wymienionym w , sys.objectsa nie tylko tabelą. |
| PAGE | <file_id>:<page_in_file> |
Reprezentuje plik i identyfikator strony strony reprezentowanej przez ten zasób. |
| KLUCZ | <hash_value> |
Reprezentuje skrót kolumn klucza z wiersza reprezentowanego przez ten zasób. |
| ROZCIĄGŁOŚĆ | <file_id>:<page_in_files> |
Reprezentuje plik i identyfikator strony w zakresie reprezentowanym przez ten zasób. ID zakresu jest takie samo jak identyfikator strony pierwszej strony w zakresie. |
| RID | <file_id>:<page_in_file>:<row_on_page> |
Reprezentuje identyfikator strony i identyfikator wiersza reprezentowanego przez ten zasób. Jeśli powiązany identyfikator obiektu wynosi 99, ten zasób reprezentuje jeden z ośmiu mieszanych slotów stron na pierwszej stronie IAM łańcucha IAM. |
| APLIKACJA | <DbPrincipalId>:<up to 32 characters>:(<hash_value>) |
Reprezentuje identyfikator zasady bazy danych używanej do zakresu tego zasobu blokady aplikacji. Zawarte są także do 32 znaków ze ciągu zasobu odpowiadającego temu zasobowi blokady aplikacji. W niektórych przypadkach wyświetlane są tylko dwa znaki, ponieważ cały ciąg nie jest już dostępny. To zachowanie występuje tylko w czasie odzyskiwania bazy danych dla blokad aplikacji, które są ponownie pozyskiwane w trakcie procesu odzyskiwania. Wartość skrótu reprezentuje skrót pełnego ciągu zasobu odpowiadającego temu zasobowi blokady aplikacji. |
| HOBT | Nie dotyczy | Identyfikator HoBt jest dołączony jako .resource_associated_entity_id |
| ALLOCATION_UNIT | Nie dotyczy | Identyfikator jednostki alokacyjnej jest uwzględniony jako .resource_associated_entity_id |
| XACT | <dbid>:<XdesId low>:<XdesId high> |
Zasób TID (ID transakcji). Dzieje się to, gdy zoptymalizowane blokowanie jest włączone. |
| XACT KEY | [XACT <dbid>:<XdesId low>:<XdesId High>] KEY (<hash_value>) |
Zasób bazowy, na którym transakcja czeka, z indeksem KEY obiektu. Dzieje się to, gdy zoptymalizowane blokowanie jest włączone. |
| XACT RID | [XACT <dbid>:<XdesId low>:<XdesId High>] RID (<file_id>:<page_in_file>:<row_on_page>) |
Zasób bazowy, na którym transakcja czeka, wraz z obiektem RID w stercie. Dzieje się to, gdy zoptymalizowane blokowanie jest włączone. |
| METADANE. MONTAŻ | assembly_id = A |
Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana. |
| METADANE. ASSEMBLY_CLR_NAME | $qname_id = Q |
Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana. |
| METADANE. ASSEMBLY_TOKEN |
assembly_id = A, $token_id |
Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana. |
| METADANE. ASSYMMETRIC_KEY | asymmetric_key_id = A |
Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana. |
| METADANE. AUDYT | audit_id = A |
Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana. |
| METADANE. AUDIT_ACTIONS |
device_id = D, major_id = M |
Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana. |
| METADANE. AUDIT_SPECIFICATION | audit_specification_id = A |
Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana. |
| METADANE. AVAILABILITY_GROUP | availability_group_id = A |
Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana. |
| METADANE. CERTYFIKAT | certificate_id = C |
Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana. |
| METADANE. CHILD_INSTANCE | $hash = H1:H2:H3 |
Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana. |
| METADANE. COMPRESSED_FRAGMENT | object_id = O , compressed_fragment_id = C |
Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana. |
| METADANE. COMPRESSED_ROW | object_id = O |
Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana. |
| METADANE. CONVERSTATION_ENDPOINT_RECV | $hash = H1:H2:H3 |
Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana. |
| METADANE. CONVERSTATION_ENDPOINT_SEND | $hash = H1:H2:H3 |
Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana. |
| METADANE. CONVERSATION_GROUP | $hash = H1:H2:H3 |
Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana. |
| METADANE. CONVERSATION_PRIORITY | conversation_priority_id = C |
Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana. |
| METADANE. POŚWIADCZEŃ | credential_id = C |
Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana. |
| METADANE. CRYPTOGRAPHIC_PROVIDER | provider_id = P |
Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana. |
| METADANE. DATA_SPACE | data_space_id = D |
Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana. |
| METADANE. BAZA DANYCH | database_id = D |
Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana. |
| METADANE. DATABASE_PRINCIPAL | principal_id = P |
Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana. |
| METADANE. DB_MIRRORING_SESSION | database_id = D |
Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana. |
| METADANE. DB_MIRRORING_WITNESS | $hash = H1:H2:H3 |
Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana. |
| METADANE. DB_PRINCIPAL_SID | $hash = H1:H2:H3 |
Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana. |
| METADANE. PUNKT KOŃCOWY | endpoint_id = E |
Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana. |
| METADANE. ENDPOINT_WEBMETHOD | $hash = H1:H2:H3 |
Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana. |
| METADANE. FULLTEXT_CATALOG | fulltext_catalog_id = F |
Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana. |
| METADANE. FULLTEXT_INDEX | object_id = O |
Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana. |
| METADANE. EXPR_COLUMN |
object_id = O, column_id = C |
Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana. |
| METADANE. EXPR_HASH |
object_id = O, $hash = H |
Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana. |
| METADANE. FULLTEXT_CATALOG | fulltext_catalog_id = F |
Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana. |
| METADANE. FULLTEXT_INDEX | object_id = O |
Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana. |
| METADANE. FULLTEXT_STOPLIST | fulltext_stoplist_id = F |
Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana. |
| METADANE. INDEX_EXTENSION_SCHEME | index_extension_id = I |
Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana. |
| METADANE. INDEXSTATS |
object_id = O
index_id, lubstats_id = I |
Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana. |
| METADANE. INSTANTIATED_TYPE_HASH |
user_type_id = U, hash = H |
Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana. |
| METADANE. KOMUNIKAT | message_id = M |
Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana. |
| METADANE. METADATA_CACHE | $hash = H1:H2:H3 |
Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana. |
| METADANE. PARTITION_FUNCTION | function_id = F |
Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana. |
| METADANE. PASSWORD_POLICY | principal_id = P |
Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana. |
| METADANE. UPRAWNIENIA | class = C |
Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana. |
| METADANE. PLAN_GUIDE | plan_guide_id = P |
Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana. |
| METADANE. PLAN_GUIDE_HASH | $hash = H1:H2:H3 |
Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana. |
| METADANE. PLAN_GUIDE_SCOPE | scope_id = S |
Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana. |
| METADANE. QNAME | $qname_id = Q |
Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana. |
| METADANE. QNAME_HASH |
$qname_scope_id = Q, $qname_hash = H |
Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana. |
| METADANE. REMOTE_SERVICE_BINDING | remote_service_binding_id = R |
Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana. |
| METADANE. TRASA | route_id = R |
Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana. |
| METADANE. SCHEMAT | schema_id = S |
Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana. |
| METADANE. SECURITY_CACHE | $hash = H1:H2:H3 |
Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana. |
| METADANE. SECURITY_DESCRIPTOR | sd_id = S |
Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana. |
| METADANE. KOLEJNOŚĆ |
$seq_type = S, object_id = O |
Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana. |
| METADANE. SERWER | server_id = S |
Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana. |
| METADANE. SERVER_EVENT_SESSIONS | event_session_id = E |
Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana. |
| METADANE. SERVER_PRINCIPAL | principal_id = P |
Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana. |
| METADANE. USŁUGA | service_id = S |
Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana. |
| METADANE. SERVICE_BROKER_GUID | $hash = H1:H2:H3 |
Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana. |
| METADANE. SERVICE_CONTRACT | service_contract_id = S |
Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana. |
| METADANE. SERVICE_MESSAGE_TYPE | message_type_id = M |
Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana. |
| METADANE. STATYSTYKI |
object_id = O, stats_id = S |
Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana. |
| METADANE. SYMMETRIC_KEY | symmetric_key_id = S |
Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana. |
| METADANE. USER_TYPE | user_type_id = U |
Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana. |
| METADATA.XML_KOLEKCJA | xml_collection_id = X |
Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana. |
| METADATA.XML_COMPONENT | xml_component_id = X |
Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana. |
| METADATA.XML_INDEKS_QNAME |
object_id = O, $qname_id = Q |
Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana. |
Przykłady
A. Używaj sys.dm_tran_locks z innymi narzędziami
Poniższy przykład dotyczy sytuacji, w której operacja aktualizacji zostaje zablokowana przez inną transakcję. Dzięki wykorzystaniu sys.dm_tran_locks innych narzędzi dostarczane są informacje o zasobach blokujących.
USE tempdb;
GO
-- Create test table and index.
CREATE TABLE t_lock
(
c1 int, c2 int
);
GO
CREATE INDEX t_lock_ci on t_lock(c1);
GO
-- Insert values into test table
INSERT INTO t_lock VALUES (1, 1);
INSERT INTO t_lock VALUES (2, 2);
INSERT INTO t_lock VALUES (3, 3);
INSERT INTO t_lock VALUES (4, 4);
INSERT INTO t_lock VALUES (5, 5);
INSERT INTO t_lock VALUES (6, 6);
GO
-- Session 1
SET TRANSACTION ISOLATION LEVEL READ COMMITTED;
BEGIN TRAN
SELECT c1
FROM t_lock
WITH(holdlock, rowlock);
-- Session 2
BEGIN TRAN
UPDATE t_lock SET c1 = 10;
Następujące zapytanie wyświetla informacje o blokadzie. Wartość dla <dbid> należy zastąpić przez z database_idsys.databases.
SELECT resource_type, resource_associated_entity_id,
request_status, request_mode,request_session_id,
resource_description
FROM sys.dm_tran_locks
WHERE resource_database_id = <dbid>;
Następujące zapytanie zwraca informacje o obiekcie, używając resource_associated_entity_id z poprzedniego zapytania. To zapytanie musi zostać wykonane, gdy jesteś połączony z bazą danych zawierającą obiekt.
SELECT object_name(object_id), *
FROM sys.partitions
WHERE hobt_id=<resource_associated_entity_id> ;
Poniższe zapytanie pokazuje informacje o blokowaniu.
SELECT
t1.resource_type,
t1.resource_database_id,
t1.resource_associated_entity_id,
t1.request_mode,
t1.request_session_id,
t2.blocking_session_id
FROM sys.dm_tran_locks as t1
INNER JOIN sys.dm_os_waiting_tasks as t2
ON t1.lock_owner_address = t2.resource_address;
Zwolnij zasoby, cofając transakcje.
-- Session 1
ROLLBACK;
GO
-- Session 2
ROLLBACK;
GO
B. Link informacje o sesji z wątkami systemu operacyjnego
Poniższy przykład zwraca informację powiązaną session_id z identyfikatorem wątku Windows. Wydajność wątku można monitorować w Windows Performance Monitor. To pytanie nie zwraca , session_id który jest obecnie uśpiony.
SELECT STasks.session_id, SThreads.os_thread_id
FROM sys.dm_os_tasks AS STasks
INNER JOIN sys.dm_os_threads AS SThreads
ON STasks.worker_address = SThreads.worker_address
WHERE STasks.session_id IS NOT NULL
ORDER BY STasks.session_id;
GO
Treści powiązane
- sys.dm_tran_database_transactions (Transact-SQL)
- Przewodnik dotyczący blokowania transakcji i wersjonowania wierszy
- dynamiczne widoki zarządzania systemu
- Dynamiczne Widoki Zarządzania i Funkcje Związane z Transakcjami (Transact-SQL)
- SQL Server, obiekt Locks