ALTER DATABASE SCOPED CONFIGURATION (T-SQL)
Berlaku untuk: SQL Server 2016 (13.x) dan yang lebih baru Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics
Perintah ini memungkinkan beberapa pengaturan konfigurasi database di tingkat database individual.
Penting
Opsi DATABASE SCOPED CONFIGURATION
yang berbeda didukung dalam versi SQL Server atau layanan Azure yang berbeda. Halaman ini menjelaskan semua DATABASE SCOPED CONFIGURATION
opsi. Versi jika berlaku dicatat. Pastikan Anda menggunakan sintaks yang tersedia dalam versi layanan yang Anda gunakan.
Pengaturan berikut ini didukung di Azure SQL Database, Azure SQL Managed Instance, dan di SQL Server seperti yang ditunjukkan oleh Berlaku untuk baris untuk setiap pengaturan di bagian Argumen :
- Hapus cache prosedur.
- Atur parameter MAXDOP ke nilai yang direkomendasikan (1,2, ...) untuk database utama berdasarkan apa yang paling sesuai untuk beban kerja tertentu, dan tetapkan nilai yang berbeda untuk database replika sekunder yang digunakan oleh kueri pelaporan. Untuk panduan tentang memilih MAXDOP, tinjau Mengonfigurasi tingkat maksimum Opsi Konfigurasi Server paralelisme.
- Atur model estimasi kardinalitas pengoptimal kueri yang independen dari database ke tingkat kompatibilitas.
- Mengaktifkan atau menonaktifkan sniffing parameter di tingkat database.
- Mengaktifkan atau menonaktifkan perbaikan pengoptimalan kueri di tingkat database.
- Aktifkan atau nonaktifkan cache identitas di tingkat database.
- Aktifkan atau nonaktifkan stub paket yang dikompilasi untuk disimpan dalam cache saat batch dikompilasi untuk pertama kalinya.
- Aktifkan atau nonaktifkan pengumpulan statistik eksekusi untuk modul Transact-SQL yang dikompilasi secara asli.
- Aktifkan atau nonaktifkan online secara default opsi untuk pernyataan DDL yang mendukung
ONLINE =
sintaks. - Aktifkan atau nonaktifkan dapat dilanjutkan dengan opsi default untuk pernyataan DDL yang mendukung
RESUMABLE =
sintaksis. - Mengaktifkan atau menonaktifkan fitur pemrosesan kueri cerdas.
- Aktifkan atau nonaktifkan memaksa paket yang dipercepat.
- Mengaktifkan atau menonaktifkan fungsionalitas autodrop tabel sementara global.
- Mengaktifkan atau menonaktifkan infrastruktur pembuatan profil kueri ringan.
- Aktifkan atau nonaktifkan pesan kesalahan baru
String or binary data would be truncated
. - Aktifkan atau nonaktifkan pengumpulan rencana eksekusi aktual terakhir di sys.dm_exec_query_plan_stats.
- Tentukan jumlah menit operasi indeks yang dapat dilanjutkan jeda dijeda sebelum dibatalkan secara otomatis oleh Mesin Database.
- Aktifkan atau nonaktifkan menunggu kunci dengan prioritas rendah untuk pembaruan statistik asinkron.
- Mengaktifkan atau menonaktifkan pengunggahan hash ledger ke Azure Blob Storage.
Pengaturan ini hanya tersedia di Azure Synapse Analytics.
- Mengatur tingkat kompatibilitas database pengguna
Sintaks
-- Syntax for SQL Server, Azure SQL Database and Azure SQL Managed Instance
ALTER DATABASE SCOPED CONFIGURATION
{
{ [ FOR SECONDARY] SET <set_options>}
}
| CLEAR PROCEDURE_CACHE [plan_handle]
| SET < set_options >
[;]
< set_options > ::=
{
MAXDOP = { <value> | PRIMARY}
| LEGACY_CARDINALITY_ESTIMATION = { ON | OFF | PRIMARY}
| PARAMETER_SNIFFING = { ON | OFF | PRIMARY}
| QUERY_OPTIMIZER_HOTFIXES = { ON | OFF | PRIMARY}
| IDENTITY_CACHE = { ON | OFF }
| INTERLEAVED_EXECUTION_TVF = { ON | OFF }
| BATCH_MODE_MEMORY_GRANT_FEEDBACK = { ON | OFF }
| BATCH_MODE_ADAPTIVE_JOINS = { ON | OFF }
| TSQL_SCALAR_UDF_INLINING = { ON | OFF }
| ELEVATE_ONLINE = { OFF | WHEN_SUPPORTED | FAIL_UNSUPPORTED }
| ELEVATE_RESUMABLE = { OFF | WHEN_SUPPORTED | FAIL_UNSUPPORTED }
| OPTIMIZE_FOR_AD_HOC_WORKLOADS = { ON | OFF }
| XTP_PROCEDURE_EXECUTION_STATISTICS = { ON | OFF }
| XTP_QUERY_EXECUTION_STATISTICS = { ON | OFF }
| ROW_MODE_MEMORY_GRANT_FEEDBACK = { ON | OFF }
| MEMORY_GRANT_FEEDBACK_PERCENTILE_GRANT = { ON | OFF }
| MEMORY_GRANT_FEEDBACK_PERSISTENCE = { ON | OFF }
| BATCH_MODE_ON_ROWSTORE = { ON | OFF }
| DEFERRED_COMPILATION_TV = { ON | OFF }
| ACCELERATED_PLAN_FORCING = { ON | OFF }
| GLOBAL_TEMPORARY_TABLE_AUTO_DROP = { ON | OFF }
| LIGHTWEIGHT_QUERY_PROFILING = { ON | OFF }
| VERBOSE_TRUNCATION_WARNINGS = { ON | OFF }
| LAST_QUERY_PLAN_STATS = { ON | OFF }
| PAUSED_RESUMABLE_INDEX_ABORT_DURATION_MINUTES = <time>
| ISOLATE_SECURITY_POLICY_CARDINALITY = { ON | OFF }
| EXEC_QUERY_STATS_FOR_SCALAR_FUNCTIONS = { ON | OFF }
| ASYNC_STATS_UPDATE_WAIT_AT_LOW_PRIORITY = { ON | OFF }
| OPTIMIZED_PLAN_FORCING = { ON | OFF }
| DOP_FEEDBACK = { ON | OFF }
| CE_FEEDBACK = { ON | OFF }
| PARAMETER_SENSITIVE_PLAN_OPTIMIZATION = { ON | OFF }
| LEDGER_DIGEST_STORAGE_ENDPOINT = { <endpoint URL string> | OFF }
| OPTIMIZED_SP_EXECUTESQL = { ON | OFF }
}
Penting
Dimulai dengan SQL Server 2019 (15.x), di Azure SQL Database, dan Azure SQL Managed Instance, beberapa nama opsi telah berubah:
DISABLE_INTERLEAVED_EXECUTION_TVF
diubah menjadiINTERLEAVED_EXECUTION_TVF
DISABLE_BATCH_MODE_MEMORY_GRANT_FEEDBACK
diubah menjadiBATCH_MODE_MEMORY_GRANT_FEEDBACK
DISABLE_BATCH_MODE_ADAPTIVE_JOINS
diubah menjadiBATCH_MODE_ADAPTIVE_JOINS
-- Syntax for Azure Synapse Analytics
ALTER DATABASE SCOPED CONFIGURATION
{
SET <set_options>
}
[;]
< set_options > ::=
{
DW_COMPATIBILITY_LEVEL = { AUTO | 10 | 20 | 30 | 40 | 50 | 9000 }
}
Argumen
UNTUK SEKUNDER
Menentukan pengaturan untuk database sekunder (semua database sekunder harus memiliki nilai yang identik).
CLEAR PROCEDURE_CACHE [plan_handle]
Menghapus cache prosedur (rencana) untuk database, dan dapat dijalankan baik di primer maupun sekunder.
Tentukan handel rencana kueri untuk menghapus satu rencana kueri dari cache paket.
Berlaku untuk: Menentukan handel rencana kueri tersedia mulai dari SQL Server 2019 (15.x), di Azure SQL Database, dan Azure SQL Managed Instance.
MAXDOP = {<value> | PRIMER }
<value>
Menentukan pengaturan tingkat paralelisme maks default (MAXDOP) yang harus digunakan untuk pernyataan. 0 adalah nilai default dan menunjukkan bahwa konfigurasi server akan digunakan sebagai gantinya. MAXDOP pada pengambil alihan cakupan database (kecuali diatur ke 0) tingkat paralelisme maksimum yang ditetapkan pada tingkat server dengan sp_configure
. Petunjuk kueri masih dapat mengambil alih MAXDOP lingkup database untuk menyetel kueri tertentu yang memerlukan pengaturan yang berbeda. Semua pengaturan ini dibatasi oleh MAXDOP yang ditetapkan untuk Grup Beban Kerja.
Anda dapat menggunakan opsi MAXDOP untuk membatasi jumlah prosesor yang akan digunakan dalam eksekusi rencana paralel. SQL Server mempertimbangkan rencana eksekusi paralel untuk kueri, operasi bahasa definisi data indeks (DDL), penyisipan paralel, kolom perubahan online, pengumpulan statistik paralel, dan populasi kursor statis dan berbasis keyset.
Catatan
Batas tingkat paralelisme maksimum (MAXDOP) diatur per tugas. Ini bukan batas per permintaan atau per kueri. Ini berarti bahwa selama eksekusi kueri paralel, satu permintaan dapat menelurkan beberapa tugas yang ditetapkan ke penjadwal. Untuk informasi selengkapnya, lihat Panduan Arsitektur Utas dan Tugas.
Untuk mengatur opsi ini di tingkat instans, lihat Mengonfigurasi tingkat maksimum Opsi Konfigurasi Server paralelisme.
Catatan
Di Azure SQL Database, konfigurasi cakupan database MAXDOP untuk database kumpulan tunggal dan elastis baru diatur ke 8 secara default. MAXDOP dapat dikonfigurasi untuk setiap database seperti yang dijelaskan dalam artikel saat ini. Untuk rekomendasi tentang mengonfigurasi MAXDOP secara optimal, lihat bagian Sumber Daya Tambahan.
Tip
Untuk mencapai ini di tingkat kueri, gunakan petunjuk kueri MAXDOP.
Untuk mencapai hal ini di tingkat server, gunakan opsi konfigurasi server tingkat paralelisme maksimum (MAXDOP).
Untuk mencapai hal ini di tingkat beban kerja, gunakan opsi konfigurasi grup beban kerja MAX_DOP Resource Governor.
PRIMARY
Hanya dapat diatur untuk sekunder, sementara database di pada primer, dan menunjukkan bahwa konfigurasi akan menjadi satu yang ditetapkan untuk primer. Jika konfigurasi untuk perubahan utama, nilai pada sekunder akan berubah sesuai tanpa perlu mengatur nilai sekunder secara eksplisit. PRIMARY adalah pengaturan default untuk sekunder.
LEGACY_CARDINALITY_ESTIMATION = { AKTIF | NONAKTIF | PRIMER }
Memungkinkan Anda mengatur model estimasi kardinalitas pengoptimal kueri ke SQL Server 2012 dan versi yang lebih lama terlepas dari tingkat kompatibilitas database. Defaultnya adalah NONAKTIF, yang mengatur model estimasi kardinalitas pengoptimal kueri berdasarkan tingkat kompatibilitas database. Pengaturan LEGACY_CARDINALITY_ESTIMATION ke AKTIF setara dengan mengaktifkan Bendera Pelacakan 9481.
Tip
Untuk mencapai ini di tingkat kueri, tambahkan petunjuk kueri QUERYTRACEON. Dimulai dengan SQL Server 2016 (13.x) SP1, untuk mencapainya di tingkat kueri, tambahkan petunjuk kueri USE HINT alih-alih menggunakan bendera pelacakan.
PRIMARY
Nilai ini hanya berlaku pada sekunder sementara database di primer, dan menentukan bahwa pengaturan model estimasi kardinalitas pengoptimal kueri pada semua sekunder akan menjadi nilai yang ditetapkan untuk primer. Jika konfigurasi pada primer untuk model estimasi kardinalitas pengoptimal kueri berubah, nilai pada sekunder akan berubah sesuai. PRIMARY adalah pengaturan default untuk sekunder.
PARAMETER_SNIFFING = { AKTIF | NONAKTIF | PRIMER }
Mengaktifkan atau menonaktifkan sniffing parameter. Defaultnya adalah ON. Pengaturan PARAMETER_SNIFFING ke NONAKTIF setara dengan mengaktifkan Bendera Pelacakan 4136.
Tip
Untuk mencapai hal ini di tingkat kueri, lihat petunjuk kueri OPTIMIZE FOR UNKNOWN. Dimulai dengan SQL Server 2016 (13.x) SP1, untuk mencapainya di tingkat kueri, petunjuk kueri USE HINT juga tersedia.
PRIMARY
Nilai ini hanya berlaku pada sekunder sementara database di pada primer, dan menentukan bahwa nilai untuk pengaturan ini pada semua sekunder akan menjadi nilai yang ditetapkan untuk primer. Jika konfigurasi pada primer untuk menggunakan perubahan sniffing parameter, nilai pada sekunder akan berubah sesuai tanpa perlu mengatur nilai sekunder secara eksplisit. PRIMARY adalah pengaturan default untuk sekunder.
QUERY_OPTIMIZER_HOTFIXES = { ON | NONAKTIF | PRIMER }
Mengaktifkan atau menonaktifkan perbaikan pengoptimalan kueri terlepas dari tingkat kompatibilitas database. Defaultnya adalah NONAKTIF, yang menonaktifkan perbaikan pengoptimalan kueri yang dirilis setelah tingkat kompatibilitas tertinggi yang tersedia diperkenalkan untuk versi tertentu (pasca-RTM). Mengatur ini ke AKTIF setara dengan mengaktifkan Bendera Pelacakan 4199.
Berlaku untuk: SQL Server (Dimulai dengan SQL Server 2016 (13.x)), Azure SQL Database dan Azure SQL Managed Instance
Tip
Untuk mencapai ini di tingkat kueri, tambahkan petunjuk kueri QUERYTRACEON. Dimulai dengan SQL Server 2016 (13.x) SP1, untuk mencapainya di tingkat kueri, tambahkan petunjuk kueri USE HINT alih-alih menggunakan bendera pelacakan.
PRIMARY
Nilai ini hanya berlaku pada sekunder sementara database di pada primer, dan menentukan bahwa nilai untuk pengaturan ini pada semua sekunder adalah nilai yang ditetapkan untuk primer. Jika konfigurasi untuk perubahan utama, nilai pada sekunder berubah sesuai tanpa perlu mengatur nilai sekunder secara eksplisit. PRIMARY adalah pengaturan default untuk sekunder.
IDENTITY_CACHE = { ON | NONAKTIF }
Berlaku untuk: SQL Server (Dimulai dengan SQL Server 2017 (14.x)), Azure SQL Database dan Azure SQL Managed Instance
Mengaktifkan atau menonaktifkan cache identitas di tingkat database. Defaultnya adalah ON. Penembolokan identitas digunakan untuk meningkatkan performa INSERT pada tabel dengan kolom identitas. Untuk menghindari kesenjangan dalam nilai kolom identitas dalam kasus di mana server dimulai ulang secara tidak terduga atau gagal ke server sekunder, nonaktifkan opsi IDENTITY_CACHE. Opsi ini mirip dengan Bendera Pelacakan 272 yang ada, kecuali dapat diatur pada tingkat database daripada hanya di tingkat server.
Catatan
Opsi ini hanya dapat diatur untuk PRIMARY. Untuk informasi selengkapnya, lihat kolom identitas.
INTERLEAVED_EXECUTION_TVF = { AKTIF | NONAKTIF }
Berlaku untuk: SQL Server (Dimulai dengan SQL Server 2019 (15.x)), Azure SQL Database dan Azure SQL Managed Instance
Memungkinkan Anda mengaktifkan atau menonaktifkan eksekusi interleaved untuk fungsi bernilai tabel multi-pernyataan pada cakupan database atau pernyataan sambil tetap mempertahankan tingkat kompatibilitas database 140 dan yang lebih tinggi. Defaultnya adalah ON. Eksekusi interleaved adalah fitur yang merupakan bagian dari pemrosesan kueri Adaptif di Azure SQL Database. Untuk informasi selengkapnya, silakan lihat Pemrosesan kueri cerdas.
Catatan
Untuk tingkat kompatibilitas database 130 atau lebih rendah, konfigurasi cakupan database ini tidak berpengaruh.
Hanya di SQL Server 2017 (14.x), opsi INTERLEAVED_EXECUTION_TVF memiliki nama DISABLE yang lebih lama_INTERLEAVED_EXECUTION_TVF.
BATCH_MODE_MEMORY_GRANT_FEEDBACK = { AKTIF | NONAKTIF }
Berlaku untuk: SQL Server (Dimulai dengan SQL Server 2019 (15.x)), Azure SQL Database dan Azure SQL Managed Instance
Memungkinkan Anda mengaktifkan atau menonaktifkan umpan balik pemberian memori mode batch di cakupan database sambil tetap mempertahankan kompatibilitas database tingkat 140 dan yang lebih tinggi. Defaultnya adalah ON. Umpan balik pemberian memori mode batch, yang diperkenalkan di SQL Server 2017 (14.x), adalah bagian dari rangkaian fitur pemrosesan kueri cerdas. Untuk informasi selengkapnya, lihat Umpan balik pemberian memori.
Catatan
Untuk tingkat kompatibilitas database 130 atau lebih rendah, konfigurasi cakupan database ini tidak berpengaruh.
BATCH_MODE_ADAPTIVE_JOINS = { AKTIF | NONAKTIF }
Berlaku untuk: SQL Server (Dimulai dengan SQL Server 2019 (15.x)), Azure SQL Database dan Azure SQL Managed Instance
Memungkinkan Anda mengaktifkan atau menonaktifkan gabungan adaptif mode batch pada cakupan database sambil tetap mempertahankan kompatibilitas database tingkat 140 dan yang lebih tinggi. Defaultnya adalah ON. Gabungan adaptif mode batch adalah fitur yang merupakan bagian dari pemrosesan kueri cerdas yang diperkenalkan di SQL Server 2017 (14.x).
Catatan
Untuk tingkat kompatibilitas database 130 atau lebih rendah, konfigurasi cakupan database ini tidak berpengaruh.
TSQL_SCALAR_UDF_INLINING = { AKTIF | NONAKTIF }
Berlaku untuk: SQL Server (Dimulai dengan SQL Server 2019 (15.x)) dan Azure SQL Database (fitur sedang dalam pratinjau)
Memungkinkan Anda mengaktifkan atau menonaktifkan T-SQL Scalar UDF inlining pada cakupan database sambil tetap mempertahankan tingkat kompatibilitas database 150 dan yang lebih tinggi. Defaultnya adalah ON. T-SQL Scalar UDF inlining adalah bagian dari keluarga fitur pemrosesan kueri cerdas.
Catatan
Untuk tingkat kompatibilitas database 140 atau lebih rendah, konfigurasi tercakup database ini tidak berpengaruh.
ELEVATE_ONLINE = { NONAKTIF | WHEN_SUPPORTED | FAIL_UNSUPPORTED }
Berlaku untuk: SQL Server (Dimulai dengan SQL Server 2019 (15.x)), Azure SQL Database dan Azure SQL Managed Instance
Memungkinkan Anda memilih opsi untuk menyebabkan mesin secara otomatis meningkatkan operasi yang didukung menjadi online. Defaultnya adalah NONAKTIF, yang berarti operasi tidak akan ditinggikan ke online kecuali ditentukan dalam pernyataan. sys.database_scoped_configurations mencerminkan nilai ELEVATE_ONLINE saat ini. Opsi ini hanya akan berlaku untuk operasi yang didukung untuk online.
FAIL_UNSUPPORTED
Nilai ini meningkatkan semua operasi DDL yang didukung ke ONLINE. Operasi yang tidak mendukung eksekusi online gagal dan melemparkan kesalahan.
Catatan
Menambahkan kolom ke tabel adalah operasi online dalam kasus umum. Dalam beberapa skenario, misalnya saat menambahkan kolom yang tidak dapat diubah ke null, kolom tidak dapat ditambahkan secara online. Dalam kasus tersebut, jika FAIL_UNSUPPORTED diatur, operasi akan gagal.
WHEN_SUPPORTED
Nilai ini meningkatkan operasi yang mendukung ONLINE. Operasi yang tidak mendukung online akan dijalankan secara offline.
Catatan
Anda dapat mengambil alih pengaturan default dengan mengirimkan pernyataan dengan opsi ONLINE yang ditentukan.
ELEVATE_RESUMABLE= { NONAKTIF | WHEN_SUPPORTED | FAIL_UNSUPPORTED }
Berlaku untuk: SQL Server (Dimulai dengan SQL Server 2019 (15.x)), Azure SQL Database dan Azure SQL Managed Instance
Memungkinkan Anda memilih opsi untuk menyebabkan mesin secara otomatis meningkatkan operasi yang didukung agar dapat dilanjutkan. Defaultnya adalah NONAKTIF, yang berarti operasi tidak ditinggikan untuk diulang kecuali ditentukan dalam pernyataan. sys.database_scoped_configurations mencerminkan nilai ELEVATE_RESUMABLE saat ini. Opsi ini hanya berlaku untuk operasi yang didukung untuk dapat diulang.
FAIL_UNSUPPORTED
Nilai ini meningkatkan semua operasi DDL yang didukung ke RESUMABLE. Operasi yang tidak mendukung eksekusi yang dapat diulang gagal dan melemparkan kesalahan.
WHEN_SUPPORTED
Nilai ini meningkatkan operasi yang mendukung RESUMABLE. Operasi yang tidak mendukung dapat diulang dijalankan secara tidak terbantahkan.
Catatan
Anda dapat mengambil alih pengaturan default dengan mengirimkan pernyataan dengan opsi RESUMABLE yang ditentukan.
OPTIMIZE_FOR_AD_HOC_WORKLOADS = { AKTIF | NONAKTIF }
Berlaku untuk: SQL Server (Dimulai dengan SQL Server 2019 (15.x)), Azure SQL Database dan Azure SQL Managed Instance
Mengaktifkan atau menonaktifkan stub paket yang dikompilasi untuk disimpan dalam cache saat batch dikompilasi untuk pertama kalinya. Defaultnya adalah NONAKTIF. Setelah konfigurasi tercakup database OPTIMIZE_FOR_AD_HOC_WORKLOADS diaktifkan untuk database, stub paket yang dikompilasi akan disimpan dalam cache saat batch dikompilasi untuk pertama kalinya. Stub rencana memiliki jejak memori yang lebih kecil dibandingkan dengan ukuran rencana yang dikompilasi penuh. Jika batch dikompilasi atau dijalankan lagi, stub paket yang dikompilasi akan dihapus dan diganti dengan paket lengkap yang dikompilasi.
XTP_PROCEDURE_EXECUTION_STATISTICS = { AKTIF | NONAKTIF }
Berlaku untuk: Azure SQL Database dan Azure SQL Managed Instance
Mengaktifkan atau menonaktifkan pengumpulan statistik eksekusi di tingkat modul untuk modul T-SQL yang dikompilasi secara asli dalam database saat ini. Defaultnya adalah NONAKTIF. Statistik eksekusi tercermin dalam sys.dm_exec_procedure_stats.
Statistik eksekusi tingkat modul untuk modul T-SQL yang dikompilasi secara asli dikumpulkan jika opsi ini AKTIF, atau jika koleksi statistik diaktifkan melalui sp_xtp_control_proc_exec_stats.
XTP_QUERY_EXECUTION_STATISTICS = { AKTIF | NONAKTIF }
Berlaku untuk: Azure SQL Database dan Azure SQL Managed Instance
Mengaktifkan atau menonaktifkan kumpulan statistik eksekusi di tingkat pernyataan untuk modul T-SQL yang dikompilasi secara asli dalam database saat ini. Defaultnya adalah NONAKTIF. Statistik eksekusi tercermin dalam sys.dm_exec_query_stats dan di Penyimpanan Kueri.
Statistik eksekusi tingkat pernyataan untuk modul T-SQL yang dikompilasi secara asli dikumpulkan jika opsi ini AKTIF, atau jika koleksi statistik diaktifkan melalui sp_xtp_control_query_exec_stats.
Untuk informasi selengkapnya tentang pemantauan performa modul Transact-SQL yang dikompilasi secara asli, lihat Memantau Performa Prosedur Tersimpan yang Dikompilasi Secara Asli.
ROW_MODE_MEMORY_GRANT_FEEDBACK = { AKTIF | NONAKTIF }
Berlaku untuk: SQL Server (Dimulai dengan SQL Server 2019 (15.x)), Azure SQL Database dan Azure SQL Managed Instance
Memungkinkan Anda mengaktifkan atau menonaktifkan umpan balik pemberian memori mode baris di cakupan database sambil tetap mempertahankan kompatibilitas database tingkat 150 dan yang lebih tinggi. Defaultnya adalah ON. Memori mode baris memberikan umpan balik fitur yang merupakan bagian dari pemrosesan kueri Cerdas yang diperkenalkan di SQL Server 2017 (14.x). Mode baris didukung di SQL Server 2019 (15.x) dan Azure SQL Database. Untuk informasi selengkapnya tentang umpan balik pemberian memori, lihat Umpan balik pemberian memori.
Catatan
Untuk tingkat kompatibilitas database 140 atau lebih rendah, konfigurasi tercakup database ini tidak berpengaruh.
MEMORY_GRANT_FEEDBACK_PERCENTILE_GRANT = { AKTIF | NONAKTIF }
Berlaku untuk: SQL Server (Dimulai dengan SQL Server 2022 (16.x)), Azure SQL Database
Memungkinkan Anda menonaktifkan persentil umpan balik pemberian memori untuk semua eksekusi kueri yang berasal dari database. Defaultnya adalah AKTIF. Untuk informasi lengkap, lihat Umpan balik pemberian memori mode persentil dan persistensi.
Catatan
Untuk tingkat kompatibilitas database 140 atau lebih rendah, konfigurasi tercakup database ini tidak berpengaruh.
MEMORY_GRANT_FEEDBACK_PERSISTENCE = { AKTIF | NONAKTIF }
Berlaku untuk: SQL Server (Dimulai dengan SQL Server 2022 (16.x)), Azure SQL Database, dan Azure SQL Managed Instance
Memungkinkan Anda menonaktifkan persistensi umpan balik pemberian memori untuk semua eksekusi kueri yang berasal dari database. Defaultnya adalah AKTIF. Untuk informasi lengkap, lihat Umpan balik pemberian memori mode persentil dan persistensi.
Catatan
Untuk tingkat kompatibilitas database 140 atau lebih rendah, konfigurasi tercakup database ini tidak berpengaruh.
BATCH_MODE_ON_ROWSTORE = { AKTIF | NONAKTIF }
Berlaku untuk: SQL Server (Dimulai dengan SQL Server 2019 (15.x)), Azure SQL Database dan Azure SQL Managed Instance
Memungkinkan Anda mengaktifkan atau menonaktifkan mode batch pada rowstore pada cakupan database sambil tetap mempertahankan kompatibilitas database tingkat 150 dan yang lebih tinggi. Defaultnya adalah ON. Mode batch pada rowstore adalah fitur yang merupakan bagian dari keluarga fitur pemrosesan kueri cerdas.
Catatan
Untuk tingkat kompatibilitas database 140 atau lebih rendah, konfigurasi tercakup database ini tidak berpengaruh.
DEFERRED_COMPILATION_TV = { AKTIF | NONAKTIF }
Berlaku untuk: SQL Server (Dimulai dengan SQL Server 2019 (15.x)), Azure SQL Database dan Azure SQL Managed Instance
Memungkinkan Anda mengaktifkan atau menonaktifkan kompilasi yang ditangguhkan variabel tabel pada cakupan database sambil tetap mempertahankan kompatibilitas database tingkat 150 dan yang lebih tinggi. Defaultnya adalah ON. Kompilasi yang ditangguhkan variabel tabel adalah fitur yang merupakan bagian dari keluarga fitur pemrosesan kueri cerdas.
Catatan
Untuk tingkat kompatibilitas database 140 atau lebih rendah, konfigurasi tercakup database ini tidak berpengaruh.
ACCELERATED_PLAN_FORCING = { AKTIF | NONAKTIF }
Berlaku untuk: SQL Server (Dimulai dengan SQL Server 2019 (15.x)), Azure SQL Database dan Azure SQL Managed Instance
Mengaktifkan mekanisme yang dioptimalkan untuk memaksa rencana kueri, berlaku untuk semua bentuk pemaksaan rencana, seperti Paket Paksa Penyimpanan Kueri, Penyetelan Otomatis, atau petunjuk kueri USE PLAN . Defaultnya adalah ON.
Catatan
Tidak disarankan untuk menonaktifkan paksa rencana yang dipercepat.
GLOBAL_TEMPORARY_TABLE_AUTO_DROP = { AKTIF | NONAKTIF }
Berlaku untuk: Azure SQL Database dan Azure SQL Managed Instance
Memungkinkan pengaturan fungsionalitas autodrop untuk tabel sementara global. Defaultnya adalah ON, yang berarti bahwa tabel sementara global secara otomatis dihilangkan saat tidak digunakan oleh sesi apa pun. Ketika diatur ke NONAKTIF, tabel sementara global perlu dihilangkan secara eksplisit menggunakan DROP TABLE
pernyataan atau akan secara otomatis dihilangkan pada mulai ulang server.
- Dengan database tunggal Azure SQL Database dan kumpulan elastis, opsi ini dapat diatur dalam database pengguna individual server SQL Database.
- Di SQL Server dan Azure SQL Managed Instance, opsi ini diatur dan
tempdb
pengaturan database pengguna individual tidak berpengaruh.
LIGHTWEIGHT_QUERY_PROFILING = { AKTIF | NONAKTIF }
Berlaku untuk: SQL Server (Dimulai dengan SQL Server 2019 (15.x)), Azure SQL Database dan Azure SQL Managed Instance
Memungkinkan Anda mengaktifkan atau menonaktifkan infrastruktur pembuatan profil kueri ringan. Infrastruktur pembuatan profil kueri ringan (LWP) menyediakan data performa kueri lebih efisien daripada mekanisme pembuatan profil standar dan diaktifkan secara default. Defaultnya adalah ON.
VERBOSE_TRUNCATION_WARNINGS = { AKTIF | NONAKTIF }
Berlaku untuk: SQL Server (Dimulai dengan SQL Server 2019 (15.x)), Azure SQL Database dan Azure SQL Managed Instance
Memungkinkan Anda mengaktifkan atau menonaktifkan pesan kesalahan baru String or binary data would be truncated
. Defaultnya adalah ON. SQL Server 2019 (15.x) memperkenalkan pesan kesalahan baru yang lebih spesifik (2628) untuk skenario ini:
String or binary data would be truncated in table '%.*ls', column '%.*ls'. Truncated value: '%.*ls'.
Saat diatur ke AKTIF di bawah tingkat kompatibilitas database 150, kesalahan pemotongan meningkatkan pesan kesalahan baru 2628 untuk memberikan lebih banyak konteks dan menyederhanakan proses pemecahan masalah.
Saat diatur ke NONAKTIF di bawah tingkat kompatibilitas database 150, kesalahan pemotongan memunculkan pesan kesalahan sebelumnya 8152.
Untuk tingkat kompatibilitas database 140 atau lebih rendah, pesan kesalahan 2628 tetap menjadi pesan kesalahan keikutsertaan yang mengharuskan bendera pelacakan 460 diaktifkan, dan konfigurasi cakupan database ini tidak berpengaruh.
LAST_QUERY_PLAN_STATS = { AKTIF | NONAKTIF }
Berlaku untuk: SQL Server (Dimulai dengan SQL Server 2019 (15.x)), Azure SQL Database dan Azure SQL Managed Instance
Memungkinkan Anda mengaktifkan atau menonaktifkan pengumpulan statistik rencana kueri terakhir (setara dengan rencana eksekusi aktual) di sys.dm_exec_query_plan_stats. Defaultnya adalah NONAKTIF.
PAUSED_RESUMABLE_INDEX_ABORT_DURATION_MINUTES
Berlaku untuk: SQL Server (Dimulai dengan SQL Server 2022 (16.x)), Azure SQL Database, dan Azure SQL Managed Instance
Opsi PAUSED_RESUMABLE_INDEX_ABORT_DURATION_MINUTES
menentukan berapa lama (dalam menit) indeks yang dapat dilanjutkan sedang dijeda sebelum dibatalkan secara otomatis oleh mesin.
- Nilai default diatur ke satu hari (1440 menit)
- Durasi minimum diatur ke 1 menit
- Durasi maksimum adalah 71.582 menit
- Ketika diatur ke 0, operasi yang dijeda tidak akan pernah dibatalkan secara otomatis
Nilai saat ini untuk opsi ini ditampilkan dalam sys.database_scoped_configurations.
ISOLATE_SECURITY_POLICY_CARDINALITY = { AKTIF | OFF}
Berlaku untuk: SQL Server (Dimulai dengan SQL Server 2019 (15.x)), Azure SQL Database dan Azure SQL Managed Instance
Memungkinkan Anda mengontrol apakah predikat Keamanan Tingkat Baris (RLS) memengaruhi kardinalitas rencana eksekusi kueri pengguna secara keseluruhan. Defaultnya adalah NONAKTIF. Ketika ISOLATE_SECURITY_POLICY_CARDINALITY AKTIF, predikat RLS tidak memengaruhi kardinalitas rencana eksekusi. Misalnya, pertimbangkan tabel yang berisi 1 juta baris dan predikat RLS yang membatasi hasil hingga 10 baris untuk pengguna tertentu yang mengeluarkan kueri. Dengan konfigurasi tercakup database ini diatur ke NONAKTIF, perkiraan kardinalitas predikat ini adalah 10. Ketika konfigurasi cakupan database ini AKTIF, pengoptimalan kueri memperkirakan 1 juta baris. Disarankan untuk menggunakan nilai default untuk sebagian besar beban kerja.
DW_COMPATIBILITY_LEVEL = { AUTO | 10 | 20 | 30 | 40 | 50 | 9000 }
Berlaku untuk: Hanya Azure Synapse Analytics
Mengatur perilaku pemrosesan Transact-SQL dan kueri agar kompatibel dengan versi mesin database yang ditentukan. Setelah diatur, saat kueri dijalankan pada database tersebut, hanya fitur yang kompatibel yang dijalankan. Pada setiap tingkat kompatibilitas, berbagai penyempurnaan pemrosesan kueri didukung. Setiap tingkat menyerap fungsionalitas tingkat sebelumnya. Tingkat kompatibilitas database diatur ke OTOMATIS secara default saat pertama kali dibuat dan ini adalah pengaturan yang direkomendasikan. Tingkat kompatibilitas dipertahankan bahkan setelah jeda/lanjutkan database, operasi pencadangan/pemulihan. Defaultnya adalah AUTO.
Tingkat Kompatibilitas | Komentar |
---|---|
AUTO | Default. Nilainya secara otomatis diperbarui oleh mesin Synapse Analytics dan diwakili oleh 0 dalam sys.database_scoped_configurations. AUTO saat ini memetakan ke fungsionalitas tingkat kompatibilitas 30 . |
10 | Menjalankan perilaku Transact-SQL dan mesin kueri sebelum pengenalan dukungan tingkat kompatibilitas. |
20 | Tingkat kompatibilitas pertama yang mencakup perilaku Transact-SQL dan mesin kueri yang terjaga. Prosedur tersimpan sistem sp_describe_undeclared_parameters didukung di bawah tingkat ini. |
30 | Menyertakan perilaku mesin kueri baru. |
40 | Menyertakan perilaku mesin kueri baru. |
50 | Distribusi Multi-Kolom didukung di bawah tingkat ini. Untuk mempelajari selengkapnya, lihat MEMBUAT TABEL, MEMBUAT TABEL SEBAGAI PILIH dan MEMBUAT TAMPILAN TERWUJUD. |
9000 | Pratinjau tingkat kompatibilitas. Fitur pratinjau yang terjaga di bawah tingkat ini dipanggil dalam dokumentasi khusus fitur. Tingkat ini juga mencakup kemampuan tingkat non-9000 tertinggi. |
EXEC_QUERY_STATS_FOR_SCALAR_FUNCTIONS = { AKTIF | NONAKTIF }
Berlaku untuk: Azure SQL Database dan Azure SQL Managed Instance
Memungkinkan Anda mengontrol apakah statistik eksekusi untuk fungsi skalar yang ditentukan pengguna (UDF) muncul dalam tampilan sistem sys.dm_exec_function_stats . Untuk beberapa beban kerja intensif yang berat UDF skalar, mengumpulkan statistik eksekusi fungsi dapat menyebabkan overhead performa yang nyata. Ini dapat dihindari dengan mengatur EXEC_QUERY_STATS_FOR_SCALAR_FUNCTIONS
konfigurasi cakupan database ke OFF
. Defaultnya adalah ON.
ASYNC_STATS_UPDATE_WAIT_AT_LOW_PRIORITY = { AKTIF | NONAKTIF }
Berlaku untuk: SQL Server (Dimulai dengan SQL Server 2022 (16.x)), Azure SQL Database dan Azure SQL Managed Instance
Jika pembaruan statistik asinkron diaktifkan, mengaktifkan konfigurasi ini menyebabkan permintaan latar belakang memperbarui statistik menunggu Sch-M
kunci pada antrean prioritas rendah, untuk menghindari pemblokiran sesi lain dalam skenario konkurensi tinggi. Untuk informasi selengkapnya, lihat AUTO_UPDATE_STATISTICS_ASYNC. Defaultnya adalah NONAKTIF.
OPTIMIZED_PLAN_FORCING = { AKTIF | NONAKTIF }
Berlaku untuk: SQL Server (Dimulai dengan SQL Server 2022 (16.x)), Azure SQL Database
Paket yang dioptimalkan memaksa mengurangi overhead kompilasi untuk mengulangi kueri paksa. Defaultnya adalah ON. Setelah rencana eksekusi kueri dihasilkan, langkah-langkah kompilasi tertentu disimpan untuk digunakan kembali sebagai skrip pemutaran ulang pengoptimalan. Skrip pemutaran ulang pengoptimalan disimpan sebagai bagian dari XML showplan terkompresi di Penyimpanan Kueri, dalam atribut tersembunyi OptimizationReplay
. Pelajari selengkapnya dalam Paket yang dioptimalkan memaksa dengan Penyimpanan Kueri.
DOP_FEEDBACK = { AKTIF | NONAKTIF }
Berlaku untuk: SQL Server (Dimulai dengan SQL Server 2022 (16.x)), Azure SQL Database
Mengidentifikasi inefisiensi paralelisme untuk kueri berulang, berdasarkan waktu dan waktu tunggu yang berlalu. Jika penggunaan paralelisme dianggap tidak efisien, umpan balik DOP menurunkan DOP untuk eksekusi kueri berikutnya, dari apa pun yang dikonfigurasi DOP, dan memverifikasi apakah itu membantu. Memerlukan Penyimpanan Kueri diaktifkan dan dalam mode READ_WRITE. Untuk informasi selengkapnya, lihat Tingkat umpan balik Paralelisme (DOP). Defaultnya adalah NONAKTIF.
CE_FEEDBACK = { AKTIF | NONAKTIF }
Berlaku untuk: SQL Server (Dimulai dengan SQL Server 2022 (16.x)), Azure SQL Database, dan Azure SQL Managed Instance
Umpan balik CE membahas masalah regresi yang dirasakan yang dihasilkan dari asumsi model CE yang salah saat menggunakan CE default (CE120 atau lebih tinggi) dan dapat secara selektif menggunakan asumsi model yang berbeda. Memerlukan Penyimpanan Kueri diaktifkan dan dalam mode READ_WRITE. Untuk informasi selengkapnya, lihat Umpan balik Estimasi kardinalitas (CE). Defaultnya adalah AKTIF dalam tingkat kompatibilitas database 160 dan yang lebih tinggi.
PARAMETER_SENSITIVE_PLAN_OPTIMIZATION = { AKTIF | NONAKTIF }
Berlaku untuk: SQL Server (Dimulai dengan SQL Server 2022 (16.x)), Azure SQL Database, dan Azure SQL Managed Instance
Pengoptimalan rencana sensitivitas parameter (PSP) membahas skenario di mana satu paket cache untuk kueri berparameter tidak optimal untuk semua kemungkinan nilai parameter masuk. Ini adalah kasus dengan distribusi data nonuniform. Defaultnya adalah ON yang dimulai di tingkat kompatibilitas database 160. Untuk informasi selengkapnya, lihat Pengoptimalan Paket Sensitif Parameter.
LEDGER_DIGEST_STORAGE_ENDPOINT = { <string> URL titik akhir | NONAKTIF }
Berlaku untuk: SQL Server (Dimulai dengan SQL Server 2022 (16.x))
Mengaktifkan atau menonaktifkan pengunggahan hash ledger ke Azure Blob Storage. Untuk mengaktifkan pengunggahan hash ledger, tentukan titik akhir akun penyimpanan Azure Blob. Untuk menonaktifkan pengunggahan hash ledger, atur nilai opsi ke NONAKTIF. Defaultnya adalah NONAKTIF.
FORCE_SHOWPLAN_RUNTIME_PARAMETER_COLLECTION = { AKTIF | NONAKTIF }
Berlaku untuk: SQL Server (Dimulai dengan SQL Server 2022 (16.x)), Azure SQL Database dan Azure SQL Managed Instance
Menyebabkan SQL Server menghasilkan fragmen XML Showplan dengan ParameterRuntimeValue saat menggunakan infrastruktur pembuatan profil statistik eksekusi kueri ringan atau menjalankan sys.dm_exec_query_statistics_xml
DMV sambil memecahkan masalah kueri yang berjalan lama.
Penting
FORCE_SHOWPLAN_RUNTIME_PARAMETER_COLLECTION
Opsi konfigurasi tercakup database tidak dimaksudkan untuk diaktifkan terus menerus di lingkungan produksi, tetapi hanya untuk tujuan pemecahan masalah yang terbatas waktu. Menggunakan opsi konfigurasi tercakup database ini akan memperkenalkan tambahan dan mungkin overhead CPU dan memori yang signifikan karena kami akan membuat fragmen XML Showplan dengan informasi parameter runtime, baik sys.dm_exec_query_statistics_xml
infrastruktur profil statistik eksekusi kueri DMV atau ringan diaktifkan atau tidak.
OPTIMIZED_SP_EXECUTESQL = { AKTIF | NONAKTIF }
Berlaku untuk: Azure SQL Database
Mengaktifkan atau menonaktifkan perilaku serialisasi kompilasi sp_executesql saat batch dikompilasi. Defaultnya adalah NONAKTIF. Memungkinkan batch yang menggunakan sp_executesql untuk menserialisasikan proses kompilasi sangat efektif dalam mengurangi dampak badai kompilasi ketika ada kompilasi kueri adhoc yang sering dan bersamaan yang memanfaatkan prosedur tersimpan sistem sp_executesql. Eksekusi pertama sp_executesql akan mengkompilasi dan memasukkan rencana yang dikompilasi ke dalam cache rencana. Sesi lain membatalkan menunggu pada kunci kompilasi dan menggunakan kembali rencana setelah tersedia. Ini memungkinkan sp_executesql berperilaku seperti objek seperti prosedur tersimpan dan pemicu dari perspektif kompilasi.
Izin
Memerlukan ALTER ANY DATABASE SCOPED CONFIGURATION
database. Izin ini dapat diberikan oleh pengguna dengan CONTROL
izin pada database.
Keterangan
Meskipun Anda dapat mengonfigurasi database sekunder untuk memiliki pengaturan konfigurasi cakupan yang berbeda dari database utamanya, semua database sekunder menggunakan konfigurasi yang sama. Pengaturan yang berbeda tidak dapat dikonfigurasi untuk sekunder individual.
Menjalankan pernyataan ini menghapus cache prosedur dalam database saat ini, yang berarti bahwa semua kueri harus kompilasi ulang.
Untuk kueri nama tiga bagian, pengaturan untuk koneksi database saat ini untuk kueri dihormati, selain untuk modul SQL (seperti prosedur, fungsi, dan pemicu) yang dikompilasi dalam konteks database lain dan oleh karena itu menggunakan opsi database tempat mereka berada. Demikian pula, saat memperbarui statistik secara asinkron, pengaturan ASYNC_STATS_UPDATE_WAIT_AT_LOW_PRIORITY
untuk database tempat statistik berada dihormati.
Peristiwa ALTER_DATABASE_SCOPED_CONFIGURATION
ditambahkan sebagai peristiwa DDL yang dapat digunakan untuk mengaktifkan pemicu DDL, dan merupakan anak dari ALTER_DATABASE_EVENTS
grup pemicu.
Ketika database tertentu dipulihkan atau dilampirkan, pengaturan konfigurasi cakupan database dibawa dan tetap berada di database.
Dimulai dengan SQL Server 2019 (15.x), di Azure SQL Database, dan Azure SQL Managed Instance, beberapa nama opsi telah berubah:
DISABLE_INTERLEAVED_EXECUTION_TVF
diubah menjadiINTERLEAVED_EXECUTION_TVF
DISABLE_BATCH_MODE_MEMORY_GRANT_FEEDBACK
diubah menjadiBATCH_MODE_MEMORY_GRANT_FEEDBACK
DISABLE_BATCH_MODE_ADAPTIVE_JOINS
diubah menjadiBATCH_MODE_ADAPTIVE_JOINS
Batasan
MAXDOP
Pengaturan terperinci dapat mengambil alih pengaturan global dan gubernur sumber daya tersebut dapat menutup semua pengaturan MAXDOP lainnya. Logika untuk pengaturan MAXDOP adalah sebagai berikut:
Petunjuk kueri mengambil alih
sp_configure
konfigurasi lingkup database dan . Jika grup sumber daya MAXDOP diatur untuk grup beban kerja:Jika petunjuk kueri diatur ke nol (0), petunjuk tersebut akan ditimpa oleh pengaturan gubernur sumber daya.
Jika petunjuk kueri bukan nol (0), petunjuk tersebut dibatasi oleh pengaturan gubernur sumber daya.
Konfigurasi cakupan database (kecuali nol) mengambil alih
sp_configure
pengaturan kecuali ada petunjuk kueri dan dibatasi oleh pengaturan gubernur sumber daya.sp_configure
Pengaturan ini ditimpa oleh pengaturan gubernur sumber daya.
QUERY_OPTIMIZER_HOTFIXES
Ketika QUERYTRACEON
petunjuk digunakan untuk mengaktifkan Pengoptimal Kueri default SQL Server 7.0 hingga versi SQL Server 2012 (11.x) atau perbaikan Pengoptimal Kueri, itu akan menjadi kondisi OR antara petunjuk kueri dan pengaturan konfigurasi cakupan database, yang berarti jika diaktifkan, konfigurasi cakupan database berlaku.
Geo DR
Database sekunder yang dapat dibaca (Grup Ketersediaan AlwaysOn, Azure SQL Database, dan database yang direplikasi secara geografis Azure SQL Managed Instance), gunakan nilai sekunder dengan memeriksa status database. Meskipun kompilasi ulang tidak terjadi pada failover dan secara teknis primer baru memiliki kueri yang menggunakan pengaturan sekunder, idenya adalah bahwa pengaturan antara primer dan sekunder hanya bervariasi ketika beban kerja berbeda dan oleh karena itu kueri yang di-cache menggunakan pengaturan optimal, sedangkan kueri baru memilih pengaturan baru yang sesuai untuk mereka.
DacFx
Karena ALTER DATABASE SCOPED CONFIGURATION
merupakan fitur baru di Azure SQL Database, Azure SQL Managed Instance dan SQL Server (dimulai dengan SQL Server 2016 (13.x)) yang memengaruhi skema database, ekspor skema (dengan atau tanpa data) tidak dapat diimpor ke versi SQL Server yang lebih lama, seperti SQL Server 2012 (11.x) atau SQL Server 2014 (12.x). Misalnya, ekspor ke DACPAC atau BACPAC dari database SQL Database atau SQL Server 2016 (13.x) yang menggunakan fitur baru ini tidak akan dapat diimpor ke server tingkat bawah.
ELEVATE_ONLINE
Opsi ini hanya berlaku untuk pernyataan DDL yang mendukung WITH (ONLINE = <syntax>)
. Indeks XML tidak terpengaruh.
ELEVATE_RESUMABLE
Opsi ini hanya berlaku untuk pernyataan DDL yang mendukung WITH (RESUMABLE = <syntax>)
. Indeks XML tidak terpengaruh.
Metadata
Tampilan sistem sys.database_scoped_configurations (Transact-SQL) menyediakan informasi tentang konfigurasi terlingkup dalam database. Opsi konfigurasi yang dicakup database hanya muncul saat sys.database_scoped_configurations
opsi tersebut mengambil alih pengaturan default di seluruh server. Tampilan sistem sys.configurations (Transact-SQL) hanya menampilkan pengaturan di seluruh server.
Contoh
Contoh-contoh ini menunjukkan penggunaan ALTER DATABASE SCOPED CONFIGURATION
J. Beri Izin
Contoh ini memberikan izin yang diperlukan untuk menjalankan ALTER DATABASE SCOPED CONFIGURATION kepada pengguna Joe.
GRANT ALTER ANY DATABASE SCOPED CONFIGURATION to [Joe] ;
B. Atur MAXDOP
Contoh ini menetapkan MAXDOP = 1 untuk database utama dan MAXDOP = 4 untuk database sekunder dalam skenario replikasi geografis.
ALTER DATABASE SCOPED CONFIGURATION SET MAXDOP = 1 ;
ALTER DATABASE SCOPED CONFIGURATION FOR SECONDARY SET MAXDOP = 4 ;
Contoh ini mengatur MAXDOP untuk database sekunder agar sama dengan yang ditetapkan untuk database utamanya dalam skenario replikasi geografis.
ALTER DATABASE SCOPED CONFIGURATION FOR SECONDARY SET MAXDOP = PRIMARY ;
C. Atur LEGACY_CARDINALITY_ESTIMATION
Contoh ini mengatur LEGACY_CARDINALITY_ESTIMATION ke AKTIF untuk database sekunder dalam skenario replikasi geografis.
ALTER DATABASE SCOPED CONFIGURATION FOR SECONDARY SET LEGACY_CARDINALITY_ESTIMATION = ON ;
Contoh ini menetapkan LEGACY_CARDINALITY_ESTIMATION untuk database sekunder karena untuk database utamanya dalam skenario replikasi geografis.
ALTER DATABASE SCOPED CONFIGURATION FOR SECONDARY SET LEGACY_CARDINALITY_ESTIMATION = PRIMARY ;
D. Atur PARAMETER_SNIFFING
Contoh ini mengatur PARAMETER_SNIFFING ke NONAKTIF untuk database utama dalam skenario replikasi geografis.
ALTER DATABASE SCOPED CONFIGURATION SET PARAMETER_SNIFFING = OFF ;
Contoh ini mengatur PARAMETER_SNIFFING ke NONAKTIF untuk database sekunder dalam skenario replikasi geografis.
ALTER DATABASE SCOPED CONFIGURATION FOR SECONDARY SET PARAMETER_SNIFFING = OFF ;
Contoh ini mengatur PARAMETER_SNIFFING untuk database sekunder seperti pada database utama dalam skenario replikasi geografis.
ALTER DATABASE SCOPED CONFIGURATION FOR SECONDARY SET PARAMETER_SNIFFING = PRIMARY ;
E. Atur QUERY_OPTIMIZER_HOTFIXES
Atur QUERY_OPTIMIZER_HOTFIXES ke AKTIF untuk database utama dalam skenario replikasi geografis.
ALTER DATABASE SCOPED CONFIGURATION SET QUERY_OPTIMIZER_HOTFIXES = ON ;
F. Hapus Cache Prosedur
Contoh ini menghapus cache prosedur (hanya dimungkinkan untuk database utama).
ALTER DATABASE SCOPED CONFIGURATION CLEAR PROCEDURE_CACHE;
G. Atur IDENTITY_CACHE
Berlaku untuk: SQL Server (Dimulai dengan SQL Server 2017 (14.x)), Azure SQL Database dan Azure SQL Managed Instance
Contoh ini menonaktifkan cache identitas.
ALTER DATABASE SCOPED CONFIGURATION SET IDENTITY_CACHE = OFF ;
H. Atur OPTIMIZE_FOR_AD_HOC_WORKLOADS
Berlaku untuk: SQL Server (Dimulai dengan SQL Server 2019 (15.x)), Azure SQL Database dan Azure SQL Managed Instance
Contoh ini memungkinkan stub paket yang dikompilasi untuk disimpan dalam cache saat batch dikompilasi untuk pertama kalinya.
ALTER DATABASE SCOPED CONFIGURATION SET OPTIMIZE_FOR_AD_HOC_WORKLOADS = ON;
I. Atur ELEVATE_ONLINE
Berlaku untuk: SQL Server (Dimulai dengan SQL Server 2019 (15.x)), Azure SQL Database dan Azure SQL Managed Instance
Contoh ini mengatur ELEVATE_ONLINE ke FAIL_UNSUPPORTED.
ALTER DATABASE SCOPED CONFIGURATION SET ELEVATE_ONLINE = FAIL_UNSUPPORTED ;
j. Atur ELEVATE_RESUMABLE
Berlaku untuk: SQL Server (Dimulai dengan SQL Server 2019 (15.x)), Azure SQL Database dan Azure SQL Managed Instance
Contoh ini mengatur ELEVATE_RESUMABLE ke WHEN_SUPPORTED.
ALTER DATABASE SCOPED CONFIGURATION SET ELEVATE_RESUMABLE = WHEN_SUPPORTED ;
K. Menghapus rencana kueri dari cache paket
Berlaku untuk: SQL Server (Dimulai dengan SQL Server 2019 (15.x)), Azure SQL Database dan Azure SQL Managed Instance
Contoh ini menghapus rencana tertentu dari cache prosedur
ALTER DATABASE SCOPED CONFIGURATION CLEAR PROCEDURE_CACHE 0x06000500F443610F003B7CD12C02000001000000000000000000000000000000000000000000000000000000;
L. Mengatur durasi yang dijeda
Berlaku untuk: Azure SQL Database dan Azure SQL Managed Instance
Contoh ini mengatur durasi jeda indeks yang dapat dilanjutkan menjadi 60 menit.
ALTER DATABASE SCOPED CONFIGURATION
SET PAUSED_RESUMABLE_INDEX_ABORT_DURATION_MINUTES = 60
M. Mengaktifkan dan menonaktifkan pengunggahan hash ledger
Berlaku untuk: SQL Server (Dimulai dengan SQL Server 2022 (16.x))
Contoh ini memungkinkan pengunggahan hash ledger ke akun penyimpanan Azure.
ALTER DATABASE SCOPED CONFIGURATION
SET LEDGER_DIGEST_STORAGE_ENDPOINT = 'https://mystorage.blob.core.windows.net'
Contoh ini menonaktifkan pengunggahan hash ledger.
ALTER DATABASE SCOPED CONFIGURATION
SET LEDGER_DIGEST_STORAGE_ENDPOINT = OFF
Sumber Tambahan
Sumber Daya MAXDOP
- Tingkat Paralelisme
- Rekomendasi dan panduan untuk opsi konfigurasi "tingkat paralelisme maks" di SQL Server
Sumber Daya LEGACY_CARDINALITY_ESTIMATION
- Estimasi Kardinalitas (SQL Server)
- Mengoptimalkan Rencana Kueri Anda dengan Estimator Kardinalitas SQL Server 2014
Sumber Daya PARAMETER_SNIFFING
Sumber Daya QUERY_OPTIMIZER_HOTFIXES
Sumber Daya ELEVATE_ONLINE
Panduan untuk Operasi Indeks Online
Sumber Daya ELEVATE_RESUMABLE
Panduan untuk Operasi Indeks Online
Konten terkait
- sys.database_scoped_configurations
- sys.configurations
- Tampilan Katalog Database dan File (Transact-SQL)
- Opsi konfigurasi server (SQL Server)
- ALTER INDEX (Transact-SQL)
- BUAT INDEKS (Transact-SQL)
- Rekomendasi dan panduan untuk opsi konfigurasi "tingkat paralelisme maks" di SQL Server
- Cara Kerja Operasi Indeks Online
- Melakukan Operasi Indeks Online
- Pemrosesan kueri cerdas dalam database SQL
- Umpan balik pemberian memori
- Umpan balik estimasi kardinalitas (CE)
- Tingkat paralelisme (DOP) umpan balik