sys.dm_tran_locks (Transact-SQL)

Şunlar için geçerlidir:SQL ServerAzure SQL VeritabanıAzure SQL Yönetilen ÖrneğiAzure Synapse AnalyticsAnaliz Platformu Sistemi (PDW)Microsoft Fabric'te DepoMicrosoft Fabric'te SQL veritabanı

SQL Server'da aktif olan kilit yöneticisi kaynakları hakkında bilgi döndürür. Her satır, kilit yöneticisine verilen veya onay verilmeyi bekleyen bir kilit için şu anda aktif olan bir talep anlamına gelir.

Sonuç kümesindeki sütunlar iki ana gruba ayrılır: kaynak ve istek. Kaynak grubu, kilit talebinin yapıldığı kaynağı tanımlar, istek grubu ise kilit talebini tanımlar.

Uyarı

Bunu Azure Synapse Analytics veya Analytics Platform Sistemi'nden (PDW) çağırmak için adını sys.dm_pdw_nodes_tran_lockskullanın. Bu söz dizimi, Azure Synapse Analytics'teki sunucusuz SQL havuzu tarafından desteklenmez.

Sütun adı Veri türü Açıklama
resource_type nvarchar(60) Kaynak türünü temsil eder. Değer şu olabilir:

DATABASE

FILE

OBJECT

PAGE

KEY

EXTENT

RID (Sıra Kimliği)

APPLICATION

METADATA

HOBT (Yığın veya B-ağacı)

ALLOCATION_UNIT

XACT (İşlem)

OIB (Çevrimiçi indeks oluşturma)

ROW_GROUP
resource_subtype nvarchar(60) Bir alt türünü temsil eder resource_type. Alt tip kilidi elde etmek teknik olarak geçerlidir, ana tipte alt tipli olmayan bir kilidi tutmadan. Farklı alt tipler birbirleriyle veya alt tipli olmayan ebeveyn tipiyle çelişmez. Her kaynak türünün alt tipi yoktur.
resource_database_id int Bu kaynağın kapsam alanına girdiği veritabanının kimliği. Kilit yöneticisi tarafından işlenilen tüm kaynaklar veritabanı kimliği tarafından kapsamlanır.
resource_description nvarchar(256) Yalnızca diğer kaynak sütunlarından erişilemeyen bilgileri içeren kaynağın tanımı.
resource_associated_entity_id bigint Bir kaynağın ilişkilendirildiği veritabanındaki varlığın kimliği. Bu, kaynak türüne bağlı olarak bir nesne kimliği, HoBt ID veya Tahsis Birimi ID'si olabilir.
resource_lock_partition int Bölünmüş kilit kaynağı için kilit bölümünün kimliği. Bölünmemiş kilit kaynakları için değer 'dir.0
request_mode nvarchar(60) İstek şekli. Doğal istekler için, bu izin verilen moddur; Bekleme istekleri için bu talep edilen moddur.

NULL = Kaynağa erişim izni verilmez. Bir geçici görev olarak hizmet ediyor.

Sch-S (Şema kararlılığı) = Herhangi bir oturumda şema kararlılığı kilidi tutulurken bir tablo veya indeks gibi bir şema öğesinin düşürülmemesini sağlar.

Sch-M (Şema değişikliği) = Belirtilen kaynağın şemasını değiştirmek isteyen herhangi bir oturum tarafından tutulmalıdır. Belirtilen nesneye başka oturumların referans vermediğinden emin olur.

S (Paylaşılan) = Tutma oturumuna kaynağa ortak erişim veriliyor.

U (Güncelleme) = Gelecekte güncellenebilecek kaynaklarda edinilen bir güncelleme kilidini gösterir. Birden fazla oturumun kaynakları ileride güncellemek üzere kilitlemesi durumunda ortaya çıkan yaygın bir çıkmaz türünü önlemek için kullanılır.

X (Özel) = Tutma oturumu kaynağa münhasır erişim hakkı verilir.

IS (Niyet Paylaşıldı) = Kilit hiyerarşisindeki bir alt kaynağa S kilitleri yerleştirme niyetini gösterir.

IU (Niyet Güncellemesi) = Kilit hiyerarşisindeki bir alt kaynağa U kilitleri yerleştirme niyetini gösterir.

