Bagikan melalui


sys.dm_tran_locks (T-SQL)

Berlaku untuk: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW) Warehouse di Microsoft Fabric

Mengembalikan informasi tentang sumber daya manajer kunci aktif saat ini di SQL Server. Setiap baris mewakili permintaan aktif saat ini ke manajer kunci untuk kunci yang telah diberikan atau sedang menunggu untuk diberikan.

Kolom dalam tataan hasil dibagi menjadi dua grup utama: sumber daya dan permintaan. Grup sumber daya menjelaskan sumber daya tempat permintaan kunci dibuat, dan grup permintaan menjelaskan permintaan kunci.

Catatan

Untuk memanggil ini dari Azure Synapse Analytics atau Analytics Platform System (PDW), gunakan nama sys.dm_pdw_nodes_tran_locks. Sintaks ini tidak didukung oleh kumpulan SQL tanpa server di Azure Synapse Analytics.

Nama kolom Jenis data Deskripsi
resource_type nvarchar(60) Mewakili jenis sumber daya. Nilainya dapat berupa:

DATABASE

FILE

OBJECT

PAGE

KEY

SEJAUH

RID (ID Baris)

APLIKASI

METADATA

HOBT (Heap atau B-tree)

ALLOCATION_UNIT

XACT (Transaksi)

OIB (Build indeks online)

ROW_GROUP
resource_subtype nvarchar(60) Mewakili subjenis .resource_type Memperoleh kunci subjenis tanpa menahan kunci non-subtipe dari jenis induk secara teknis valid. Subjenis yang berbeda tidak berkonflik satu sama lain atau dengan jenis induk non-subjenis. Tidak semua jenis sumber daya memiliki subjenis.
resource_database_id int ID database tempat sumber daya ini dilingkupkan. Semua sumber daya yang ditangani oleh manajer kunci dilingkup oleh ID database.
resource_description nvarchar(256) Deskripsi sumber daya yang hanya berisi informasi yang tidak tersedia dari kolom sumber daya lainnya.
resource_associated_entity_id bigint ID entitas dalam database tempat sumber daya dikaitkan. Ini bisa menjadi ID objek, ID HOBT, atau ID Unit Alokasi, tergantung pada jenis sumber daya.
resource_lock_partition Int ID partisi kunci untuk sumber daya kunci yang dipartisi. Nilai untuk sumber daya kunci yang tidak dipartisi adalah 0.
request_mode nvarchar(60) Mode permintaan. Untuk permintaan yang diberikan, ini adalah mode yang diberikan; untuk permintaan menunggu, ini adalah mode yang diminta.

NULL = Tidak ada akses yang diberikan ke sumber daya. Berfungsi sebagai tempat penampung.

Sch-S (Stabilitas skema) = Memastikan bahwa elemen skema, seperti tabel atau indeks, tidak dihilangkan saat sesi apa pun memegang kunci stabilitas skema pada elemen skema.

Sch-M (Modifikasi skema) = Harus dipegang oleh sesi apa pun yang ingin mengubah skema sumber daya yang ditentukan. Memastikan bahwa tidak ada sesi lain yang mereferensikan objek yang ditunjukkan.

S (Bersama) = Sesi penahanan diberikan akses bersama ke sumber daya.

U (Pembaruan) = Menunjukkan kunci pembaruan yang diperoleh pada sumber daya yang akhirnya dapat diperbarui. Ini digunakan untuk mencegah bentuk kebuntuan umum yang terjadi ketika beberapa sesi mengunci sumber daya untuk potensi pembaruan di masa mendatang.

X (Eksklusif) = Sesi penahanan diberikan akses eksklusif ke sumber daya.

IS (Niat Bersama) = Menunjukkan niat untuk menempatkan kunci S pada beberapa sumber daya subordinat dalam hierarki kunci.

IU (Pembaruan Niat) = Menunjukkan niat untuk menempatkan kunci U pada beberapa sumber daya subordinat dalam hierarki kunci.

