Mengaktifkan mempengaruhi rencana SQL Server query optimizer perilaku yang dapat dikendalikan oleh bendera jejak yang berbeda pada tingkat tertentu-query

Terjemahan Artikel Terjemahan Artikel
ID Artikel: 2801413 - Melihat produk di mana artikel ini berlaku.
Perbesar semua | Perkecil semua

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 jejak. Kecuali untuk perbaikan bug yang dapat menyebabkan hasil yang salah atau korupsi, perbaikan terbaru ini dinonaktifkan secara asali, dan bendera jejak diperlukan untuk mengaktifkan perbaikan. Kebijakan ini membantu menghindari tidak terduga perubahan rencana pelaksanaan yang ada beban kerja yang mungkin terjadi saat perbaikan terbaru atau pembaruan keamanan diinstal.

Biasanya jejak bendera diaktifkan pada startup atau dalam sesi pengguna. Namun, ini mungkin memiliki efek yang tak terduga pada beberapa permintaan dalam aplikasi database yang sudah ada. Sebagai contoh, perhatikan sebuah aplikasi atau beban kerja yang mencakup beberapa query, dan beberapa pertanyaan ini menggunakan rencana eksekusi query yang tidak efisien yang ditingkatkan dengan mengaktifkan bendera jejak yang mengontrol hotfix sesuai. Namun, permintaan lain mungkin mengalami rencana pelaksanaan kurang begitu optimal bila bendera jejak yang sama diterapkan. Hal ini karena pilihan rencana pelaksanaan yang mempengaruhi semua pertanyaan yang disusun dalam contoh atau sesi Kapan terkait jejak bendera diaktifkan. Tergantung pada permintaan dan data, mengubah model yang digunakan oleh query optimizer mungkin meningkatkan maupun menurunkan rencana efisiensi dan kompilasi waktu eksekusi untuk query tertentu.

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

Dimulai dengan Microsoft SQL Server 2005 Service Pack 2 (SP2) dan Microsoft SQL Server 2008, query-tingkat pilihan "QUERYTRACEON" tersedia. Pilihan ini memungkinkan Anda untuk mengaktifkan bendera jejak yang mempengaruhi rencana hanya selama kompilasi singel-query. Seperti opsi query-tingkat lain, Anda dapat menggunakannya dengan panduan rencana untuk menyesuaikan teks query dieksekusi dari setiap sesi, dan secara otomatis menerapkan bendera jejak yang mempengaruhi rencana ketika query ini sedang disusun.

Informasi lebih lanjut

QUERYTRACEON petunjuk juga tersedia sebagai permintaan petunjuk yang memungkinkan perubahan mempengaruhi rencana query optimizer yang dikendalikan oleh bendera jejak. Petunjuk QUERYTRACEON ditetapkan sebagai bagian dari pilihan klausa mirip lain permintaan petunjuk.

Sintaks

<querytraceon_hint> ::=
       { QUERYTRACEON trace_flag_number }

Argumen

QUERYTRACEON trace_flag_number

Ini menunjukkan mempengaruhi rencana jejak bendera nomor yang diaktifkan selama kompilasi pada query. Jejak bendera nomor berikut yang didukung:
Perkecil tabel iniPerbesar tabel ini
Jejak bendera Artikel Pangkalan Pengetahuan MicrosoftTersedia di
4199974006Pembaruan kumulatif 6 untuk SQL Server 2005 Service Pack 3;
Pembaruan kumulatif 7 untuk SQL Server 2008;
Pembaruan kumulatif 7 untuk SQL Server 2008 Service Pack 1;
SQL Server 2008 R2 dan versi yang lebih baru.
Semua jejak bendera ditutupi oleh 4199974006Pembaruan kumulatif 6 untuk SQL Server 2005 Service Pack 3;
Pembaruan kumulatif 7 untuk SQL Server 2008;
Pembaruan 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 dikenal dalam SQL Server 2005 lingkungan silakan lihat 929278.
4136980653Pembaruan kumulatif 9 untuk SQL Server 2005 Service Pack 3;
Pembaruan kumulatif 7 untuk SQL Server 2008 Service Pack 1;
2 Update kumulatif untuk SQL Server 2008 R2 dan versi.
41372658214Pembaruan kumulatif 8 untuk SQL Server 2008 Service Pack 2;
Pembaruan kumulatif 7 untuk SQL Server 2008 Service Pack 3;
Pembaruan kumulatif 5 untuk SQL Server 2008 R2 Service Pack 1;
1 Update kumulatif untuk SQL Server 2012 dan versi yang lebih baru.
41382667211Pembaruan kumulatif 13 untuk SQL Server 2008 R2;
Pembaruan kumulatif 7 untuk SQL Server 2008 R2 Service Pack 1;
Pembaruan kumulatif 1 untuk SQL Server 2008 R2 Service Pack 2;
Pembaruan kumulatif 2 untuk SQL Server 2012 dan versi yang lebih baru.


Berikut rencana mempengaruhi jejak bendera tersedia dalam Microsoft SQL Server 2014 Community Technology Preview 1 (CTP1) dan Microsoft SQL Server 2014 Community Technology Preview 2 (CTP2):

Perkecil tabel iniPerbesar tabel ini
Jejak benderaDeskripsi
9481Gunakan ketika menjalankan SQL Server 2014 dengan default database kompatibilitas mundur tingkat 120. Bendera jejak 9481 pasukan query optimizer menggunakan versi 70 (versi SQL Server 2012) pengukur cardinality ketika membuat rencana permintaan.
2312Gunakan ketika menjalankan SQL Server 2014 dengan database kompatibilitas mundur tingkat 110, yang merupakan tingkat kompatibilitas mundur untuk SQL Server 2012. Bendera jejak 2312 pasukan query optimizer menggunakan versi 120 (versi SQL Server 2014) pengukur cardinality ketika membuat rencana permintaan.

Komentar

Opsi QUERYTRACEON tidak didukung untuk jejak bendera selain bendera jejak yang tercantum dalam Daftar Tabel. Namun, pilihan ini tidak akan kembali kesalahan atau peringatan jika tidak didukung jejak bendera nomor digunakan. Jika ditentukan jejak bendera bukanlah salah satu yang mempengaruhi rencana eksekusi query, pilihan akan diam-diam diabaikan.

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

Opsi QUERYTRACEON dapat digunakan dalam Panduan rencana.

Contoh

  • Anda dapat mengaktifkan semua hotfix mempengaruhi rencana yang dikontrol oleh jejak bendera 4199 untuk query tertentu. Misalnya, Anda dapat menggunakan query berikut:
    SELECT x FROM correlated WHERE f1 = 0 and f2 = 1 OPTION (QUERYTRACEON 4199)
  • Anda dapat mengaktifkan semua hotfix mempengaruhi rencana yang dikontrol oleh jejak bendera 4199 dan 4137 untuk query tertentu. Misalnya, Anda dapat menggunakan query berikut:
    SELECT x FROM correlated WHERE f1 = 0 AND f2 = 1 OPTION (QUERYTRACEON 4199, QUERYTRACEON 4137)

Properti

ID Artikel: 2801413 - Kajian Terakhir: 06 Januari 2014 - Revisi: 1.0
Berlaku bagi:
  • 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 Enterprise Community Technology Preview 2
  • Microsoft SQL Server 2014 Standard Community Technology Preview 2
Kata kunci: 
kbinfo kbsurveynew kbexpertiseinter kbhowto kbmt KB2801413 KbMtid
Penerjemahan Mesin
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

Berikan Masukan

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com