IX (Intent Exclusive) = Kilit hiyerarşisindeki bir alt kaynağa X kilit yerleştirme niyetini gösterir.

SIU (Paylaşılan Niyet Güncellemesi) = Kilit hiyerarşisindeki alt kaynaklarda güncelleme kilitleri elde etme amacıyla bir kaynağa ortak erişim anlamına gelir.

SIX (Paylaşılan Niyet Özel) = Kilit hiyerarşisindeki alt kaynaklara münhasır kilitler elde etme amacıyla bir kaynağa ortak erişimi gösterir.

UIX (Güncelleme Niyeti Özel) = Kilit hiyerarşisindeki alt kaynaklara münhasır kilitler elde etme amacıyla bir kaynak üzerinde güncelleme kilidi tutumunu gösterir.

BU = Topluluk operasyonlarda kullanılır.

RangeS_S (Paylaşılan Key-Range ve Paylaşılan Kaynak kilidi) = Serileştirilebilir aralık taramasını gösterir.

RangeS_U (Paylaşılan Key-Range ve Kaynak Kilidini Güncelle) = Serileştirilebilir güncelleme taramasını gösterir.

RangeI_N (Insert Key-Range ve Null Resource Lock) = Bir indekse yeni bir anahtar eklemeden önce aralıkları test etmek için kullanılır.

RangeI_S = Key-Range Ve kilitlerinin üst üste RangeI_NS bakışıyla oluşturulan dönüşüm kilidi.

RangeI_U = Key-Range RangeI_N ve U kilitlerinin örtüşmesiyle oluşturulan dönüşüm kilidi.

RangeI_X = Key-Range Ve kilitlerinin üst üste RangeI_NX bakışıyla oluşturulan dönüşüm kilidi.

RangeX_S= Key-Range Dönüşüm kilidi, ve RangeI_Nile arasında bir örtüşme RangeS_S ile oluşturulur. Kilitler.

RangeX_U = Key-Range Ve kilitlerinin üst üste RangeI_NRangeS_U bakışıyla oluşturulan dönüşüm kilidi.

RangeX_X (Özel Key-Range ve Özel Kaynak kilidi) = Bu, bir anahtarın bir aralıkta güncellenirken kullanılan dönüşüm kilididir.
request_type nvarchar(60) İstek türü. Bu durumda değer LOCK olur.
request_status nvarchar(60) Bu talebin mevcut durumu. Olası değerler GRANTED: , CONVERT, WAIT, LOW_PRIORITY_CONVERT, LOW_PRIORITY_WAIT, veya ABORT_BLOCKERS. Düşük öncelikli bekleme ve iptal engellemeleri hakkında daha fazla bilgi için (Transact-SQL) bölümününALTER INDEXlow_priority_lock_wait bölümüne bakınız.
request_reference_count smallint Aynı talep edenin bu kaynağı talep ettiği yaklaşık sayıda geri dönüş sağlar.
request_lifetime int Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.
request_session_id int session_id Şu anda bu talebe sahip olan kişi. Dağıtılmış ve bağlı işlemler için sahiplik session_id değişebilir. Değeri, -2 talebin yetim kalmış dağıtılmış bir işleme ait olduğunu gösterir. Değeri, -3 talebin ertelenmiş bir kurtarma işlemine ait olduğunu gösterir; örneğin, geri alma başarıyla tamamlanamadığı için geri alınma ertelenmiş bir işlem gibi.
request_exec_context_id int Şu anda bu talebe sahip olan sürecin yürütme bağlam kimliği.
request_request_id int request_id (parti kimliği) bu talebe sahip olan süreçte. Bu değer, bir işlem için aktif Çoklu Aktif Sonuç Seti (MARS) bağlantısı değiştiğinde her değişir.
request_owner_type nvarchar(60) İsteğin sahibi olan varlık türü. Kilit yöneticisi talepleri çeşitli varlıklar tarafından sahiplenilebilir. Olası değerler şunlardır:

TRANSACTION = İstek bir işleme aittir.

CURSOR = İstek bir imleç tarafından sahiplenilir.

SESSION = İstek bir kullanıcı oturumuna aittir.

SHARED_TRANSACTION_WORKSPACE = İstek, işlem çalışma alanının paylaşılan kısmına aittir.