IX (Intent Exclusive) = Menunjukkan niat untuk menempatkan kunci X pada beberapa sumber daya subordinat dalam hierarki kunci.

SIU (Pembaruan Niat Bersama) = Menunjukkan akses bersama ke sumber daya dengan tujuan memperoleh kunci pembaruan pada sumber daya subordinat dalam hierarki kunci.

SIX (Shared Intent Exclusive) = Menunjukkan akses bersama ke sumber daya dengan tujuan memperoleh kunci eksklusif pada sumber daya bawahan dalam hierarki kunci.

UIX (Perbarui Niat Eksklusif) = Menunjukkan penangguhan kunci pembaruan pada sumber daya dengan niat memperoleh kunci eksklusif pada sumber daya bawahan dalam hierarki kunci.

BU = Digunakan oleh operasi massal.

RangeS_S (Rentang Kunci Bersama dan kunci Sumber Daya Bersama) = Menunjukkan pemindaian rentang yang dapat diserialisasikan.

RangeS_U (Kunci Bersama-Rentang dan Perbarui Kunci Sumber Daya) = Menunjukkan pemindaian pembaruan yang dapat diserialisasikan.

RangeI_N (Sisipkan Rentang Kunci dan Kunci Sumber Daya Null) = Digunakan untuk menguji rentang sebelum memasukkan kunci baru ke dalam indeks.

RangeI_S = Kunci Konversi Rentang Kunci, dibuat oleh tumpang tindih kunci RangeI_N dan S.

RangeI_U = Kunci Konversi Rentang Kunci, dibuat oleh tumpang tindih kunci RangeI_N dan U.

RangeI_X = Kunci Konversi Rentang Kunci, dibuat oleh tumpang tindih kunci RangeI_N dan X.

RangeX_S = Kunci Konversi Rentang Kunci, dibuat oleh tumpang tindih RangeI_N dan RangeS_S. Kunci.

RangeX_U = Kunci Konversi Rentang Kunci, dibuat oleh tumpang tindih kunci RangeI_N dan RangeS_U.

RangeX_X (Rentang Kunci Eksklusif dan Kunci Sumber Daya Eksklusif) = Ini adalah kunci konversi yang digunakan saat memperbarui kunci dalam rentang.
request_type nvarchar(60) Jenis permintaan. Nilainya adalah LOCK.
request_status nvarchar(60) Status permintaan ini saat ini. Nilai yang mungkin adalah GRANTED, CONVERT, WAIT, LOW_PRIORITY_CONVERT, LOW_PRIORITY_WAIT, atau ABORT_BLOCKERS. Untuk informasi selengkapnya tentang penantian prioritas rendah dan pemblokir pemblokir, lihat bagian low_priority_lock_wait ALTER INDEX (Transact-SQL).
request_reference_count smallint Mengembalikan perkiraan berapa kali pemohon yang sama telah meminta sumber daya ini.
request_lifetime int Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
request_session_id int session_id yang saat ini memiliki permintaan ini. session_id Pemilik dapat berubah untuk transaksi terdistribusi dan terikat. Nilai -2 menunjukkan bahwa permintaan tersebut milik transaksi terdistribusi tanpa intim. Nilai -3 menunjukkan bahwa permintaan milik transaksi pemulihan yang ditangguhkan, seperti, transaksi di mana pemutaran kembali telah ditangguhkan saat pemulihan karena pemutaran kembali tidak berhasil diselesaikan.
request_exec_context_id int ID konteks eksekusi proses yang saat ini memiliki permintaan ini.
request_request_id int request_id (ID batch) dari proses yang saat ini memiliki permintaan ini. Nilai ini berubah setiap kali koneksi Multiple Active Result Set (MARS) aktif untuk perubahan transaksi.
request_owner_type nvarchar(60) Jenis entitas yang memiliki permintaan. Permintaan manajer kunci dapat dimiliki oleh berbagai entitas. Kemungkinan nilai adalah:

