sys.dm_tran_locks (języka Transact-SQL)
Zwraca informacje dotyczące aktualnie aktywnej blokada Menedżera zasobów.Każdy wiersz reprezentuje aktywne żądania do Menedżera blokada dla blokada, które przyznano lub oczekuje na przyznawane.
Kolumny zestaw wyników są podzielone na dwie główne grupy: zasób, a żądanie. Grupy zasób zawiera opis zasób, na którym odbywa się żądanie blokada i opisano grupy żądania, żądanie blokada.
Nazwa kolumna |
Typ danych |
Description |
---|---|---|
resource_type |
nvarchar(60) |
Reprezentuje typ zasób.Wartość może być jedną z następujących czynności: Bazy danych, FILE, OBJECT, strona, klucz, zakresie, RID, aplikacja, metadane, HOBT lub ALLOCATION_UNIT. |
resource_subtype |
nvarchar(60) |
Reprezentuje podtypem resource_type.Pobieranie blokada podtypu bez przytrzymywania nonsubtyped blokada tego typu obiektu nadrzędnego jest technicznie prawidłowy.Różne podtypów nie kolidują ze sobą lub z typu nadrzędnego nonsubtyped.Nie wszystkie typy zasób podtypy. |
resource_database_id |
int |
Identyfikator bazy danych, w których ten zasób jest objęty zakresem.Wszystkie zasoby obsługiwane przez Menedżera blokada są o zakresie według identyfikatora bazy danych. |
resource_description |
nvarchar(256) |
Opis zasób, który zawiera tylko te informacje, które nie są dostępne z innych kolumn zasób. |
resource_associated_entity_id |
bigint |
Identyfikator obiekt w bazie danych, z którą jest skojarzony zasób.Może to być identyfikator obiektu, Hobt IDENTYFIKATORA lub IDENTYFIKATORA jednostka alokacji, w zależności od typu zasób. |
resource_lock_partition |
Int |
Identyfikator partycji blokad dla zasób blokada podzielonym na partycje.Wartość nonpartitioned blokada zasobów wynosi 0. |
request_mode |
nvarchar(60) |
Tryb żądania.Udzielone żądania jest przyznany tryb; dla oczekujących żądań, jest to tryb żądana. |
request_type |
nvarchar(60) |
Żądanie typu.Wartość jest blokada. |
request_status |
nvarchar(60) |
Bieżący stan tego żądania.Możliwe wartości są wydana, CONVERT lub WAIT. |
request_reference_count |
smallint |
Zwraca przybliżoną liczbę razy ten sam żądającego zażądał tego zasób. |
request_lifetime |
int |
Identified for informational purposes only. Not supported. Future compatibility is not guaranteed. |
request_session_id |
int |
Identyfikator sesja, która jest aktualnie właścicielem tego żądania.Posiadanie IDENTYFIKATORA sesja można zmienić dla transakcji rozproszonych i związanego.Wartość 2 wskazuje, że żądanie należy oddzielonych transakcja rozproszona.Wartość-3 wskazuje, że żądanie należy do odzyskiwanie odroczonych transakcji, takie jak transakcji, dla których wycofywanie zostało odłożone na odzyskiwanie ponieważ wycofywanie nie została ukończona pomyślnie. |
request_exec_context_id |
int |
Identyfikator kontekstu wykonania procesu, który jest aktualnie właścicielem tego żądania. |
request_request_id |
int |
Identyfikator żądania (identyfikator partia) procesu, który jest aktualnie właścicielem tego żądania.Wartość ta spowoduje zmianę wszystkich czas zmieniający aktywne połączenie wielu Active zestaw wyników (MARS) dla transakcji. |
request_owner_type |
nvarchar(60) |
Typ obiektu, do którego należy żądanie.Żądania blokada manager może należeć przez różne podmioty.Możliwe wartości to: TRANSACTION = żądanie jest posiadany przez transakcję. CURSOR = żądanie jest posiadany przez kursor. sesja = żądanie jest właścicielem sesja użytkownika. SHARED_TRANSACTION_WORKSPACE = żądanie jest własnością część udostępnionego obszaru roboczego transakcji. EXCLUSIVE_TRANSACTION_WORKSPACE = żądanie jest własnością wyłączne części obszaru roboczego transakcji.
Note:
Spacje gniazda są używane wewnętrznie do przechowywania blokad dla sesji wyświetlone.
|
request_owner_id |
bigint |
Identyfikator określonego właściciela tego żądania.Ta wartość jest używana tylko dla transakcji, dla którego jest to identyfikator transakcji. |
request_owner_guid |
uniqueidentifier |
Identyfikator GUID określonego właściciela tego żądania.Ta wartość jest tylko używany przez transakcja rozproszona gdzie wartość odpowiada MS DTC identyfikatora GUID dla danej transakcji. |
request_owner_lockspace_id |
nvarchar(32) |
Identified for informational purposes only. Not supported. Future compatibility is not guaranteed. Ta wartość reprezentuje identyfikator lockspace żądającego.Identyfikator lockspace Określa, czy dwa żądające są zgodne ze sobą i mogą być udzielane blokad w trybach, które w przeciwnym razie byłoby w konflikcie ze sobą. |
lock_owner_address |
varbinary(8) |
Pamięć struktury adresu wewnętrzne dane, które jest używane do śledzenia tego żądania.W tej kolumnie mogą zostać sprzężone z resource_address kolumnasys.dm_os_waiting_tasks. |
Uprawnienia
Wymaga uprawnienia VIEW SERVER STATE na serwerze.
Remarks
Udzielone stan żądania wskazuje, że udzielono blokada do zasób do żądającego.Żądania oczekujące wskazuje, że żądanie nie zostało jeszcze udzielone.Następujące typy oczekiwania na żądanie są zwracane przez request_status kolumna:
Stan żądania do konwersji wskazuje, że żądającego już udzielono żądanie dotyczące zasób i oczekiwaniem na uaktualnienie żądania początkowego mają być przyznane.
Stan oczekiwania żądania wskazuje, że żądającego nie aktualnie posiada udzielone żądania dla danego zasób.
Ponieważ sys.dm_tran_locks jest wypełniana od blokada wewnętrznych struktur danych menedżera, utrzymywania tych informacji nie powoduje dodania bardzo narzutów na zwykłe przetwarzanie.Materializing widoku wymaga dostępu do struktur wewnętrznych danych Menedżera blokada.To może mieć niewielkie wpływ na zwykłe przetwarzanie na serwerze.Efekty te powinny być unnoticeable i tylko powinna wpływać na zasoby obciążonych.Ponieważ dane w tym widoku odpowiada blokada menedżera stanu na żywo, dane w dowolnej chwili można zmienić, a wiersze są dodawane i usuwane zgodnie z blokada są nabyty oraz zwalniane.W tym widoku nie ma historycznych informacji.
Dwa żądania działają w ten sam zasób tylko wtedy, gdy wszystkie kolumny z grupy zasobów są równe.
Można kontrolować, blokowanie operacji odczytu za pomocą następujących narzędzi:
zestaw TRANSACTION poziom izolacji do określenia poziomu zablokowania sesja.Aby uzyskać więcej informacji zobaczSET TRANSACTION ISOLATION LEVEL (Transact-SQL).
Blokowanie tabela wskazówek, aby określić poziom blokowania dla poszczególnych odwołanie do tabela w klauzula FROM.Opis składni i ograniczeń zobacz Wskazówki do tabela (języka Transact-SQL).
Zasób, który działa w jednym identyfikator sesja może mieć więcej niż jedną blokadę udzielone.Każdy różnych obiektów, które działają w jednej sesja mogą należeć blokada na tych samych zasób, a informacje są wyświetlane w request_owner_type and request_owner_id kolumny, które są zwracane przez sys.dm_tran_locks.Jeśli wiele wystąpień tego samego request_owner_type istnieje request_owner_id kolumna jest używana do odróżniania każde wystąpienie.Dla transakcji rozproszonych request_owner_type and the request_owner_guid kolumn są wyświetlane informacje innego obiektu.
Na przykład sesja S1 właścicielem blokada udostępnionego na Tabela1również właścicielem udostępnionego blokadę ; i transakcji T1, w którym jest uruchomiona w ramach sesja S1,Tabela1.W takim przypadek resource_description Kolumna zwracasys.dm_tran_locks zostaną wyświetlone dwa wystąpienia tego samego zasób.The request_owner_type kolumna will show one wystąpienie as a sesja and the other as a transaction.Ponadto resource_owner_id kolumna będzie zawierać różne wartości.
Uwaga
Wiele kursory, które są uruchamiane w jednej sesja są nie do odróżnienia i są traktowane jako jeden obiekt.
Aby uzyskać więcej informacji na temat typów blokady używane przez SQL Server Database Engine, zobacz Blokowanie w aparat bazy danych.
Transakcje rozproszone, które nie są skojarzone z wartością IDENTYFIKATORA sesja są oddzielone transakcji i są przypisane wartości IDENTYFIKATORA sesja od -2.Aby uzyskać więcej informacji zobacz"Zabicia" (języka Transact-SQL).
Szczegóły zasób
Poniższa tabela zawiera listę zasobów, które są reprezentowane w resource_associated_entity_id kolumna.
Typ zasób |
Opis zasób |
Resource_associated_entity_id |
---|---|---|
BAZY DANYCH |
Reprezentuje bazy danych. |
Nie dotyczy |
PLIK |
Reprezentuje plik bazy danych.Ten plik może być danych lub pliku dziennika. |
Nie dotyczy |
OBIEKT |
Reprezentuje obiekt bazy danych.Ten obiekt może być tabela danych, widoku, procedury przechowywanej, rozszerzona procedura składowana lub dowolny obiekt, który ma identyfikator obiektu. |
Identyfikator obiektu |
strona |
Reprezentuje jedną strona w pliku danych. |
Identyfikator HoBt.Wartość ta odpowiada sys.Partitions.hobt_id.Identyfikator HoBt nie jest zawsze dostępna strona zasobów, ponieważ identyfikator HoBt to dodatkowe informacje, które mogą być dostarczone przez obiekt wywołujący, a nie wszystkie obiekty wywołujące może dostarczyć te informacje. |
KLUCZ |
Reprezentuje wierszy w indeksie. |
Identyfikator HoBt.Wartość ta odpowiada sys.Partitions.hobt_id. |
fragment |
Reprezentuje w zakresie pliku danych.fragment jest to grupa osiem stron ciągłych. |
Nie dotyczy |
IDENTYFIKATOR RID |
Reprezentuje fizyczną wiersza w sterty. |
Identyfikator HoBt.Wartość ta odpowiada sys.Partitions.hobt_id.Identyfikator HoBt nie jest zawsze dostępne dla zasobów RID, ponieważ identyfikator HoBt to dodatkowe informacje, które mogą być dostarczone przez obiekt wywołujący, a nie wszystkie obiekty wywołujące może dostarczyć te informacje. |
APLIKACJA |
Reprezentuje aplikacji podanego zasób. |
Nie dotyczy |
METADANE |
Reprezentuje informacje metadane. |
Nie dotyczy |
HOBT |
Reprezentuje sterty B-drzewo.Są to struktur ścieżka dostępu podstawowego. |
Identyfikator HoBt.Wartość ta odpowiada sys.Partitions.hobt_id. |
ALLOCATION_UNIT |
Reprezentuje zbiór powiązanych stron, takich jak partycji indeksu.Każdy jednostka alokacji obejmuje jeden łańcuch alokacji indeksu tablicy (IAM). |
jednostka alokacji ID.Wartość ta odpowiada sys.allocation_units.allocation_unit_id. |
Poniższa tabela zawiera listę podtypów, które są skojarzone z każdego typu zasób.
ResourceSubType |
Synchronizuje |
---|---|
DATABASE.BULKOP_BACKUP_DB |
Kopie zapasowe bazy danych z operacji zbiorczej. |
DATABASE.BULKOP_BACKUP_LOG |
Kopie zapasowe bazy danych dziennika operacji zbiorczej. |
DATABASE.DDL |
Definicja języka (DDL) operacje na danych z pliku grupy operacje, takie jak upuszczania. |
DATABASE.STARTUP |
Używane do synchronizacji uruchamiania bazy danych. |
tabela.UPDSTATS |
Statystyki aktualizacji w tabela. |
tabela.COMPILE |
Przechowywana procedura kompilacji. |
tabela.INDEX_OPERATION |
Indeks operacji. |
HOBT.INDEX_REORGANIZE |
Operacje reorganizacji sterty lub indeks. |
HOBT.BULK_OPERATION |
Operacje ładowania zoptymalizowane sterty zbiorcze z równoczesnych skanowania, te poziomy izolacji w obszarze: migawka, przeczytaj nieprzydzielonych i odczytu popełnionego przy użyciu wersji wiersza. |
ALLOCATION_UNIT.PAGE_COUNT |
Alokacja jednostki strona licznik statystyki podczas operacji odroczone upuszczania. |
metadane.INDEXSTATS |
Identified for informational purposes only. Not supported. Future compatibility is not guaranteed. |
metadane.STATS |
Identified for informational purposes only. Not supported. Future compatibility is not guaranteed. |
metadane.XML_COLLECTION |
Identified for informational purposes only. Not supported. Future compatibility is not guaranteed. |
metadane.SEQUENCE |
Identified for informational purposes only. Not supported. Future compatibility is not guaranteed. |
metadane.QNAME |
Identified for informational purposes only. Not supported. Future compatibility is not guaranteed. |
metadane.ASSEMBLY_CLR_NAME |
Identified for informational purposes only. Not supported. Future compatibility is not guaranteed. |
metadane.ASSEMBLY_TOKEN |
Identified for informational purposes only. Not supported. Future compatibility is not guaranteed. |
metadane.wirtualny plik dziennika |
Identified for informational purposes only. Not supported. Future compatibility is not guaranteed. |
metadane.PARTITION_FUNCTION |
Identified for informational purposes only. Not supported. Future compatibility is not guaranteed. |
metadane.DATA_SPACE |
Identified for informational purposes only. Not supported. Future compatibility is not guaranteed. |
metadane.USER_TYPE |
Identified for informational purposes only. Not supported. Future compatibility is not guaranteed. |
metadane.DB_PRINCIPAL_SID |
Identified for informational purposes only. Not supported. Future compatibility is not guaranteed. |
metadane.DATABASE_PRINCIPAL |
Identified for informational purposes only. Not supported. Future compatibility is not guaranteed. |
metadane.SCHEMA |
Identified for informational purposes only. Not supported. Future compatibility is not guaranteed. |
metadane.XML_COMPONENT |
Identified for informational purposes only. Not supported. Future compatibility is not guaranteed. |
metadane.SERVER |
Identified for informational purposes only. Not supported. Future compatibility is not guaranteed. |
metadane.INSTANTIATED_TYPE_HASH |
Identified for informational purposes only. Not supported. Future compatibility is not guaranteed. |
metadane.DB_MIRRORING_SESSION |
Identified for informational purposes only. Not supported. Future compatibility is not guaranteed. |
metadane.ENDPOINT |
Identified for informational purposes only. Not supported. Future compatibility is not guaranteed. |
metadane.SECURITY_CACHE |
Identified for informational purposes only. Not supported. Future compatibility is not guaranteed. |
metadane.DB_MIRRORING_WITNESS |
Identified for informational purposes only. Not supported. Future compatibility is not guaranteed. |
metadane.CREDENTIAL |
Identified for informational purposes only. Not supported. Future compatibility is not guaranteed. |
metadane.SECURITY_DESCRIPTOR |
Identified for informational purposes only. Not supported. Future compatibility is not guaranteed. |
metadane.SERVICE_BROKER_GUID |
Identified for informational purposes only. Not supported. Future compatibility is not guaranteed. |
metadane.CONVERSTATION_ENDPOINT_RECV |
Identified for informational purposes only. Not supported. Future compatibility is not guaranteed. |
metadane.DATABASE |
Identified for informational purposes only. Not supported. Future compatibility is not guaranteed. |
metadane.CONVERSATION_GROUP |
Identified for informational purposes only. Not supported. Future compatibility is not guaranteed. |
metadane.ENDPOINT_WEBMETHOD |
Identified for informational purposes only. Not supported. Future compatibility is not guaranteed. |
metadane.ASSYMMETRIC_KEY |
Identified for informational purposes only. Not supported. Future compatibility is not guaranteed. |
metadane.FULLTEXT_CATALOG |
Identified for informational purposes only. Not supported. Future compatibility is not guaranteed. |
metadane.FULLTEXT_INDEX |
Identified for informational purposes only. Not supported. Future compatibility is not guaranteed. |
metadane.SERVER_PRINCIPAL |
Identified for informational purposes only. Not supported. Future compatibility is not guaranteed. |
metadane.trasa |
Identified for informational purposes only. Not supported. Future compatibility is not guaranteed. |
metadane.MESSAGE |
Identified for informational purposes only. Not supported. Future compatibility is not guaranteed. |
metadane.QNAME_HASH |
Identified for informational purposes only. Not supported. Future compatibility is not guaranteed. |
metadane.SERVICE_MESSAGE_TYPE |
Identified for informational purposes only. Not supported. Future compatibility is not guaranteed. |
metadane.CONVERSTATION_ENDPOINT_SEND |
Identified for informational purposes only. Not supported. Future compatibility is not guaranteed. |
metadane.certyfikat |
Identified for informational purposes only. Not supported. Future compatibility is not guaranteed. |
metadane.SYMMETRIC_KEY |
Identified for informational purposes only. Not supported. Future compatibility is not guaranteed. |
metadane.XML_INDEX_QNAME |
Identified for informational purposes only. Not supported. Future compatibility is not guaranteed. |
metadane.SERVICE_CONTRACT |
Identified for informational purposes only. Not supported. Future compatibility is not guaranteed. |
metadane.REMOTE_SERVICE_BINDING |
Identified for informational purposes only. Not supported. Future compatibility is not guaranteed. |
metadane.usługa |
Identified for informational purposes only. Not supported. Future compatibility is not guaranteed. |
metadane.METADATA_CACHE |
Identified for informational purposes only. Not supported. Future compatibility is not guaranteed. |
Poniższa tabela zawiera format resource_description kolumna dla każdego typu zasób.
Zasób |
Format |
Description |
---|---|---|
BAZY DANYCH |
Nie dotyczy |
Identyfikator bazy danych jest już dostępny w resource_database_id kolumna. |
PLIK |
<file_id> |
Identyfikator pliku, który jest reprezentowany przez ten zasób. |
OBIEKT |
<object_id> |
Identyfikator obiektu, który jest reprezentowany przez ten zasób.Ten obiekt może być dowolny obiekt na liście sys.Objects, nie tylko w tabela. |
strona |
<file_id>:<page_in_file> |
Reprezentuje identyfikator strona i pliku strona, która jest reprezentowany przez ten zasób. |
KLUCZ |
<hash_value> |
Reprezentuje wartość mieszania kolumn klucz w wierszu, który jest reprezentowany przez ten zasób. |
fragment |
<file_id>:<page_in_files> |
Reprezentuje identyfikator pliku i strona w zakresie, w jakim jest reprezentowany przez ten zasób.Identyfikator fragment jest taka sama, jak identyfikator strona na pierwszej stronie w zakresie. |
IDENTYFIKATOR RID |
<file_id>:<page_in_file>:<row_on_page> |
Reprezentuje identyfikator strona i identyfikator wiersza w wierszu, który jest reprezentowany przez ten zasób.Należy zauważyć, że jeśli IDENTYFIKATORA obiektu skojarzonego 99, ten zasób reprezentuje jeden z ośmiu gniazda mieszanych strona na pierwszej stronie IAM IAM systemu. |
APLIKACJA |
<DbPrincipalId>:<do kwoty 32 znaków>:(<hash_value>) |
Reprezentuje identyfikator bazy danych głównych, która jest używana do określania zakresów tego zasób blokada aplikacji.Również w skład wchodzą do 32 znaków z ciąg zasób, odpowiadający tego zasób blokadę aplikacji.W niektórych przypadkach można wyświetlić tylko dwa znaki ze względu na pełny ciąg znaków, nie są dostępne.To zachowanie występuje tylko w czasie odzyskiwanie bazy danych dla aplikacji blokad, które są reacquired jako część procesu odzyskiwanie.Wartość mieszania reprezentuje wartość mieszania ciąg pełnego zasobu, który odpowiada ten zasób blokada aplikacji. |
HOBT |
Nie dotyczy |
Identyfikator HoBt jest włączony jako resource_associated_entity_id. |
ALLOCATION_UNIT |
Nie dotyczy |
Identyfikator jednostka alokacji jest włączony jako resource_associated_entity_id. |
metadane.SEQUENCE |
$ seq_type = S, object_id = O |
Identified for informational purposes only. Not supported. Future compatibility is not guaranteed. |
metadane.STATS |
object_id = O stats_id = S |
Identified for informational purposes only. Not supported. Future compatibility is not guaranteed. |
metadane.SCHEMA |
schema_id = S |
Identified for informational purposes only. Not supported. Future compatibility is not guaranteed. |
metadane.INDEXSTATS |
object_id = O, index_id lub stats_id = I |
Identified for informational purposes only. Not supported. Future compatibility is not guaranteed. |
metadane.DATABASE_PRINCIPAL |
principal_id = P |
Identified for informational purposes only. Not supported. Future compatibility is not guaranteed. |
metadane.DB_PRINCIPAL_SID |
wartość mieszania $ = H1:H2:H3 |
Identified for informational purposes only. Not supported. Future compatibility is not guaranteed. |
metadane.USER_TYPE |
user_type_id = U |
Identified for informational purposes only. Not supported. Future compatibility is not guaranteed. |
metadane.DATA_SPACE |
data_space_id = D |
Identified for informational purposes only. Not supported. Future compatibility is not guaranteed. |
metadane.PARTITION_FUNCTION |
function_id = F |
Identified for informational purposes only. Not supported. Future compatibility is not guaranteed. |
metadane.PARTITION_FUNCTION |
function_id = F |
Identified for informational purposes only. Not supported. Future compatibility is not guaranteed. |
metadane.wirtualny plik dziennika |
assembly_id = A |
Identified for informational purposes only. Not supported. Future compatibility is not guaranteed. |
metadane.ASSEMBLY_TOKEN |
assembly_id = A $ token_id = T |
Identified for informational purposes only. Not supported. Future compatibility is not guaranteed. |
metadane.ASSEMBLY_CLR_NAME |
$ qname_id = Q |
Identified for informational purposes only. Not supported. Future compatibility is not guaranteed. |
metadane.QNAME |
$ qname_id = Q |
Identified for informational purposes only. Not supported. Future compatibility is not guaranteed. |
metadane.XML_COLLECTION |
xml_collection_id = X |
Identified for informational purposes only. Not supported. Future compatibility is not guaranteed. |
metadane.XML_COMPONENT |
xml_component_id = X |
Identified for informational purposes only. Not supported. Future compatibility is not guaranteed. |
metadane.QNAME_HASH |
$ qname_scope_id = Q $ qname_hash = H |
Identified for informational purposes only. Not supported. Future compatibility is not guaranteed. |
metadane.XML_INDEX_QNAME |
object_id = O $ qname_id = Q |
Identified for informational purposes only. Not supported. Future compatibility is not guaranteed. |
metadane.SERVICE_MESSAGE_TYPE |
message_type_id = M |
Identified for informational purposes only. Not supported. Future compatibility is not guaranteed. |
metadane.SERVICE_CONTRACT |
service_contract_id = S |
Identified for informational purposes only. Not supported. Future compatibility is not guaranteed. |
metadane.usługa |
service_id = S |
Identified for informational purposes only. Not supported. Future compatibility is not guaranteed. |
metadane.REMOTE_SERVICE_BINDING |
remote_service_binding_id = R |
Identified for informational purposes only. Not supported. Future compatibility is not guaranteed. |
metadane.trasa |
route_id = R |
Identified for informational purposes only. Not supported. Future compatibility is not guaranteed. |
metadane.FULLTEXT_INDEX |
object_id = O |
Identified for informational purposes only. Not supported. Future compatibility is not guaranteed. |
metadane.FULLTEXT_CATALOG |
fulltext_catalog_id = F |
Identified for informational purposes only. Not supported. Future compatibility is not guaranteed. |
metadane.CONVERSATION_GROUP |
conversation_group_id = C |
Identified for informational purposes only. Not supported. Future compatibility is not guaranteed. |
metadane.CONVERSTATION_ENDPOINT_SEND |
wartość mieszania $ = H1:H2:H3 |
Identified for informational purposes only. Not supported. Future compatibility is not guaranteed. |
metadane.CONVERSTATION_ENDPOINT_RECV |
wartość mieszania $ = H1:H2:H3 |
Identified for informational purposes only. Not supported. Future compatibility is not guaranteed. |
metadane.SYMMETRIC_KEY |
symmetric_key_id = S |
Identified for informational purposes only. Not supported. Future compatibility is not guaranteed. |
metadane.certyfikat |
certificate_id = C |
Identified for informational purposes only. Not supported. Future compatibility is not guaranteed. |
metadane.ASSYMMETRIC_KEY |
asymmetric_key_id = A |
Identified for informational purposes only. Not supported. Future compatibility is not guaranteed. |
metadane.DATABASE |
database_id = D |
Identified for informational purposes only. Not supported. Future compatibility is not guaranteed. |
metadane.MESSAGE |
message_id = M |
Identified for informational purposes only. Not supported. Future compatibility is not guaranteed. |
metadane.SERVER_PRINCIPAL |
principal_id = P |
Identified for informational purposes only. Not supported. Future compatibility is not guaranteed. |
metadane.SERVER |
server_id = S |
Identified for informational purposes only. Not supported. Future compatibility is not guaranteed. |
metadane.ENDPOINT |
endpoint_id = E |
Identified for informational purposes only. Not supported. Future compatibility is not guaranteed. |
metadane.ENDPOINT_WEBMETHOD |
wartość mieszania $ = H1:H2:H3 |
Identified for informational purposes only. Not supported. Future compatibility is not guaranteed. |
metadane.DB_MIRRORING_SESSION |
database_id = D |
Identified for informational purposes only. Not supported. Future compatibility is not guaranteed. |
metadane.DB_MIRRORING_WITNESS |
wartość mieszania $ = H1:H2:H3 |
Identified for informational purposes only. Not supported. Future compatibility is not guaranteed. |
metadane.SERVICE_BROKER_GUID |
wartość mieszania $ = H1:H2:H3 |
Identified for informational purposes only. Not supported. Future compatibility is not guaranteed. |
metadane.SERVICE_BROKER_GUID |
wartość mieszania $ = H1:H2:H3 |
Identified for informational purposes only. Not supported. Future compatibility is not guaranteed. |
metadane.CREDENTIAL |
credential_id = C |
Identified for informational purposes only. Not supported. Future compatibility is not guaranteed. |
metadane.INSTANTIATED_TYPE_HASH |
user_type_id = U mieszania = H1 |
Identified for informational purposes only. Not supported. Future compatibility is not guaranteed. |
metadane.SECURITY_DESCRIPTOR |
sd_id = S |
Identified for informational purposes only. Not supported. Future compatibility is not guaranteed. |
metadane.SECURITY_CACHE |
wartość mieszania $ = H1:H2:H3 |
Identified for informational purposes only. Not supported. Future compatibility is not guaranteed. |
metadane.METADATA_CACHE |
wartość mieszania $ = H1:H2:H3 |
Identified for informational purposes only. Not supported. Future compatibility is not guaranteed. |
Przykłady
A.Za pomocą sys.dm_tran_locks z innymi narzędziami
Poniższy przykład działa w przypadku scenariusza, w którym operacja aktualizacji jest zablokowany przez inną transakcję.Za pomocą sys.dm_tran_locks i innych narzędzi podano informacje dotyczące blokowania zasobów.
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
W następującej kwerendzie spowoduje wyświetlenie informacji o blokada.Wartość parametru <dbid> powinien zostać zastąpiony database_id from sys.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ąca kwerenda zwraca informacje o obiekcie za pomocą resource_associated_entity_id z poprzedniej kwerendy. Tę kwerendę należy uruchomić podczas połączenia z bazą danych, która zawiera obiekt.
SELECT object_name(object_id), *
FROM sys.partitions
WHERE hobt_id=<resource_associated_entity_id>
Następująca kwerenda pokaże blokowanie informacji.
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 przez wycofywanie transakcji.
-- Session 1
ROLLBACK;
GO
-- Session 2
ROLLBACK;
GO
B.Łączenie informacji o sesja wątki systemu operacyjnego
W poniższym przykładzie zwraca informacje, które skojarzenie IDENTYFIKATORA sesja z identyfikatorem wątek systemu Windows.W Monitorze wydajności systemu Windows można monitorować wydajność wątek.Ta kwerenda nie zwraca sesja identyfikatorów, które są aktualnie stan uśpienia.
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