EXCLUSIVE_TRANSACTION_WORKSPACE = İstek, işlem çalışma alanının münhasır kısmına aittir.

NOTIFICATION_OBJECT= İstek, dahili bir SQL Server bileşenine aittir. Bu bileşen, başka bir bileşenin kilidi almak için beklediğinde kilit yöneticisinden haber vermesini istemiştir. FileTable özelliği bu değeri kullanan bir bileşendir.

Not: Çalışma alanları, asker oturumları için iç kilitleri tutmak amacıyla kullanılır.
request_owner_id bigint Bu talebin sahibinin kimliği.

Bir işlem talebin sahibi olduğunda, bu değer işlem kimliğini içerir.

Bir FileTable talebin sahibi olduğunda, request_owner_id aşağıdaki değerlerden birine sahiptir:
  • -4: Bir FileTable veritabanı kilidi aldı.
  • -3: Bir FileTable bir tablo kilidi aldı.
  • Diğer değer: Değer, bir dosya tutamasını temsil eder. Bu değer aynı zamanda dinamik fcb_id olarak da görünür.
request_owner_guid uniqueidentifier Bu talebin sahibinin GUID'i. Bu değer, yalnızca o işlem için MS DTC GUID'e karşılık gelen dağıtık bir işlem tarafından kullanılır.
request_owner_lockspace_id nvarchar(32) Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir. Bu değer, talep edenin kilit alanı kimliğini temsil eder. Lockspace ID, iki talep edicinin birbirleriyle uyumlu olup olmadığını ve aksi takdirde birbirleriyle çakışacak modlarda kilitlenme hakkı verilip verilmediğini belirler.
lock_owner_address varbinary(8) Bu isteği takip etmek için kullanılan dahili veri yapısının bellek adresi. Bu sütun, içindeki resource_addresssütunla birleştirilebilirsys.dm_os_waiting_tasks.
pdw_node_id int Bu dağıtımın üzerinde olduğu düğümün tanımlayıcısı.

için geçerlidir: Azure Synapse Analytics, Analiz Platformu Sistemi (PDW)

Permissions

SQL Server ve SQL Yönetilen Örneği'ta sys.dm_tran_locks ise izin gerektirirVIEW SERVER STATE.

SQL Veritabanı Temel,S0 ve S1 hizmet hedeflerinive elastik havuzlardaki veritabanları için, sunucu yöneticisi hesabı, Microsoft Entra yönetici hesabı veya ##MS_ServerStateReader##sunucu rolü üyeliği gereklidir. Diğer tüm SQL Veritabanı hizmet hedeflerinde, veritabanında VIEW DATABASE STATE izni veya ##MS_ServerStateReader## sunucu rolü üyeliği gereklidir.

SQL analytics endpoint ve Microsoft Fabric'te Warehouse'da, Viewer workspace rolünde üyelik, görüntülemek sys.dm_tran_locksiçin gereken minimum izindir.

SQL Server 2022 ve üzeri için izinler

SQL Server 2022 ve sonraki sürümlerde, sys.dm_tran_locks sunucu üzerinde izin gerektirirVIEW SERVER PERFORMANCE STATE.

Açıklamalar

Verilen istek durumu, talep edene bir kaynağa kilitlendiğini gösterir. Bekleme talebi, talebin henüz kabul edilmediğini gösterir. Aşağıdaki bekleme isteği türleri sütun request_status tarafından döndürülür:

  • Dönüştürme talebi durumu, talep edenin kaynak için zaten bir talebin verildiğini ve şu anda ilk talebe yükseltme beklediğini gösterir.

  • Bekleme talebi durumu, talep edenin şu anda kaynakta onaylanmış bir talebe sahip olmadığını gösterir.

İç kilit yöneticisi veri yapılarından doldurulduğu sys.dm_tran_locks için, bu bilginin korunması normal işlemeye ekstra yük eklemez. Görünümü somutlaştırmak için kilit yöneticisinin iç veri yapılarına erişim gereklidir. Bu, sunucudaki düzenli işleme üzerinde küçük etkiler yaratabilir. Bu etkiler fark edilmemeli ve sadece yoğun kullanılan kaynakları etkilemelidir. Bu görünümdeki veriler canlı kilit yöneticisi durumuna karşılık geldiğinden, veri her zaman değişebilir ve kilitler alınıp serbest bırakıldıkça satırlar eklenip kaldırılır. Bu görünümü sorgulayan uygulamalar, kilit yöneticisi yapılarının bütünlüğünü koruma doğası nedeniyle öngörülemez performans yaşayabilir. Bu görüşte tarihsel bir bilgi yoktur.

İki istek yalnızca tüm kaynak grubu sütunları eşitse aynı kaynakta çalışır.

Okuma işlemlerinin kilitlenmesini aşağıdaki araçları kullanarak kontrol edebilirsiniz:

Bir kaynağın altında session_id çalışan bir kaynak, birden fazla kilitle izin verebilir. Aynı oturum altında çalışan farklı varlıklar, aynı kaynakta kilit sahibi olabilir ve bilgiler request_owner_typerequest_owner_id , ve sütunlarında sys.dm_tran_locksgösterilir. Aynı request_owner_type örneklerin birden fazla örneği varsa, her örneği ayırt etmek için sütun request_owner_id kullanılır. Dağıtık işlemler için, request_owner_type ve request_owner_guid sütunları farklı varlık bilgilerini gösterir.

Örneğin, Oturum S1 ; Table1üzerinde paylaşılan bir kilide sahiptir ve oturum S1 altında çalışan T1 işlemi de paylaşılan kilide Table1sahiptir. Bu durumda, resource_description döndürülen sys.dm_tran_locks sütun aynı kaynağın iki örneğini gösterir. Sütun request_owner_type , bir örneği oturum olarak, diğerini ise işlem olarak gösterir. Ayrıca, sütunun resource_owner_id farklı değerleri var.

Bir oturum altında çalışan birden fazla imleç ayırt edilemez ve tek bir varlık olarak ele alınır.

Bir session_id değerle ilişkilendirilmeyen dağıtık işlemler yetim kalmış işlemlerdir ve session_id değeri atanır.-2 Daha fazla bilgi için bkz. KILL (Transact-SQL).

Locks

Kilitler, SQL Server kaynaklarında, örneğin satır işlemler sırasında okunan veya değiştirilen durumlarda, farklı işlemler tarafından aynı anda kaynakların kullanılmasını önlemek için tutulur. Örneğin, bir işlem bir masadaki bir satırda özel (X) kilit tutulursa, başka hiçbir işlem o satırı değiştiremez, ta ki kilit serbest bırakılana kadar. Kilitleri en aza indirmek eşzamanlılığı artırır ve bu da performansı artırabilir.

Kaynak ayrıntıları

Aşağıdaki tablo, sütunda resource_associated_entity_id temsil edilen kaynakları listeler.

Kaynak türü Kaynak açıklaması resource_associated_entity_id
DATABASE Bir veritabanını temsil ediyor. Uygulanamaz
FILE Bir veritabanı dosyasını temsil eder. Bu dosya ya bir veri ya da bir günlük dosyası olabilir. Uygulanamaz
OBJECT Bir veritabanındaki bir nesneyi temsil eder. Bu nesne, bir veri tablosu, görünüm, saklanan prosedür, genişletilmiş depolanmış prosedür veya nesne kimliğine sahip herhangi bir nesne olabilir. Nesne kimliği
PAGE Bir veri dosyasında tek bir sayfayı temsil eder. HoBt KİMLİĞİ. Bu değer ile karşılık gelir.sys.partitions.hobt_id Kimlik HoBt her zaman PAGE kaynakları için erişilebilir değildir çünkü HoBt bu kimlik arayan tarafından sağlanabilecek ek bilgidir ve tüm arayan bu bilgileri sağlayamıyor.
KEY Bir indeksteki bir satırı temsil eder. HoBt KİMLİĞİ. Bu değer ile karşılık gelir.sys.partitions.hobt_id
EXTENT Bir veri dosyası kapsamını temsil eder. Bir kapsam, sekiz bitişik sayfadan oluşan bir gruptur. Uygulanamaz
RID Bir yığın halinde fiziksel bir sırayı temsil eder. HoBt KİMLİĞİ. Bu değer ile karşılık gelir.sys.partitions.hobt_id Kimlik HoBt RID kaynakları için her zaman erişilebilir değildir çünkü HoBt kimlik arayan tarafından sağlanabilecek ek bilgidir ve tüm arayanlar bu bilgiyi sağlayamıyor.
APPLICATION Uygulama tarafından belirlenen bir kaynağı temsil eder. Uygulanamaz
METADATA Meta veri bilgisini temsil eder. Uygulanamaz
HOBT Bir yığını veya B-ağacını temsil eder. Bunlar temel erişim yolu yapılarıdır. HoBt KİMLİĞİ. Bu değer ile karşılık gelir.sys.partitions.hobt_id
OIB Çevrimiçi indeks (yeni)yapıyı temsil eder. HoBt KİMLİĞİ. Bu değer ile karşılık gelir.sys.partitions.hobt_id
ALLOCATION_UNIT Bir indeks bölümü gibi ilgili sayfalar kümesini temsil eder. Her ayrılım birimi, tek bir Indeks Tahsis Haritası (IAM) zincirini kapsar. Tahsis Birimi Kimliği. Bu değer ile karşılık gelir.sys.allocation_units.allocation_unit_id
ROW_GROUP Bir columnstore satır grubunu temsil eder.
XACT Bir işlemi temsil eder. Optimize edilmiş kilitleme etkinleştirildiğinde ortaya çıkar. İki senaryo vardır:

