Mengaktifkan mempengaruhi rencana SQL Server permintaan Pengoptimal perilaku yang dapat dikendalikan oleh bendera pelacakan yang berbeda pada tingkat permintaan spesifik

PENTING: Artikel ini diterjemahkan oleh perangkat lunak penerjemahan mesin Microsoft, dan mungkin telah diedit oleh Masyarakat Microsoft melalui teknologi CTF dan bukan oleh seorang penerjemah profesional. Microsoft menawarkan baik artikel yang diterjemahkan oleh manusia maupun artikel hasil editan terjemahan oleh mesin/komunitas, sehingga Anda dapat mengakses semua artikel di Sentra Pengetahuan yang kami miliki dalam berbagai bahasa. Namun artikel hasil editan mesin atau bahkan komunitas tidak selalu sempurna. Artikel ini dapat mengandung kesalahan dalam hal kosa kata, sintaksis atau tatabahasa, sangat mirip dengan penutur asing yang membuat kekeliruan ketika berbicara dalam bahasa Anda. Microsoft tidak bertanggung jawab atas ketidakakuratan, kesalahan atau kerugian apa pun akibat dari kekeliruan dalam penerjemahan isi atau penggunaannya oleh pelanggan kami. Microsoft juga akan senantiasa memperbarui perangkat lunak penerjemahan mesin dan alat untuk menyempurnakan Editan Hasil Penerjemahan Mesin.

Klik disini untuk melihat versi Inggris dari artikel ini: 2801413
Pendahuluan
Dimulai dengan Microsoft SQL Server 2000 Service Pack 3 (SP3), SQL Server permintaan prosesor tim mengadopsi kebijakan yang setiap perbaikan terbaru yang dapat berpotensi mempengaruhi pelaksanaan rencana permintaan harus dikontrol oleh bendera pelacakan. Kecuali untuk perbaikan bug yang dapat menyebabkan hasil yang salah atau korupsi, perbaikan terbaru ini dinonaktifkan secara asali, dan bendera pelacakan yang diperlukan untuk mengaktifkan perbaikan. Kebijakan ini membantu menghindari tidak terduga perubahan rencana eksekusi ada beban kerja yang mungkin terjadi saat perbaikan terbaru atau pembaruan keamanan diinstal.

Biasanya bendera pelacakan diaktifkan pada startup atau sesi pengguna. Namun, ini dapat berpengaruh tak terduga pada beberapa permintaan pada aplikasi pangkalan data yang ada. Sebagai contoh, pertimbangkan aplikasi atau beban kerja yang menyertakan beberapa permintaan, dan beberapa permintaan ini menggunakan rencana eksekusi query efisien yang ditingkatkan dengan mengaktifkan bendera pelacakan yang mengontrol hotfix yang bersangkutan. Namun, permintaan lainnya mungkin mengalami rencana eksekusi kurang optimal ketika bendera pelacakan yang sama diterapkan. Hal ini karena pilihan rencana eksekusi yang mempengaruhi semua permintaan yang disusun dalam contoh atau sesi saat terkait bendera pelacakan diaktifkan. Tergantung pada permintaan dan data, mengubah model yang digunakan oleh Pengoptimal permintaan dapat meningkatkan maupun menurunkan rencana efisiensi dan kompilasi waktu eksekusi untuk pertanyaan tertentu.

Jika bendera pelacakan mempengaruhi rencana eksekusi query dengan cara yang tidak diinginkan, tetapi meningkatkan rencana eksekusi query lainnya, Anda mungkin ingin mengaktifkan bendera pelacakan yang sesuai untuk hanya permintaan tertentu. Anda dapat melakukannya dengan mengaktifkan bendera pelacakan batch (dengan menggunakan perintah DBCC TRACEON) tepat sebelum permintaan target, dan kemudian menonaktifkan jejak bendera (dengan menggunakan perintah DBCC TRACEOFF) kanan-atas setelah permintaan. Namun, ini mungkin tidak selalu mungkin untuk mengontrol teks batch Transact-SQL untuk aplikasi yang telah ada. Anda mungkin mengalami kinerja yang buruk permintaan di beban kerja yang sudah ada, dan ingin menerapkan perubahan yang mempengaruhi rencana yang tersedia untuk permintaan tanpa mengubah teks batch itu sendiri. Anda dapat melakukannya dengan menggunakan opsi tingkat permintaan untuk mengaktifkan bendera pelacakan untuk hanya permintaan tertentu.