TRANSACTION = Permintaan dimiliki oleh transaksi.

CURSOR = Permintaan dimiliki oleh kursor.

SESSION = Permintaan dimiliki oleh sesi pengguna.

SHARED_TRANSACTION_WORKSPACE = Permintaan dimiliki oleh bagian bersama dari ruang kerja transaksi.

EXCLUSIVE_TRANSACTION_WORKSPACE = Permintaan dimiliki oleh bagian eksklusif dari ruang kerja transaksi.

NOTIFICATION_OBJECT = Permintaan dimiliki oleh komponen SQL Server internal. Komponen ini telah meminta manajer kunci untuk memberi tahunya ketika komponen lain menunggu untuk mengambil kunci. Fitur FileTable adalah komponen yang menggunakan nilai ini.

Catatan: Ruang kerja digunakan secara internal untuk menahan kunci untuk sesi yang terdaftar.
request_owner_id bigint ID pemilik spesifik permintaan ini.

Ketika transaksi adalah pemilik permintaan, nilai ini berisi ID transaksi.

Saat FileTable adalah pemilik permintaan, request_owner_id memiliki salah satu nilai berikut:
request_owner_guid pengidentifikasi unik GUID pemilik spesifik permintaan ini. Nilai ini hanya digunakan oleh transaksi terdistribusi di mana nilai sesuai dengan GUID MS DTC untuk transaksi tersebut.
request_owner_lockspace_id nvarchar(32) Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin. Nilai ini mewakili ID ruang kunci pemohon. ID ruang kunci menentukan apakah dua pemohon kompatibel satu sama lain dan dapat diberikan kunci dalam mode yang sebaliknya akan bertentangan satu sama lain.
lock_owner_address varbinary(8) Alamat memori struktur data internal yang digunakan untuk melacak permintaan ini. Kolom ini dapat digabungkan dengan resource_address kolom di sys.dm_os_waiting_tasks.
pdw_node_id int Berlaku untuk: Azure Synapse Analytics, Analytics Platform System (PDW)

Pengidentifikasi untuk simpul tempat distribusi ini aktif.

Izin

Pada SQL Server dan SQL Managed Instance, memerlukan VIEW SERVER STATE izin.

Pada tujuan layanan SQL Database Basic, S0, dan S1, dan untuk database di kumpulan elastis, akun admin server, akun admin Microsoft Entra, atau keanggotaan dalam ##MS_ServerStateReader## peran server diperlukan. Pada semua tujuan layanan SQL Database lainnya, izin VIEW DATABASE STATE pada database, atau keanggotaan dalam ##MS_ServerStateReader## peran server diperlukan.

Izin untuk SQL Server 2022 dan yang lebih baru

Memerlukan izin TAMPILKAN STATUS PERFORMA SERVER pada server.

Keterangan

Status permintaan yang diberikan menunjukkan bahwa kunci telah diberikan pada sumber daya kepada pemohon. Permintaan menunggu menunjukkan bahwa permintaan belum diberikan. Jenis permintaan tunggu berikut dikembalikan oleh request_status kolom:

  • Status permintaan konversi menunjukkan bahwa pemohon telah diberikan permintaan untuk sumber daya dan saat ini menunggu peningkatan ke permintaan awal yang akan diberikan.

  • Status permintaan tunggu menunjukkan bahwa pemohon saat ini tidak menyimpan permintaan yang diberikan pada sumber daya.

Karena sys.dm_tran_locks diisi dari struktur data manajer kunci internal, mempertahankan informasi ini tidak menambahkan overhead ekstra ke pemrosesan reguler. Materialisasi tampilan memang memerlukan akses ke struktur data internal manajer kunci. Ini dapat memiliki efek kecil pada pemrosesan reguler di server. Efek ini harus tidak dapat disinggung dan hanya boleh mempengaruhi sumber daya yang banyak digunakan. Karena data dalam tampilan ini sesuai dengan status manajer kunci langsung, data dapat berubah kapan saja, dan baris ditambahkan dan dihapus saat kunci diperoleh dan dirilis. Aplikasi yang mengkueri tampilan ini mungkin mengalami performa yang tidak dapat diprediksi karena sifat melindungi integritas struktur manajer kunci. Tampilan ini tidak memiliki informasi historis.