Senaryo 1 (Sahibi)
- Kaynak türü: XACT.
- Kaynak tanımı: Kilit TID tutulduğunda, resource_descriptionXACT kaynak olur.
- Kaynakla ilişkili varlık ID: resource_associated_entity_id 0'dır.

Senaryo 2 (Garson)
- Kaynak türü: XACT.
- Kaynak tanımı: Bir istek TID kilidi beklediğinde, kaynak resource_descriptionXACT ve ardından alt KEY kaynak veya RID kaynak gelir.
- Kaynakla ilişkili varlık ID: resource_associated_entity_id temel HoBt kimlik olarak kullanılır.

Uyarı

Belgelerde genellikle dizinlere başvuruda B ağacı terimi kullanılır. Rowstore dizinlerinde Veritabanı Altyapısı bir B+ ağacı uygular. Bu, sütun deposu dizinleri veya bellek için iyileştirilmiş tablolardaki dizinler için geçerli değildir. Daha fazla bilgi için SQL Server ve Azure SQL dizin mimarisi ve tasarım kılavuzuna bakın.

Aşağıdaki tablo, her kaynak tipiyle ilişkili alt tipleri listeler.

KaynakAlt Tip Eşitle
ALLOCATION_UNIT.BULK_OPERATION_PAGE Topluluk operasyonları için önceden tahsis edilen sayfalar.
ALLOCATION_UNIT.PAGE_COUNT Ertelenmiş bırakma operasyonlarında tahsis birimi sayfa sayısı istatistikleri.
DATABASE.BULKOP_BACKUP_DB Toplu işlemlerle veritabanı yedeklemeleri.
DATABASE.BULKOP_BACKUP_LOG Toplu işlemlerle veritabanı yedeklemelerini kaydet.
DATABASE.CHANGE_TRACKING_CLEANUP Takip temizleme görevlerini değiştir.
DATABASE.CT_DDL Veritabanı ve tablo düzeyinde değişim takibi DDL işlemleri.
DATABASE.CONVERSATION_PRIORITY Hizmet Brokerı konuşma öncelikli işlemleri, örneğin CREATE BROKER PRIORITY.
DATABASE.DDL Veri tanım dili (DDL) işlemleri, örneğin drop.
DATABASE.ENCRYPTION_SCAN TDE şifreleme senkronizasyonu.
DATABASE.PLANGUIDE Plan rehberi senkronizasyonu.
DATABASE.RESOURCE_GOVERNOR_DDL Kaynak yöneticisi işlemleri için DDL işlemleri, örneğin ALTER RESOURCE POOL.
DATABASE.SHRINK Veritabanı küçültme işlemleri.
DATABASE.STARTUP Veritabanı başlatma senkronizasyonu için kullanılır.
FILE.SHRINK Dosya küçültme işlemleri.
HOBT.BULK_OPERATION Toplu yükleme işlemleri, eşzamanlı tarama ile birlikte bir yığın optimizasyonlu, şu izolasyon seviyeleri altında: anlık görüntü, taahhüdlenmemiş okuma ve satır sürümleme kullanılarak okuma kararlılığı.
HOBT.INDEX_REORGANIZE Yığın veya indeks yeniden düzenleme işlemleri.
OBJECT.COMPILE Stored prosedür derle.
OBJECT.INDEX_OPERATION Endeks işlemleri.
OBJECT.UPDSTATS Tabloda istatistikler güncelleniyor.
METADATA.ASSEMBLY Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.
METADATA.ASSEMBLY_CLR_NAME Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.
METADATA.ASSEMBLY_TOKEN Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.
METADATA.ASYMMETRIC_KEY Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.
METADATA.AUDIT Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.
METADATA.AUDIT_ACTIONS Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.
METADATA.AUDIT_SPECIFICATION Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.
METADATA.AVAILABILITY_GROUP Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.
METADATA.CERTIFICATE Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.
METADATA.CHILD_INSTANCE Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.
METADATA.COMPRESSED_FRAGMENT Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.
METADATA.COMPRESSED_ROWSET Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.
METADATA.CONVERSTATION_ENDPOINT_RECV Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.
METADATA.CONVERSTATION_ENDPOINT_SEND Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.
METADATA.CONVERSATION_GROUP Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.
METADATA.CONVERSATION_PRIORITY Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.
METADATA.CREDENTIAL Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.
METADATA.CRYPTOGRAPHIC_PROVIDER Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.
METADATA.DATA_SPACE Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.
METADATA.DATABASE Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.
METADATA.DATABASE_PRINCIPAL Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.
METADATA.DB_MIRRORING_SESSION Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.
METADATA.DB_MIRRORING_WITNESS Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.
METADATA.DB_PRINCIPAL_SID Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.
METADATA.ENDPOINT Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.
METADATA.ENDPOINT_WEBMETHOD Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.
METADATA.EXPR_COLUMN Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.
METADATA.EXPR_HASH Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.
METADATA.FULLTEXT_CATALOG Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.
METADATA.FULLTEXT_INDEX Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.
METADATA.FULLTEXT_STOPLIST Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.
METADATA.INDEX_EXTENSION_SCHEME Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.
METADATA.INDEXSTATS Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.
METADATA.INSTANTIATED_TYPE_HASH Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.
METADATA.MESSAGE Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.
METADATA.METADATA_CACHE Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.
METADATA.PARTITION_FUNCTION Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.
METADATA.PASSWORD_POLICY Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.
METADATA.PERMISSIONS Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.
METADATA.PLAN_GUIDE Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.
METADATA.PLAN_GUIDE_HASH Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.
METADATA.PLAN_GUIDE_SCOPE Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.
METADATA.QNAME Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.
METADATA.QNAME_HASH Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.
METADATA.REMOTE_SERVICE_BINDING Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.
METADATA.ROUTE Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.
METADATA.SCHEMA Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.
METADATA.SECURITY_CACHE Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.
METADATA.SECURITY_DESCRIPTOR Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.
METADATA.SEQUENCE Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.
METADATA.SERVER_EVENT_SESSIONS Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.
METADATA.SERVER_PRINCIPAL Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.
METADATA.SERVICE Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.
METADATA.SERVICE_BROKER_GUID Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.
METADATA.SERVICE_CONTRACT Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.
METADATA.SERVICE_MESSAGE_TYPE Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.
METADATA.STATS Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.
METADATA.SYMMETRIC_KEY Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.
METADATA.USER_TYPE Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.
METADATA.XML_COLLECTION Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.
METADATA.XML_COMPONENT Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.
METADATA.XML_INDEX_QNAME Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.