Dimulai dengan Microsoft SQL Server 2005 Service Pack 2 (SP2) dan Microsoft SQL Server 2008, opsi tingkat permintaan "QUERYTRACEON" tersedia. Opsi ini memungkinkan Anda untuk mengaktifkan bendera pelacakan yang mempengaruhi rencana hanya selama kompilasi permintaan tunggal. Seperti opsi tingkat permintaan lainnya, Anda dapat menggunakannya bersama-sama dengan rencana panduan untuk menyesuaikan teks permintaan dieksekusi dari setiap sesi, dan secara otomatis menerapkan bendera pelacakan yang mempengaruhi rencana ketika permintaan ini dikompilasi.
Informasi lebih lanjut
Petunjuk QUERYTRACEON tersedia sebagai petunjuk permintaan yang memungkinkan perubahan yang mempengaruhi rencana Pengoptimal permintaan yang dikendalikan oleh bendera pelacakan. Petunjuk QUERYTRACEON ditetapkan sebagai bagian dari klausa opsi yang serupa lainnya petunjuk pencarian.

Sintaks

<querytraceon_hint> ::=       { QUERYTRACEON trace_flag_number }

Argumen

QUERYTRACEON trace_flag_number

Ini menentukan mempengaruhi rencana jejak bendera angka yang diaktifkan selama menyusun permintaan. Nomor bendera pelacakan berikut ini didukung:
Bendera pelacakan Artikel Pangkalan Pengetahuan MicrosoftTersedia di
4199974006Pembaruan kumulatif 6 untuk SQL Server 2005 Service Pack 3;
Pemutakhiran kumulatif 7 untuk SQL Server 2008;
Pemutakhiran kumulatif 7 untuk SQL Server 2008 Service Pack 1;
SQL Server 2008 R2 dan versi yang lebih baru.
Bendera pelacakan tercakup 4199974006Pembaruan kumulatif 6 untuk SQL Server 2005 Service Pack 3;
Pemutakhiran kumulatif 7 untuk SQL Server 2008;
Pemutakhiran kumulatif 7 untuk SQL Server 2008 Service Pack 1;
SQL Server 2008 R2 dan versi yang lebih baru.
23352413549SQL Server 2005 dan versi yang lebih baru.
23402009160SQL Server 2005 dan versi yang lebih baru.
2389, 2390Tidak adaSQL Server 2005 dan versi yang lebih baru. Untuk masalah yang diketahui di SQL Server 2005 lingkungan Baca 929278.
4136980653Pembaruan kumulatif 9 untuk SQL Server 2005 Service Pack 3;
Pemutakhiran kumulatif 7 untuk SQL Server 2008 Service Pack 1;
Pemutakhiran kumulatif 2 untuk SQL Server 2008 R2 dan versi yang lebih baru.
41372658214Pembaruan kumulatif 8 untuk SQL Server 2008 Service Pack 2;
Pemutakhiran kumulatif 7 untuk SQL Server 2008 Service Pack 3;
Pembaruan kumulatif 5 untuk SQL Server 2008 R2 Service Pack 1;
Pemutakhiran kumulatif 1 untuk SQL Server 2012 dan versi yang lebih baru.
41382667211Pembaruan kumulatif 13 untuk SQL Server 2008 R2;
Pemutakhiran kumulatif 7 untuk SQL Server 2008 R2 Service Pack 1;
Pemutakhiran kumulatif 1 untuk SQL Server 2008 R2 Service Pack 2;
Pemutakhiran kumulatif 2 untuk SQL Server 2012 dan versi yang lebih baru.


