sys.dm_tran_locks (SQL Bertransaksi)

Berlaku untuk:yes SQL Server (semua versi yang didukung) YesAzure SQL Database YesAzure SQL Managed Instance yesAzure Synapse Analytics Analytics yesPlatform System (PDW)

Mengembalikan informasi tentang sumber daya manajer kunci yang saat ini aktif 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 bisa menjadi salah satu hal berikut: DATABASE, FILE, OBJECT, PAGE, KEY, EXTENT, RID, APPLICATION, METADATA, HOBT, atau ALLOCATION_UNIT.
resource_subtype nvarchar(60) Mewakili subjenis resource_type. Memperoleh kunci subjenis tanpa menahan kunci nonsubtipe dari jenis induk secara teknis valid. Subjenis yang berbeda tidak bertentangan satu sama lain atau dengan jenis induk yang tidak berjenis. Tidak semua jenis sumber daya memiliki subjenis.
resource_database_id int ID database tempat sumber daya ini dilingkup. 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 lain.
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 dijatuhkan saat sesi apa pun memegang kunci stabilitas skema pada elemen skema.

Sch-M (Modifikasi skema) = Harus diadakan 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 umum kebuntuan yang terjadi ketika beberapa sesi mengunci sumber daya untuk pembaruan potensial 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 bawahan dalam hierarki kunci.

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

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

SIU (Pembaruan Niat Bersama) = Menunjukkan akses bersama ke sumber daya dengan tujuan memperoleh kunci pembaruan pada sumber daya bawahan 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 tujuan memperoleh kunci eksklusif pada sumber daya bawahan dalam hierarki kunci.

BU = Digunakan oleh operasi massal.

RangeS_S (Key-Range Bersama dan kunci Sumber Daya Bersama) = Menunjukkan pemindaian rentang yang dapat diserialisasikan.

RangeS_U (Key-Range Bersama dan Perbarui Kunci sumber daya) = Menunjukkan pemindaian pembaruan yang dapat diserialisasikan.

RangeI_N (Sisipkan Key-Range dan Kunci Sumber Daya Null) = Digunakan untuk menguji rentang sebelum menyisipkan kunci baru ke dalam indeks.

RangeI_S = kunci Konversi Key-Range, dibuat oleh tumpang tindih kunci RangeI_N dan S.

RangeI_U = kunci Konversi Key-Range, dibuat oleh tumpang tindih kunci RangeI_N dan U.

RangeI_X = kunci Konversi Key-Range, dibuat oleh tumpang tindih kunci RangeI_N dan X.

RangeX_S = kunci Konversi Key-Range, dibuat oleh tumpang tindih RangeI_N dan RangeS_S. Kunci.

RangeX_U = kunci Konversi Key-Range, dibuat oleh tumpang tindih kunci RangeI_N dan RangeS_U.

RangeX_X (Key-Range 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 yang dibatalkan, lihat bagian low_priority_lock_waitALTER 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 ID Sesi yang saat ini memiliki permintaan ini. ID sesi pemilik dapat berubah untuk transaksi terdistribusi dan terikat. Nilai -2 menunjukkan bahwa permintaan tersebut milik transaksi terdistribusi tanpa sumber. Nilai -3 menunjukkan bahwa permintaan milik transaksi pemulihan yang ditangguhkan, seperti, transaksi yang pembatalannya telah ditangguhkan saat pemulihan karena pembatalan tidak berhasil diselesaikan.
request_exec_context_id int ID konteks eksekusi dari proses yang saat ini memiliki permintaan ini.
request_request_id int ID Permintaan (ID batch) dari proses yang saat ini memiliki permintaan ini. Nilai ini akan 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. Potensi nilai:

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 sedang 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 lockspace 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 kolom resource_address 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 Azure Active Directory, 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.

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 kolom request_status :

  • 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 ID sesi 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 kolom request_owner_type dan request_owner_id yang dikembalikan oleh sys.dm_tran_locks. Jika ada beberapa instans dengan request_owner_type yang sama, kolom request_owner_id digunakan untuk membedakan setiap instans. Untuk transaksi terdistribusi, request_owner_type dan kolom request_owner_guid akan menampilkan informasi entitas yang berbeda.

Misalnya, Sesi S1 memiliki kunci bersama di Table1; dan transaksi T1, yang berjalan di bawah sesi S1, juga memiliki kunci bersama pada Table1. Dalam hal ini, kolom resource_description yang dikembalikan oleh sys.dm_tran_locks akan menampilkan dua instans sumber daya yang sama. Kolom request_owner_type akan menampilkan satu instans sebagai sesi dan yang lainnya sebagai transaksi. Selain itu, kolom resource_owner_id akan 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 nilai ID sesi adalah transaksi tanpa sumber dan diberi nilai ID sesi -2. Untuk informasi selengkapnya, lihat Pernyataan KILL (T-SQL).

Kunci

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 ini mencantumkan sumber daya yang diwakili di kolom resource_associated_entity_id .

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 database. Objek ini bisa 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. Jangkauannya 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.
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.

Catatan

SQL Server dokumentasi menggunakan istilah pohon B umumnya dalam referensi ke indeks. Dalam indeks rowstore, SQL Server mengimplementasikan pohon B+. Ini tidak berlaku untuk indeks penyimpan kolom atau penyimpanan data dalam memori. Tinjau Panduan Arsitektur dan Desain Indeks SQL Server untuk detailnya.

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

ResourceSubType Menyinkronkan
ALLOCATION_UNIT. BULK_OPERATION_PAGE Halaman yang dialokasikan sebelumnya digunakan untuk operasi massal.
ALLOCATION_UNIT. PAGE_COUNT Statistik jumlah halaman unit alokasi selama operasi penurunan yang ditangguhkan.
DATABASE. BULKOP_BACKUP_DB Pencadangan database dengan operasi massal.
DATABASE. BULKOP_BACKUP_LOG Pencadangan log database dengan operasi massal.
DATABASE. CHANGE_TRACKING_CLEANUP Ubah tugas pembersihan pelacakan.
DATABASE. CT_DDL Database dan operasi DDL pelacakan perubahan tingkat tabel.
DATABASE. CONVERSATION_PRIORITY Operasi prioritas percakapan Service Broker seperti CREATE BROKER PRIORITY.
DATABASE. DDL Operasi bahasa definisi data (DDL) dengan operasi grup file, seperti hilangkan.
DATABASE. ENCRYPTION_SCAN Sinkronisasi enkripsi TDE.
DATABASE. PLANGUIDE Merencanakan sinkronisasi panduan.
DATABASE. RESOURCE_GOVERNOR_DDL Operasi DDL untuk operasi gubernur sumber daya seperti ALTER RESOURCE POOL.
DATABASE. MENGECILKAN Operasi penyusutan database.
DATABASE. STARTUP Digunakan untuk sinkronisasi startup database.
FILE. MENGECILKAN Operasi penyusutan file.
INI HOBT. BULK_OPERATION Operasi pemuatan massal yang dioptimalkan timbunan dengan pemindaian bersamaan, di bawah tingkat isolasi ini: rekam jepret, baca yang tidak dikomit, dan baca diterapkan menggunakan penerapan versi baris.
INI HOBT. INDEX_REORGANIZE Operasi reorganisasi timbunan atau indeks.
OBJEK. MENGKOMPILASI Kompilasi prosedur tersimpan.
OBJEK. INDEX_OPERATION Operasi indeks.
OBJEK. 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. DATABASE 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. LAYANAN 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 kolom resource_description untuk setiap jenis sumber daya.

Sumber daya Format Deskripsi
DATABASE Tidak berlaku ID Database sudah tersedia di kolom resource_database_id .
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 jangkauannya 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. Perhatikan bahwa 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>:<upto 32 karakter>:(<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 2 karakter yang dapat ditampilkan karena string lengkap tidak lagi tersedia. Perilaku ini hanya terjadi pada waktu pemulihan database untuk kunci aplikasi yang diminta 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 sebagai resource_associated_entity_id.
ALLOCATION_UNIT Tidak berlaku ID Unit Alokasi disertakan sebagai resource_associated_entity_id.
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. DATABASE 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 kelas = 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. SERVER 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. LAYANAN 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.

XEvents berikut terkait dengan SWITCH partisi dan pembangunan ulang indeks online. Untuk informasi tentang sintaksis, lihat ALTER TABLE (Transact-SQL) dan ALTER INDEX (Transact-SQL).

  • lock_request_priority_state

  • process_killed_by_abort_blockers

  • ddl_with_wait_at_low_priority

Progress_report_online_index_operation XEvent yang ada untuk operasi indeks online diperluas dengan menambahkan partition_number dan partition_id.

Contoh

A. Menggunakan sys.dm_tran_locks dengan alat lain

Contoh berikut bekerja 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 ini akan 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 akan 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  

B. Menautkan informasi sesi ke utas sistem operasi

Contoh berikut mengembalikan informasi yang mengaitkan ID sesi dengan ID utas Windows. Performa utas dapat dipantau di Windows Performance Monitor. Kueri ini tidak mengembalikan ID sesi yang saat ini 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  

Lihat juga

sys.dm_tran_database_transactions (SQL Bertransaksi)
Tampilan dan Fungsi Manajemen Dinamis (SQL Transact)
Tampilan dan Fungsi Manajemen Dinamis Terkait Transaksi (SQL Transaksi)
SQL Server, Kunci Objek