Aşağıdaki tablo, her kaynak tipi için sütunun formatını resource_description sağlar.

Kaynak Format Açıklama
DATABASE Uygulanamaz Veritabanı kimliği zaten sütunda resource_database_id mevcut.
FILE <file_id> Bu kaynakla temsil edilen dosyanın kimliği.
OBJECT <object_id> Bu kaynakla temsil edilen nesnenin kimliği. Bu nesne, sadece bir tablo değil, içinde sys.objectslistelenen herhangi bir nesne olabilir.
PAGE <file_id>:<page_in_file> Bu kaynakla temsil edilen sayfanın dosya ve sayfa kimliğini temsil eder.
KEY <hash_value> Bu kaynakla temsil edilen satırdaki anahtar sütunların hash'ini temsil eder.
EXTENT <file_id>:<page_in_files> Bu kaynağın temsil ettiği kapsamın dosya ve sayfa kimliğini temsil eder. Kapsam ID, kapsamın ilk sayfasının sayfa kimliğiyle aynıdır.
RID <file_id>:<page_in_file>:<row_on_page> Bu kaynakla temsil edilen satırın sayfa kimliğini ve satır kimliğini temsil eder. Eğer ilişkili nesne kimliği 99 ise, bu kaynak bir IAM zincirinin ilk IAM sayfasındaki sekiz karışık sayfa yuvasından birini temsil eder.
APPLICATION <DbPrincipalId>:<up to 32 characters>:(<hash_value>) Bu uygulama kilidi kaynağını scoping etmek için kullanılan veritabanı prensipinin kimliğini temsil eder. Ayrıca, bu uygulama kilidi kaynağına karşılık gelen kaynak dizisinden 32 karaktere kadar da dahildir. Bazı durumlarda, tam dizinin artık mevcut olmaması nedeniyle sadece iki karakter görüntülenebilir. Bu davranış, yalnızca kurtarma sürecinin bir parçası olarak yeniden alınan uygulama kilitleri için veritabanı kurtarma zamanında gerçekleşir. Hash değeri, bu uygulama kilidi kaynağına karşılık gelen tam kaynak dizisinin bir hash'ını temsil eder.
HOBT Uygulanamaz HoBt ID, . resource_associated_entity_idolarak dahil edilmiştir.
ALLOCATION_UNIT Uygulanamaz Tahsis Birimi Kimliği olarak resource_associated_entity_iddahildir.
XACT <dbid>:<XdesId low>:<XdesId high> TID (işlem kimliği) kaynağı. Optimize edilmiş kilitleme etkinleştirildiğinde ortaya çıkar.
XACT KEY [XACT <dbid>:<XdesId low>:<XdesId High>] KEY (<hash_value>) İşlemin beklediği temel kaynak ve bir indeks KEY nesnesi. Optimize edilmiş kilitleme etkinleştirildiğinde ortaya çıkar.
XACT RID [XACT <dbid>:<XdesId low>:<XdesId High>] RID (<file_id>:<page_in_file>:<row_on_page>) İşlemin beklediği temel kaynak ve bir heap RID nesnesi. Optimize edilmiş kilitleme etkinleştirildiğinde ortaya çıkar.
METADATA.ASSEMBLY assembly_id = A Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.
METADATA.ASSEMBLY_CLR_NAME $qname_id = Q Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.
METADATA.ASSEMBLY_TOKEN assembly_id = A, $token_id Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.
METADATA.ASSYMMETRIC_KEY asymmetric_key_id = A Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.
METADATA.AUDIT audit_id = A Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.
METADATA.AUDIT_ACTIONS device_id = D, major_id = M Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.
METADATA.AUDIT_SPECIFICATION audit_specification_id = A Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.
METADATA.AVAILABILITY_GROUP availability_group_id = A Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.
METADATA.CERTIFICATE certificate_id = C Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.
METADATA.CHILD_INSTANCE $hash = H1:H2:H3 Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.
METADATA.COMPRESSED_FRAGMENT object_id = O , compressed_fragment_id = C Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.
METADATA.COMPRESSED_ROW object_id = O Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.
METADATA.CONVERSTATION_ENDPOINT_RECV $hash = H1:H2:H3 Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.
METADATA.CONVERSTATION_ENDPOINT_SEND $hash = H1:H2:H3 Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.
METADATA.CONVERSATION_GROUP $hash = H1:H2:H3 Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.
METADATA.CONVERSATION_PRIORITY conversation_priority_id = C Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.
METADATA.CREDENTIAL credential_id = C Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.
METADATA.CRYPTOGRAPHIC_PROVIDER provider_id = P Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.
METADATA.DATA_SPACE data_space_id = D Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.
METADATA.DATABASE database_id = D Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.
METADATA.DATABASE_PRINCIPAL principal_id = P Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.
METADATA.DB_MIRRORING_SESSION database_id = D Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.
METADATA.DB_MIRRORING_WITNESS $hash = H1:H2:H3 Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.
METADATA.DB_PRINCIPAL_SID $hash = H1:H2:H3 Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.
METADATA.ENDPOINT endpoint_id = E Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.
METADATA.ENDPOINT_WEBMETHOD $hash = H1:H2:H3 Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.
METADATA.FULLTEXT_CATALOG fulltext_catalog_id = F Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.
METADATA.FULLTEXT_INDEX object_id = O Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.
METADATA.EXPR_COLUMN object_id = O, column_id = C Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.
METADATA.EXPR_HASH object_id = O, $hash = H Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.
METADATA.FULLTEXT_CATALOG fulltext_catalog_id = F Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.
METADATA.FULLTEXT_INDEX object_id = O Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.
METADATA.FULLTEXT_STOPLIST fulltext_stoplist_id = F Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.
METADATA.INDEX_EXTENSION_SCHEME index_extension_id = I Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.
METADATA.INDEXSTATS object_id = O, index_id veya stats_id = I Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.
METADATA.INSTANTIATED_TYPE_HASH user_type_id = U, hash = H Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.
METADATA.MESSAGE message_id = M Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.
METADATA.METADATA_CACHE $hash = H1:H2:H3 Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.
METADATA.PARTITION_FUNCTION function_id = F Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.
METADATA.PASSWORD_POLICY principal_id = P Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.
METADATA.PERMISSIONS class = C Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.
METADATA.PLAN_GUIDE plan_guide_id = P Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.
METADATA.PLAN_GUIDE_HASH $hash = H1:H2:H3 Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.
METADATA.PLAN_GUIDE_SCOPE scope_id = S Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.
METADATA.QNAME $qname_id = Q Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.
METADATA.QNAME_HASH $qname_scope_id = Q, $qname_hash = H Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.
METADATA.REMOTE_SERVICE_BINDING remote_service_binding_id = R Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.
METADATA.ROUTE route_id = R Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.
METADATA.SCHEMA schema_id = S Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.
METADATA.SECURITY_CACHE $hash = H1:H2:H3 Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.
METADATA.SECURITY_DESCRIPTOR sd_id = S Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.
METADATA.SEQUENCE $seq_type = S, object_id = O Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.
METADATA.SERVER server_id = S Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.
METADATA.SERVER_EVENT_SESSIONS event_session_id = E Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.
METADATA.SERVER_PRINCIPAL principal_id = P Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.
METADATA.SERVICE service_id = S Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.
METADATA.SERVICE_BROKER_GUID $hash = H1:H2:H3 Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.
METADATA.SERVICE_CONTRACT service_contract_id = S Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.
METADATA.SERVICE_MESSAGE_TYPE message_type_id = M Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.
METADATA.STATS object_id = O, stats_id = S Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.
METADATA.SYMMETRIC_KEY symmetric_key_id = S Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.
METADATA.USER_TYPE user_type_id = U Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.
METADATA.XML_COLLECTION xml_collection_id = X Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.
METADATA.XML_COMPONENT xml_component_id = X Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.
METADATA.XML_INDEX_QNAME object_id = O, $qname_id = Q Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.