Dua permintaan beroperasi pada sumber daya yang sama hanya jika semua kolom grup sumber daya sama.

Anda dapat mengontrol penguncian operasi baca dengan menggunakan alat berikut:

Sumber daya yang berjalan di bawah satu session_id dapat memiliki lebih dari satu kunci yang diberikan. Entitas berbeda yang berjalan di bawah satu sesi masing-masing dapat memiliki kunci pada sumber daya yang sama, dan informasi ditampilkan di request_owner_type kolom dan request_owner_id yang dikembalikan oleh sys.dm_tran_locks. Jika beberapa instans yang sama request_owner_type ada, request_owner_id kolom digunakan untuk membedakan setiap instans. Untuk transaksi terdistribusi, request_owner_type dan request_owner_guid kolom menunjukkan informasi entitas yang berbeda.

Misalnya, Sesi S1 memiliki kunci bersama pada Table1; dan transaksi T1, yang berjalan di bawah sesi S1, juga memiliki kunci bersama pada Table1. Dalam hal ini, resource_description kolom yang dikembalikan oleh sys.dm_tran_locks menunjukkan dua instans sumber daya yang sama. Kolom request_owner_type menunjukkan satu instans sebagai sesi dan yang lain sebagai transaksi. Selain itu resource_owner_id , kolom memiliki nilai yang berbeda.

Beberapa kursor yang berjalan di bawah satu sesi tidak dapat dibedakan dan diperlakukan sebagai satu entitas.

Transaksi terdistribusi yang tidak terkait dengan session_id nilai adalah transaksi tanpa sumber dan diberi session_id nilai .-2 Untuk informasi selengkapnya, lihat Pernyataan KILL (T-SQL).

Penguncian

Kunci ditahan pada sumber daya SQL Server, seperti baris yang dibaca atau dimodifikasi selama transaksi, untuk mencegah penggunaan sumber daya secara bersamaan oleh transaksi yang berbeda. Misalnya, jika kunci eksklusif (X) ditahan pada baris dalam tabel oleh transaksi, tidak ada transaksi lain yang dapat memodifikasi baris tersebut hingga kunci dilepaskan. Meminimalkan kunci meningkatkan konkurensi, yang dapat meningkatkan performa.

Detail sumber daya

Tabel berikut mencantumkan sumber daya yang diwakili dalam resource_associated_entity_id kolom.

Jenis Sumber Daya Deskripsi sumber daya resource_associated_entity_id
DATABASE Mewakili database. Tidak berlaku
FILE Mewakili file database. File ini bisa berupa data atau file log. Tidak berlaku
OBJECT Mewakili objek dalam database. Objek ini dapat berupa tabel data, tampilan, prosedur tersimpan, prosedur tersimpan yang diperluas, atau objek apa pun yang memiliki ID objek. ID Objek
PAGE Mewakili satu halaman dalam file data. ID HoBt. Nilai ini sesuai dengan sys.partitions.hobt_id. ID HoBt tidak selalu tersedia untuk sumber daya PAGE karena ID HoBt adalah informasi tambahan yang dapat disediakan oleh pemanggil, dan tidak semua penelepon dapat memberikan informasi ini.
KEY Mewakili baris dalam indeks. ID HoBt. Nilai ini sesuai dengan sys.partitions.hobt_id.
SEJAUH Mewakili tingkat file data. Luasnya adalah sekelompok delapan halaman yang berdekatan. Tidak berlaku
RID Mewakili baris fisik dalam timbunan. ID HoBt. Nilai ini sesuai dengan sys.partitions.hobt_id. ID HoBt tidak selalu tersedia untuk sumber daya RID karena ID HoBt adalah informasi tambahan yang dapat disediakan oleh pemanggil, dan tidak semua penelepon dapat memberikan informasi ini.
APLIKASI Mewakili sumber daya yang ditentukan aplikasi. Tidak berlaku
METADATA Mewakili informasi metadata. Tidak berlaku
HOBT Mewakili timbunan atau pohon B. Ini adalah struktur jalur akses dasar. ID HoBt. Nilai ini sesuai dengan sys.partitions.hobt_id.
OIB Mewakili build indeks online (re).build. ID HoBt. Nilai ini sesuai dengan sys.partitions.hobt_id.
ALLOCATION_UNIT Mewakili sekumpulan halaman terkait, seperti partisi indeks. Setiap unit alokasi mencakup satu rantai Peta Alokasi Indeks (IAM). ID Unit Alokasi. Nilai ini sesuai dengan sys.allocation_units.allocation_unit_id.
ROW_GROUP Mewakili grup baris penyimpan kolom.
XACT Mewakili transaksi. Terjadi ketika penguncian yang dioptimalkan diaktifkan. Ada dua skenario:

Skenario 1 (Pemilik)
- Jenis sumber daya: XACT.
- Deskripsi sumber daya: Saat kunci TID ditahan, resource_description adalah sumber dayanya XACT .
- ID entitas terkait sumber daya: resource_associated_entity_id adalah 0.

Skenario 2 (Pelayan)
- Jenis sumber daya: XACT.
- Deskripsi sumber daya: Saat permintaan menunggu kunci TID, resource_description adalah XACT sumber daya yang diikuti oleh sumber daya atau RID yang mendasarKEY.
- ID entitas terkait sumber daya: resource_associated_entity_id adalah ID HoBt yang mendasar.

Catatan

Dokumentasi menggunakan istilah pohon B umumnya dalam referensi ke indeks. Dalam indeks rowstore, Mesin Database mengimplementasikan pohon B+. Ini tidak berlaku untuk indeks penyimpan kolom atau indeks pada tabel yang dioptimalkan memori. Untuk informasi selengkapnya, lihat panduan arsitektur dan desain indeks SQL Server dan Azure SQL.

Tabel berikut mencantumkan subjenis yang terkait dengan setiap jenis sumber daya.

ResourceSubType Menyinkronkan
ALLOCATION_UNIT. BULK_OPERATION_PAGE Halaman yang telah dialokasikan sebelumnya digunakan untuk operasi massal.
ALLOCATION_UNIT. PAGE_COUNT Statistik jumlah halaman unit alokasi selama operasi penurunan yang ditangguhkan.
BASIS DATA. BULKOP_BACKUP_DB Pencadangan database dengan operasi massal.
BASIS DATA. BULKOP_BACKUP_LOG Pencadangan log database dengan operasi massal.
BASIS DATA. CHANGE_TRACKING_CLEANUP Mengubah tugas pembersihan pelacakan.
BASIS DATA. CT_DDL Database dan operasi DDL pelacakan perubahan tingkat tabel.
BASIS DATA. CONVERSATION_PRIORITY Operasi prioritas percakapan Service Broker seperti CREATE BROKER PRIORITY.
BASIS DATA. DDL Operasi bahasa definisi data (DDL) dengan operasi grup file, seperti drop.
BASIS DATA. ENCRYPTION_SCAN Sinkronisasi enkripsi TDE.
BASIS DATA. PLANGUIDE Merencanakan sinkronisasi panduan.
BASIS DATA. RESOURCE_GOVERNOR_DDL Operasi DDL untuk operasi gubernur sumber daya seperti ALTER RESOURCE POOL.
BASIS DATA. KECUT Operasi penyusutan database.
BASIS DATA. STARTUP Digunakan untuk sinkronisasi startup database.
ARSIP. KECUT Operasi penyusutan file.
INI HOBT. BULK_OPERATION Operasi pemuatan massal yang dioptimalkan tumpukan dengan pemindaian bersamaan, di bawah tingkat isolasi ini: rekam jepret, baca tidak dikomit, dan baca yang diterapkan menggunakan penerapan versi baris.
INI HOBT. INDEX_REORGANIZE Operasi reorganisasi timbunan atau indeks.
BENDA. MENGKOMPILASI Kompilasi prosedur tersimpan.
BENDA. INDEX_OPERATION Operasi indeks.
BENDA. UPDSTATS Pembaruan statistik pada tabel.
METADATA. MAJELIS Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
METADATA. ASSEMBLY_CLR_NAME Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
METADATA. ASSEMBLY_TOKEN Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
METADATA. ASYMMETRIC_KEY Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
METADATA. AUDIT Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
METADATA. AUDIT_ACTIONS Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
METADATA. AUDIT_SPECIFICATION Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
METADATA. AVAILABILITY_GROUP Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
METADATA. SERTIFIKAT Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
METADATA. CHILD_INSTANCE Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
METADATA. COMPRESSED_FRAGMENT Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
METADATA. COMPRESSED_ROWSET Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
METADATA. CONVERSTATION_ENDPOINT_RECV Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
METADATA. CONVERSTATION_ENDPOINT_SEND Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
METADATA. CONVERSATION_GROUP Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
METADATA. CONVERSATION_PRIORITY Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
METADATA. CREDENTIAL Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
METADATA. CRYPTOGRAPHIC_PROVIDER Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
METADATA. DATA_SPACE Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
METADATA. BASIS DATA Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
METADATA. DATABASE_PRINCIPAL Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
METADATA. DB_MIRRORING_SESSION Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
METADATA. DB_MIRRORING_WITNESS Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
METADATA. DB_PRINCIPAL_SID Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
METADATA. ENDPOINT Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
METADATA. ENDPOINT_WEBMETHOD Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
METADATA. EXPR_COLUMN Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
METADATA. EXPR_HASH Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
METADATA. FULLTEXT_CATALOG Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
METADATA. FULLTEXT_INDEX Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
METADATA. FULLTEXT_STOPLIST Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
METADATA. INDEX_EXTENSION_SCHEME Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
METADATA. INDEXSTATS Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
METADATA. INSTANTIATED_TYPE_HASH Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
METADATA. PESAN Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
METADATA. METADATA_CACHE Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
METADATA. PARTITION_FUNCTION Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
METADATA. PASSWORD_POLICY Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
METADATA. IZIN Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
METADATA. PLAN_GUIDE Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
METADATA. PLAN_GUIDE_HASH Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
METADATA. PLAN_GUIDE_SCOPE Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
METADATA. QNAME Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
METADATA. QNAME_HASH Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
METADATA. REMOTE_SERVICE_BINDING Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
METADATA. RUTE Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
METADATA. SKEMA Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
METADATA. SECURITY_CACHE Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
METADATA. SECURITY_DESCRIPTOR Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
METADATA. URUTAN Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
METADATA. SERVER_EVENT_SESSIONS Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
METADATA. SERVER_PRINCIPAL Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
METADATA. DINAS Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
METADATA. SERVICE_BROKER_GUID Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
METADATA. SERVICE_CONTRACT Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
METADATA. SERVICE_MESSAGE_TYPE Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
METADATA. STATISTIK Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
METADATA. SYMMETRIC_KEY Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
METADATA. USER_TYPE Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
METADATA.XML_COLLECTION Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
METADATA.XML_COMPONENT Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
METADATA.XML_INDEX_QNAME Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.