Berikut rencana mempengaruhi bendera pelacakan tersedia di Microsoft SQL Server 2014:
Bendera pelacakanDeskripsi
9481Gunakan saat menjalankan SQL Server 2014 dengan tingkat default database kompatibilitas mundur 120. Bendera pelacakan 9481 memaksa Pengoptimal permintaan untuk menggunakan versi 70 (versi SQL Server 2012) pengukur cardinality saat membuat rencana permintaan.
2312Gunakan saat menjalankan SQL Server 2014 dengan database kompatibilitas mundur tingkat 110, yang merupakan tingkat kompatibilitas mundur untuk SQL Server 2012. Bendera pelacakan 2312 memaksa Pengoptimal permintaan untuk menggunakan versi 120 (versi SQL Server 2014) pengukur cardinality saat membuat rencana permintaan.

Komentar

Opsi QUERYTRACEON tidak didukung untuk bendera pelacakan selain bendera pelacakan yang tercantum dalam Daftar Tabel. Namun, opsi ini tidak akan kembali galat atau peringatan jika nomor bendera pelacakan tidak didukung digunakan. Jika bendera pelacakan yang ditetapkan bukan salah satu yang mempengaruhi rencana eksekusi query, opsi akan diam-diam diabaikan.

Lebih dari satu bendera pelacakan dapat ditetapkan dalam opsi klausa jika QUERYTRACEON trace_flag_number diduplikasi dengan angka bendera pelacakan yang berbeda.


Eksekusi query dengan opsi QUERYTRACEON memerlukan keanggotaan sysadmintetap peran server.


Opsi QUERYTRACEON dapat digunakan dalam Panduan rencana.
Contoh
  • Anda dapat mengaktifkan semua mempengaruhi rencana perbaikan terbaru dikontrol oleh bendera pelacakan 4199 untuk permintaan tertentu. Misalnya, Anda dapat menggunakan kueri berikut ini:
    SELECT x FROM correlated WHERE f1 = 0 and f2 = 1 OPTION (QUERYTRACEON 4199)
  • Anda dapat mengaktifkan semua mempengaruhi rencana perbaikan terbaru dikontrol oleh bendera pelacakan 4199 dan 4137 untuk permintaan tertentu. Misalnya, Anda dapat menggunakan kueri berikut ini:
    SELECT x FROM correlated WHERE f1 = 0 AND f2 = 1 OPTION (QUERYTRACEON 4199, QUERYTRACEON 4137)

Peringatan: Artikel ini telah diterjemahkan secara otomatis

Properti

ID Artikel: 2801413 - Tinjauan Terakhir: 01/20/2016 10:59:00 - Revisi: 3.0

Microsoft SQL Server 2005 Enterprise Edition, Microsoft SQL Server 2005 Developer Edition, Microsoft SQL Server 2005 Standard Edition, Microsoft SQL Server 2005 Workgroup Edition, Microsoft SQL Server 2005 Enterprise X64 Edition, Microsoft SQL Server 2005 Standard X64 Edition, Microsoft SQL Server 2005 Enterprise Edition for Itanium-based Systems, Microsoft SQL Server 2008 Enterprise, Microsoft SQL Server 2008 Developer, Microsoft SQL Server 2008 Standard, Microsoft SQL Server 2008 Workgroup, Microsoft SQL Server 2008 R2 Datacenter, Microsoft SQL Server 2008 R2 Enterprise, Microsoft SQL Server 2008 R2 Developer, Microsoft SQL Server 2008 R2 Standard, Microsoft SQL Server 2008 R2 Workgroup, Microsoft SQL Server 2008 R2 Express, Microsoft SQL Server 2012 Enterprise, Microsoft SQL Server 2012 Developer, Microsoft SQL Server 2012 Standard, Microsoft SQL Server 2012 Web, Microsoft SQL Server 2012 Express, Microsoft SQL Server 2014 Developer, Microsoft SQL Server 2014 Enterprise, Microsoft SQL Server 2014 Express, Microsoft SQL Server 2014 Standard

  • kbinfo kbsurveynew kbexpertiseinter kbhowto kbmt KB2801413 KbMtid
Tanggapan