Examples

A. sys.dm_tran_locks diğer araçlarla birlikte kullanın

Aşağıdaki örnek, bir güncelleme işleminin başka bir işlem tarafından engellendiği bir senaryoda çalışır. Diğer sys.dm_tran_locks araçlar kullanılarak kilitleme kaynakları hakkında bilgi sağlanır.

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;

Aşağıdaki sorgu kilit bilgilerini gösterir. için <dbid> değer, from database_idile değiştirilmelidirsys.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>;

Aşağıdaki sorgu, önceki sorgudan alınan nesne bilgisini resource_associated_entity_id döndürür. Bu sorgu, nesneyi içeren veritabanına bağlıyken yürütülmelidir.

SELECT object_name(object_id), *
    FROM sys.partitions
    WHERE hobt_id=<resource_associated_entity_id> ;

Aşağıdaki sorgu, engelleme bilgilerini gösterir.

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;

İşlemleri geri alarak kaynakları serbest bırakın.

-- Session 1
ROLLBACK;
GO

-- Session 2
ROLLBACK;
GO

Aşağıdaki örnek, a'yı session_id Windows iş parçacığı kimliğiyle ilişkilendiren bilgileri döndürür. İş parçacığının performansı Windows Performans Monitör'de izlenebilir. Bu sorgu, şu anda uykuda olan bir session_id soruyu döndürmez.

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