Tabel berikut ini menyediakan format resource_description kolom untuk setiap jenis sumber daya.

Sumber daya Format Deskripsi
DATABASE Tidak berlaku ID database sudah tersedia di resource_database_id kolom.
FILE <file_id> ID file yang diwakili oleh sumber daya ini.
OBJECT <object_id> ID objek yang diwakili oleh sumber daya ini. Objek ini dapat berupa objek apa pun yang tercantum dalam sys.objects, bukan hanya tabel.
PAGE <file_id>:<page_in_file> Mewakili FILE dan ID halaman halaman yang diwakili oleh sumber daya ini.
KEY <hash_value> Mewakili hash kolom kunci dari baris yang diwakili oleh sumber daya ini.
SEJAUH <file_id>:<page_in_files> Mewakili FILE dan ID halaman sejauh yang diwakili oleh sumber daya ini. ID tingkatnya sama dengan ID halaman halaman pertama sejauh ini.
RID <file_id>:<page_in_file>:<row_on_page> Mewakili ID halaman dan ID baris baris yang diwakili oleh sumber daya ini. Jika ID objek terkait adalah 99, sumber daya ini mewakili salah satu dari delapan slot halaman campuran pada halaman IAM pertama dari rantai IAM.
APLIKASI <DbPrincipalId>:<up to 32 characters>:(<hash_value>) Mewakili ID prinsipal database yang digunakan untuk mencakup sumber daya kunci aplikasi ini. Juga disertakan hingga 32 karakter dari string sumber daya yang sesuai dengan sumber daya kunci aplikasi ini. Dalam kasus tertentu, hanya dua karakter yang dapat ditampilkan karena string lengkap tidak lagi tersedia. Perilaku ini hanya terjadi pada waktu pemulihan database untuk kunci aplikasi yang diterima kembali sebagai bagian dari proses pemulihan. Nilai hash mewakili hash string sumber daya lengkap yang sesuai dengan sumber daya kunci aplikasi ini.
HOBT Tidak berlaku ID HoBt disertakan resource_associated_entity_idsebagai .
ALLOCATION_UNIT Tidak berlaku ID Unit Alokasi disertakan resource_associated_entity_idsebagai .
XACT <dbid>:<XdesId low>:<XdesId high> Sumber daya TID (ID transaksi). Terjadi ketika penguncian yang dioptimalkan diaktifkan.
KUNCI XACT [XACT <dbid>:<XdesId low>:<XdesId High>] KEY (<hash_value>) Sumber daya yang mendasar yang dinanti transaksi, dengan objek KEY indeks. Terjadi ketika penguncian yang dioptimalkan diaktifkan.
XACT RID [XACT <dbid>:<XdesId low>:<XdesId High>] RID (<file_id>:<page_in_file>:<row_on_page>) Sumber daya yang mendasar yang dinanti transaksi, dengan objek HEAP RID. Terjadi ketika penguncian yang dioptimalkan diaktifkan.
METADATA. MAJELIS assembly_id = A Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
METADATA. ASSEMBLY_CLR_NAME $qname_id = Q Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
METADATA. ASSEMBLY_TOKEN assembly_id = A, $token_id Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
METADATA. ASSYMMETRIC_KEY asymmetric_key_id = A Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
METADATA. AUDIT audit_id = A Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
METADATA. AUDIT_ACTIONS device_id = D, major_id = M Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
METADATA. AUDIT_SPECIFICATION audit_specification_id = A Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
METADATA. AVAILABILITY_GROUP availability_group_id = A Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
METADATA. SERTIFIKAT certificate_id = C Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
METADATA. CHILD_INSTANCE $hash = H1:H2:H3 Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
METADATA. COMPRESSED_FRAGMENT object_id = O , compressed_fragment_id = C Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
METADATA. COMPRESSED_ROW object_id = O Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
METADATA. CONVERSTATION_ENDPOINT_RECV $hash = H1:H2:H3 Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
METADATA. CONVERSTATION_ENDPOINT_SEND $hash = H1:H2:H3 Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
METADATA. CONVERSATION_GROUP $hash = H1:H2:H3 Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
METADATA. CONVERSATION_PRIORITY conversation_priority_id = C Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
METADATA. CREDENTIAL credential_id = C Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
METADATA. CRYPTOGRAPHIC_PROVIDER provider_id = P Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
METADATA. DATA_SPACE data_space_id = D Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
METADATA. BASIS DATA database_id = D Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
METADATA. DATABASE_PRINCIPAL principal_id = P Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
METADATA. DB_MIRRORING_SESSION database_id = D Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
METADATA. DB_MIRRORING_WITNESS $hash = H1:H2:H3 Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
METADATA. DB_PRINCIPAL_SID $hash = H1:H2:H3 Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
METADATA. ENDPOINT endpoint_id = E Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
METADATA. ENDPOINT_WEBMETHOD $hash = H1:H2:H3 Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
METADATA. FULLTEXT_CATALOG fulltext_catalog_id = F Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
METADATA. FULLTEXT_INDEX object_id = O Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
METADATA. EXPR_COLUMN object_id = O, column_id = C Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
METADATA. EXPR_HASH object_id = O, $hash = H Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
METADATA. FULLTEXT_CATALOG fulltext_catalog_id = F Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
METADATA. FULLTEXT_INDEX object_id = O Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
METADATA. FULLTEXT_STOPLIST fulltext_stoplist_id = F Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
METADATA. INDEX_EXTENSION_SCHEME index_extension_id = I Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
METADATA. INDEXSTATS object_id = O, index_id atau stats_id = I Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
METADATA. INSTANTIATED_TYPE_HASH user_type_id = U, hash = H Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
METADATA. PESAN message_id = M Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
METADATA. METADATA_CACHE $hash = H1:H2:H3 Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
METADATA. PARTITION_FUNCTION function_id = F Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
METADATA. PASSWORD_POLICY principal_id = P Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
METADATA. IZIN class = C Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
METADATA. PLAN_GUIDE plan_guide_id = P Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
METADATA. PLAN_GUIDE_HASH $hash = H1:H2:H3 Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
METADATA. PLAN_GUIDE_SCOPE scope_id = S Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
METADATA. QNAME $qname_id = Q Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
METADATA. QNAME_HASH $qname_scope_id = Q, $qname_hash = H Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
METADATA. REMOTE_SERVICE_BINDING remote_service_binding_id = R Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
METADATA. RUTE route_id = R Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
METADATA. SKEMA schema_id = S Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
METADATA. SECURITY_CACHE $hash = H1:H2:H3 Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
METADATA. SECURITY_DESCRIPTOR sd_id = S Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
METADATA. URUTAN $seq_type = S, object_id = O Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
METADATA. PELADEN server_id = S Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
METADATA. SERVER_EVENT_SESSIONS event_session_id = E Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
METADATA. SERVER_PRINCIPAL principal_id = P Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
METADATA. DINAS service_id = S Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
METADATA. SERVICE_BROKER_GUID $hash = H1:H2:H3 Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
METADATA. SERVICE_CONTRACT service_contract_id = S Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
METADATA. SERVICE_MESSAGE_TYPE message_type_id = M Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
METADATA. STATISTIK object_id = O, stats_id = S Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
METADATA. SYMMETRIC_KEY symmetric_key_id = S Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
METADATA. USER_TYPE user_type_id = U Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
METADATA.XML_COLLECTION xml_collection_id = X Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
METADATA.XML_COMPONENT xml_component_id = X Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
METADATA.XML_INDEX_QNAME object_id = O, $qname_id = Q Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.

Contoh

J. Menggunakan sys.dm_tran_locks dengan alat lain

Contoh berikut berfungsi dengan skenario di mana operasi pembaruan diblokir oleh transaksi lain. Dengan menggunakan sys.dm_tran_locks dan alat lainnya, informasi tentang mengunci sumber daya disediakan.

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;

Kueri berikut menampilkan informasi kunci. Nilai untuk <dbid> harus diganti dengan database_id dari 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>;

Kueri berikut mengembalikan informasi objek dengan menggunakan resource_associated_entity_id dari kueri sebelumnya. Kueri ini harus dijalankan saat Anda tersambung ke database yang berisi objek.

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

Kueri berikut ini memperlihatkan informasi pemblokiran.

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;

Rilis sumber daya dengan menggulung balik transaksi.

-- Session 1
ROLLBACK;
GO

-- Session 2
ROLLBACK;
GO

Contoh berikut mengembalikan informasi yang mengaitkan dengan ID utas session_id Windows. Performa utas dapat dipantau di Monitor Performa Windows. Kueri ini tidak mengembalikan yang session_id sedang tidur.

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