sys.database_query_store_options (T-SQL)
Berlaku untuk: SQL Server 2016 (13.x) dan yang lebih baru Azure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics
Mengembalikan opsi Penyimpanan Kueri untuk database ini.
Berlaku untuk: SQL Server (SQL Server 2016 (13.x) dan yang lebih baru), SQL Database.
Nama kolom | Jenis data | Deskripsi |
---|---|---|
desired_state | smallint | Menunjukkan mode operasi yang diinginkan dari Penyimpanan Kueri, secara eksplisit diatur oleh pengguna. 0 = NONAKTIF 1 = READ_ONLY 2 = READ_WRITE 4 = READ_CAPTURE_SECONDARY |
desired_state_desc | nvarchar(60) | Deskripsi tekstual mode operasi yang diinginkan dari Penyimpanan Kueri: TIDAK AKTIF READ_ONLY BACA_TULIS READ_CAPTURE_SECONDARY |
actual_state | smallint | Menunjukkan mode operasi Penyimpanan Kueri. Selain daftar status yang diinginkan yang diperlukan oleh pengguna, status aktual dapat menjadi status kesalahan. 0 = NONAKTIF 1 = READ_ONLY 2 = READ_WRITE 3 = KESALAHAN 4 = READ_CAPTURE_SECONDARY |
actual_state_desc | nvarchar(60) | Deskripsi tekstual mode operasi aktual Penyimpanan Kueri. TIDAK AKTIF READ_ONLY BACA_TULIS KESALAHAN READ_CAPTURE_SECONDARY Ada situasi ketika status aktual berbeda dari status yang diinginkan: - Jika database diatur ke mode baca-saja atau jika ukuran Penyimpanan Kueri melebihi kuota yang dikonfigurasi, Penyimpanan Kueri dapat beroperasi dalam mode baca-saja meskipun baca-tulis ditentukan oleh pengguna. - Dalam skenario ekstrem, Query Store dapat memasukkan status ERROR karena kesalahan internal. Dimulai dengan SQL Server 2017 (14.x), jika ini terjadi, Penyimpanan Kueri dapat dipulihkan dengan menjalankan prosedur tersimpan sp_query_store_consistency_check dalam database yang terpengaruh. Jika menjalankan sp_query_store_consistency_check tidak berfungsi, atau jika Anda menggunakan SQL Server 2016 (13.x), Anda harus menghapus data dengan menjalankan ALTER DATABASE [YourDatabaseName] SET QUERY_STORE CLEAR ALL; |
readonly_reason | int | Saat desired_state_desc READ_WRITE dan actual_state_desc READ_ONLY, readonly_reason mengembalikan peta bit untuk menunjukkan mengapa Penyimpanan Kueri dalam mode baca-saja. 1 - database dalam mode baca-saja 2 - database dalam mode pengguna tunggal 4 - database dalam mode darurat 8 - database adalah replika sekunder (berlaku untuk grup ketersediaan dan replikasi geografis Azure SQL Database). Nilai ini dapat diamati secara efektif hanya pada replika sekunder yang dapat dibaca 65536 - Penyimpanan Kueri telah mencapai batas ukuran yang MAX_STORAGE_SIZE_MB ditetapkan oleh opsi . Untuk informasi selengkapnya tentang opsi ini, lihat MENGUBAH opsi SET DATABASE (Transact-SQL).131072 - Jumlah pernyataan yang berbeda di Penyimpanan Kueri telah mencapai batas memori internal. Pertimbangkan untuk menghapus kueri yang tidak Anda perlukan atau tingkatkan ke tingkat layanan yang lebih tinggi untuk mengaktifkan transfer Penyimpanan Kueri ke mode baca-tulis. 262144 - Ukuran item dalam memori yang menunggu untuk dipertahankan pada disk telah mencapai batas memori internal. Penyimpanan Kueri akan berada dalam mode baca-saja untuk sementara hingga item dalam memori disimpan pada disk. 524288 - Database telah mencapai batas ukuran disk. Penyimpanan Kueri adalah bagian dari database pengguna, jadi jika tidak ada lagi ruang yang tersedia untuk database, itu berarti bahwa Penyimpanan Kueri tidak dapat tumbuh lebih jauh lagi. Untuk mengalihkan mode operasi Penyimpanan Kueri kembali ke baca-tulis, lihat Memverifikasi Penyimpanan Kueri mengumpulkan Data Kueri Secara Berkelanjutan dari Praktik Terbaik dengan Penyimpanan Kueri. |
current_storage_size_mb | bigint | Ukuran Penyimpanan Kueri pada disk dalam megabyte. |
flush_interval_seconds | bigint | Periode pembilasan reguler data Penyimpanan Kueri ke disk dalam hitungan detik. Nilai defaultnya adalah 900 (15 menit). Ubah dengan menggunakan ALTER DATABASE <database> SET QUERY_STORE (DATA_FLUSH_INTERVAL_SECONDS = <interval>) pernyataan . |
interval_length_minutes | bigint | Interval agregasi statistik dalam hitungan menit. Nilai arbitrer tidak diperbolehkan. Gunakan salah satu hal berikut: 1, 5, 10, 15, 30, 60, dan 1440 menit. Nilai defaultnya adalah 60 menit. |
max_storage_size_mb | bigint | Ukuran disk maksimum untuk Penyimpanan Kueri dalam megabyte (MB). Nilai defaultnya adalah 100 MB hingga SQL Server 2017 (14,x), dan 1 GB dimulai dengan SQL Server 2019 (15.x) . Untuk edisi SQL Database Premium, defaultnya adalah 1 GB dan untuk edisi SQL Database Basic, defaultnya adalah 10 MB. Ubah dengan menggunakan ALTER DATABASE <database> SET QUERY_STORE (MAX_STORAGE_SIZE_MB = <size>) pernyataan . |
stale_query_threshold_days | bigint | Jumlah hari informasi untuk kueri disimpan di Penyimpanan Kueri. Nilai defaultnya adalah 30. Atur ke 0 untuk menonaktifkan kebijakan penyimpanan. Untuk edisi SQL Database Basic, defaultnya adalah 7 hari. Ubah dengan menggunakan ALTER DATABASE <database> SET QUERY_STORE ( CLEANUP_POLICY = ( STALE_QUERY_THRESHOLD_DAYS = <value> ) ) pernyataan . |
max_plans_per_query | bigint | Membatasi jumlah maksimum paket tersimpan. Nilai defaultnya adalah 200. Jika nilai maksimum tercapai, Penyimpanan Kueri berhenti menangkap paket baru untuk kueri tersebut. Pengaturan ke 0 menghapus batasan sehubungan dengan jumlah paket yang ditangkap. Ubah dengan menggunakan ALTER DATABASE<database> SET QUERY_STORE (MAX_PLANS_PER_QUERY = <n>) pernyataan . |
query_capture_mode | smallint | Mode pengambilan kueri yang saat ini aktif: 1 = SEMUA - semua kueri diambil. Ini adalah nilai konfigurasi default untuk SQL Server (SQL Server 2016 (13.x) dan yang lebih baru). 2 = AUTO - menangkap kueri yang relevan berdasarkan jumlah eksekusi dan konsumsi sumber daya. Ini adalah nilai konfigurasi default untuk SQL Database. 3 = NONE - berhenti mengambil kueri baru. Penyimpanan Kueri akan terus mengumpulkan statistik kompilasi dan runtime untuk kueri yang sudah diambil. Gunakan konfigurasi ini dengan hati-hati karena Anda mungkin kehilangan pengambilan kueri penting. 4 = CUSTOM - Memungkinkan kontrol tambahan atas kebijakan pengambilan kueri menggunakan opsi QUERY_CAPTURE_POLICY. Berlaku untuk: SQL Server 2019 (15.x) dan yang lebih baru. |
query_capture_mode_desc | nvarchar(60) | Deskripsi tekstual mode pengambilan aktual Penyimpanan Kueri: ALL (default untuk SQL Server 2016 (13.x)) AUTO (default untuk SQL Database) NONE KUSTOM |
capture_policy_execution_count | int | Opsi kebijakan KUSTOM Mode Pengambilan Kueri. Menentukan berapa kali kueri dijalankan selama periode evaluasi. Defaultnya adalah 30. Berlaku untuk: SQL Server 2019 (15.x) dan yang lebih baru. |
capture_policy_total_compile_cpu_time_ms | bigint | Opsi kebijakan KUSTOM Mode Pengambilan Kueri. Menentukan total waktu CPU kompilasi yang berlalu yang digunakan oleh kueri selama periode evaluasi. Defaultnya adalah 1000. Berlaku untuk: SQL Server 2019 (15.x) dan yang lebih baru. |
capture_policy_total_execution_cpu_time_ms | bigint | Opsi kebijakan KUSTOM Mode Pengambilan Kueri. Menentukan total waktu CPU eksekusi yang berlalu yang digunakan oleh kueri selama periode evaluasi. Nilai defaultnya adalah 100. Berlaku untuk: SQL Server 2019 (15.x) dan yang lebih baru. |
capture_policy_stale_threshold_hours | int | Opsi kebijakan KUSTOM Mode Pengambilan Kueri. Menentukan periode interval evaluasi untuk menentukan apakah kueri harus diambil. Defaultnya adalah 24 jam. Berlaku untuk: SQL Server 2019 (15.x) dan yang lebih baru. |
size_based_cleanup_mode | smallint | Mengontrol apakah pembersihan akan diaktifkan secara otomatis ketika jumlah total data mendekati ukuran maksimum: 0 = NONAKTIF - pembersihan berbasis ukuran tidak akan diaktifkan secara otomatis. 1 = AUTO - pembersihan berbasis ukuran akan diaktifkan secara otomatis ketika ukuran pada disk mencapai 90 persen max_storage_size_mb. Ini adalah nilai konfigurasi default. Pembersihan berbasis ukuran menghapus kueri yang paling murah dan terlama terlebih dahulu. Ini berhenti ketika sekitar 80 persen max_storage_size_mb tercapai. |
size_based_cleanup_mode_desc | nvarchar(60) | Deskripsi tekstual mode pembersihan berbasis ukuran aktual Penyimpanan Kueri: TIDAK AKTIF AUTO (default) |
wait_stats_capture_mode | smallint | Mengontrol apakah Penyimpanan Kueri melakukan pengambilan statistik tunggu: 0 = NONAKTIF 1 = AKTIF Berlaku untuk: SQL Server 2017 (14.x) dan yang lebih baru. |
wait_stats_capture_mode_desc | nvarchar(60) | Deskripsi tekstual dari mode pengambilan statistik tunggu aktual: TIDAK AKTIF AKTIF (default) Berlaku untuk: SQL Server 2017 (14.x) dan yang lebih baru. |
actual_state_additional_info | nvarchar(8000) | Saat ini tidak digunakan. |
Izin
Memerlukan VIEW DATABASE STATE
izin.
Keterangan
Nilai actual_state_desc
READ_CAPTURE_SECONDARY adalah status yang diharapkan saat Penyimpanan Kueri untuk replika sekunder diaktifkan. Untuk informasi selengkapnya, lihat Penyimpanan Kueri untuk replika sekunder.
Langkah berikutnya
- sys.query_context_settings (T-SQL)
- sys.query_store_plan (T-SQL)
- sys.query_store_query (T-SQL)
- sys.query_store_query_text (T-SQL)
- sys.query_store_runtime_stats (T-SQL)
- sys.query_store_wait_stats (T-SQL)
- sys.query_store_runtime_stats_interval (T-SQL)
- Memantau Performa Dengan Menggunakan Penyimpanan Kueri
- Tampilan Katalog (Transact-SQL)
- sys.fn_stmt_sql_handle_from_sql_stmt (T-SQL)
- Prosedur Tersimpan Penyimpanan Kueri (Transact-SQL)
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