sys.dm_exec_query_optimizer_memory_gateways (T-SQL)
Berlaku untuk: SQL Server 2016 (13.x) dan Azure SQL DatabaseAzure SQL Managed Instance yang lebih baru
Mengembalikan status semaphores sumber daya saat ini yang digunakan untuk membatasi pengoptimalan kueri bersamaan.
Kolom | Jenis | Deskripsi |
---|---|---|
pool_id | int | ID kumpulan sumber daya di bawah Resource Governor |
nama | nama sysname | Mengkompilasi nama gerbang (Gateway Kecil, Gateway Sedang, Gateway Besar) |
max_count | int | Jumlah maksimum kompilasi bersamaan yang dikonfigurasi |
active_count | int | Jumlah kompilasi yang saat ini aktif di gerbang ini |
waiter_count | int | Jumlah pelayan di gerbang ini |
threshold_factor | bigint | Faktor ambang batas yang menentukan bagian memori maksimum yang digunakan oleh pengoptimalan kueri. Untuk gateway kecil, threshold_factor menunjukkan penggunaan memori pengoptimal maksimum dalam byte untuk satu kueri sebelum diperlukan untuk mendapatkan akses di gateway kecil. Untuk gateway sedang dan besar, threshold_factor menunjukkan bagian dari total memori server yang tersedia untuk gerbang ini. Ini digunakan sebagai pembabung saat menghitung ambang penggunaan memori untuk gerbang. |
ambang | bigint | Memori ambang berikutnya dalam byte. Kueri diperlukan untuk mendapatkan akses ke gateway ini jika konsumsi memorinya mencapai ambang batas ini. "-1" jika kueri tidak diperlukan untuk mendapatkan akses ke gateway ini. |
is_active | bit | Apakah kueri diperlukan untuk melewati gerbang saat ini atau tidak. |
Izin
SQL Server memerlukan izin TAMPILKAN STATUS SERVER di server.
Azure SQL Database memerlukan izin TAMPILKAN STATUS DATABASE dalam database.
Izin untuk SQL Server 2022 dan yang lebih baru
Memerlukan izin TAMPILKAN STATUS PERFORMA SERVER pada server.
Keterangan
SQL Server menggunakan pendekatan gateway berjenjang untuk membatasi jumlah kompilasi bersamaan yang diizinkan. Tiga gateway digunakan, termasuk kecil, sedang dan besar. Gateway membantu mencegah kelelahan sumber daya memori secara keseluruhan oleh konsumen yang membutuhkan memori kompilasi yang lebih besar.
Menunggu di gateway mengakibatkan kompilasi tertunda. Selain penundaan kompilasi, permintaan yang dibatasi akan memiliki akumulasi jenis tunggu RESOURCE_SEMAPHORE_QUERY_COMPILE terkait. Jenis tunggu RESOURCE_SEMAPHORE_QUERY_COMPILE dapat menunjukkan bahwa kueri menggunakan sejumlah besar memori untuk kompilasi dan memori telah habis, atau atau ada cukup memori yang tersedia secara keseluruhan, namun unit yang tersedia di gateway tertentu telah habis. Output sys.dm_exec_query_optimizer_memory_gateways dapat digunakan untuk memecahkan masalah skenario di mana memori tidak mencukupi untuk mengkompilasi rencana eksekusi kueri.
Contoh
J. Menampilkan statistik pada semaphores sumber daya
Apa statistik gateway memori pengoptimal saat ini untuk instans SQL Server ini?
SELECT [pool_id], [name], [max_count], [active_count],
[waiter_count], [threshold_factor], [threshold],
[is_active]
FROM sys.dm_exec_query_optimizer_memory_gateways;
Lihat Juga
Tampilan dan Fungsi Manajemen Dinamis (Transact-SQL)
Tampilan dan Fungsi Manajemen Dinamis Terkait Eksekusi (Transact-SQL)
Cara menggunakan perintah DBCC MEMORYSTATUS untuk memantau penggunaan memori pada kompilasi kueri SQL Server 2005Besar menunggu di RESOURCE_SEMAPHORE_QUERY_COMPILE di SQL Server 2014
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk