Bagikan melalui


sys.database_query_store_options (T-SQL)

Berlaku untuk: SQL Server 2016 (13.x) dan yang lebih baru Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics

Mengembalikan opsi Penyimpanan Kueri untuk database ini.

Nama kolom Jenis data Deskripsi
desired_state smallint Menunjukkan mode operasi yang diinginkan dari Penyimpanan Kueri, secara eksplisit diatur oleh pengguna.

0 = OFF
1 = READ_ONLY
2 = READ_WRITE
4 = READ_CAPTURE_SECONDARY
desired_state_desc nvarchar(60) Deskripsi tekstual mode operasi yang diinginkan dari Penyimpanan Kueri:

OFF
READ_ONLY
READ_WRITE
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 = OFF
1 = READ_ONLY
2 = READ_WRITE
3 = ERROR
4 = READ_CAPTURE_SECONDARY
actual_state_desc nvarchar(60) Deskripsi tekstual mode operasi aktual Penyimpanan Kueri.

OFF
READ_ONLY
READ_WRITE
ERROR
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 mungkin beroperasi dalam mode baca-saja bahkan jika Anda menentukan baca-tulis.
- Dalam skenario ekstrem, Query Store dapat memasukkan status ERROR karena kesalahan internal. Di SQL Server 2017 (14.x) dan versi yang lebih baru, jika ini terjadi, Penyimpanan Kueri dapat dipulihkan dengan menjalankan prosedur tersimpan sp_query_store_consistency_check dalam database yang terpengaruh. Jika berjalan sp_query_store_consistency_check tidak berfungsi, atau jika Anda menggunakan SQL Server 2016 (13.x), Anda perlu menghapus data dengan menjalankan ALTER DATABASE [YourDatabaseName] SET QUERY_STORE CLEAR ALL;
readonly_reason int desired_state_desc Ketika adalah dan actual_state_desc adalah READ_WRITE 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 readable replika sekunder
65536 - Penyimpanan Kueri mencapai batas ukuran yang max_storage_size_mb ditetapkan oleh opsi . Untuk informasi selengkapnya tentang opsi ini, lihat OPSI UBAH KUMPULAN DATABASE.
131072 - Jumlah pernyataan yang berbeda di Penyimpanan Kueri 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 mencapai batas memori internal. Penyimpanan Kueri berada dalam mode baca-saja untuk sementara hingga item dalam memori dipertahankan pada disk.
524288 - Database 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 berkembang lebih jauh lagi.

Untuk mengalihkan mode operasi Penyimpanan Kueri kembali ke baca-tulis, lihat Memverifikasi bahwa Penyimpanan Kueri mengumpulkan data kueri terus menerus.
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 diizinkan. Gunakan salah satu nilai berikut: 1, , 5, 1015, 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 di SQL Server 2019 (15.x) dan versi yang lebih baru.

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 default 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 default 200. Jika nilai maksimum tercapai, Penyimpanan Kueri berhenti menangkap paket baru untuk kueri tersebut. Pengaturan untuk 0 menghapus batasan jumlah paket yang diambil.

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 = ALL - semua kueri diambil. Ini adalah nilai konfigurasi default untuk SQL Server 2016 (13.x) dan versi 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 menangkap kueri baru. Penyimpanan Kueri 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 lebih atas kebijakan pengambilan kueri menggunakan opsi QUERY_CAPTURE_POLICY.

Berlaku untuk: SQL Server 2019 (15.x) dan versi yang lebih baru.
query_capture_mode_desc nvarchar(60) Deskripsi tekstual mode pengambilan aktual Penyimpanan Kueri:

ALL (default untuk SQL Server 2016 (13.x) dan versi yang lebih baru)

AUTO (default untuk SQL Database)

NONE

CUSTOM
capture_policy_execution_count int Opsi kebijakan mode CUSTOM pengambilan kueri. Menentukan berapa kali kueri dijalankan selama periode evaluasi. Default adalah 30.

Berlaku untuk: SQL Server 2019 (15.x) dan versi yang lebih baru.
capture_policy_total_compile_cpu_time_ms bigint Opsi kebijakan mode CUSTOM 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 versi yang lebih baru.
capture_policy_total_execution_cpu_time_ms bigint Opsi kebijakan mode CUSTOM pengambilan kueri. Menentukan total waktu CPU eksekusi yang berlalu yang digunakan oleh kueri selama periode evaluasi. Default adalah 100.

Berlaku untuk: SQL Server 2019 (15.x) dan versi yang lebih baru.
capture_policy_stale_threshold_hours int Opsi kebijakan mode CUSTOM pengambilan kueri. Menentukan periode interval evaluasi untuk menentukan apakah kueri harus diambil. Defaultnya adalah 24 jam.

Berlaku untuk: SQL Server 2019 (15.x) dan versi yang lebih baru.
size_based_cleanup_mode smallint Mengontrol apakah pembersihan diaktifkan secara otomatis ketika jumlah total data mendekati ukuran maksimum:

0 = OFF - pembersihan berbasis ukuran tidak diaktifkan secara otomatis.
1 = AUTO - pembersihan berbasis ukuran diaktifkan secara otomatis ketika ukuran pada disk mencapai 90 persen dari 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:

OFF
AUTO (default)
wait_stats_capture_mode smallint Mengontrol apakah Penyimpanan Kueri melakukan pengambilan statistik tunggu:

0 = OFF
1 = ON

Berlaku untuk: SQL Server 2017 (14.x) dan versi yang lebih baru.
wait_stats_capture_mode_desc nvarchar(60) Deskripsi tekstual dari mode pengambilan statistik tunggu aktual:

OFF
ON (default)

Berlaku untuk: SQL Server 2017 (14.x) dan versi yang lebih baru.
actual_state_additional_info nvarchar(4000) 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.