увімкнути план поверху впливу на SQL Server запит на змінення оптимізатора поведінку, яка може знаходитися під контролем різних трасування прапори на рівні конкретного запит на змінення

Номер статті: 2801413 - Показ продуктів, яких стосується ця стаття.
Розгорнути все | Згорнути все

Введення

Починаючи з Microsoft SQL Server 2000 пакета оновлень 3 (SP3), сервер SQL запит на змінення процесор команди прийняли політику, що будь-які виправлення, які можуть негативно вплинути на виконання плану запит на змінення повинні контролюватися прапор трасування. Окрім виправлення помилок, що може призвести до неправильних результатів або корупції цих поточних виправлень вимкнуто за промовчанням і прапор трасування потрібно включити fix. Ця політика допомагає уникнути несподіваних змін до виконання планів з наявних навантаження, яка може виникнути під Вільний час інсталяції виправлення або оновлення системи безпеки.

Зазвичай прапори трасування ввімкнуто під Вільний час запуску або під Вільний час сеансу користувача. Однак, це може мати неочікувані вплив на деякі запити в наявного застосунку бази даних. Розглянемо, наприклад, програми або робочого навантаження, що включає декілька запитів, і деякі з цих запитів використовувати план поверху виконання неефективних запит на змінення, що покращився, дозволяючи прапор трасування, яка контролює відповідні виправлення. Однак, інші запити можуть виникнути менш оптимальний план поверху виконання, коли ж прапор трасування застосовується. Це тому, що виконання плану вибір впливає на всі запити, які складаються у випадку або сеансу, коли відповідні простежити прапор увімкнуто. Залежно від запит на змінення і дані змінюючи моделей, які використовуються оптимізатором запит на змінення може як поліпшити і зменшити Вільний час ефективності та компіляції виконання плану для певних запитів.

Якщо прапор трасування впливає на будь-який план поверху виконання запит на змінення небажаним чином, покращує деякі інші план поверху виконання запит на змінення, ви можете увімкнути відповідний прапор трасування для тільки певний запит. Ви можете зробити це шляхом включення пакета (за допомогою команди DBCC TRACEON) безпосередньо перед цільової запит, прапор трасування і потім відключення право трасування прапор (за допомогою команди DBCC TRACEOFF) після запит на змінення. Однак, це може не завжди бути можна контролювати текст пакетного Transact-SQL для наявних застосунків. Може досвід поганий query продуктивності існуючих робочого навантаження і застосувати доступні план поверху впливу на зміни до запит на змінення без зміни самого тексту пакета. Ви можете зробити це за допомогою запит на змінення на рівні параметр включити прапор трасування для тільки певний запит.

Починаючи з Microsoft SQL Server 2005 пакет оновлень 2 (SP2) і Microsoft SQL Server 2008, параметр запит на змінення на рівні "QUERYTRACEON" є. Цей параметр дозволяє включити впливу на план поверху прапор трасування лише під Вільний час компіляції одного запит на змінення. Як і інші параметри запит на змінення на рівні можна використовувати його разом з планом напрямні для відповідності текст запит на змінення, що виконується від будь-якої сесії і автоматично застосовувати прапор трасування впливу на план поверху, коли цей запит функціонують.

Додаткові відомості

QUERYTRACEON підказка доступна як натяк запит на змінення, що дозволяє план поверху впливу на зміни в Оптимізаторі запит на змінення, який знаходиться під контролем прапор трасування. Підказка QUERYTRACEON вказаний у рамках положення про ПАРАМЕТР схожий на інший підказки запит на змінення.

Синтаксис

<querytraceon_hint> ::=
       { QUERYTRACEON trace_flag_number }

Аргументи

QUERYTRACEON trace_flag_number

Це визначає впливу на план поверху трасування прапор число, що ввімкнено під Вільний час компіляції запит на змінення. Такі цифри прапора трасування підтримуються:
Згорнути цю таблицюРозгорнути цю таблицю
Прапор трасування Статті бази знань МайкрософтДоступні в
4199974006сукупний пакет оновлень 6 для SQL Server 2005 із пакетом оновлень 3;
сукупний пакет оновлень 7 для SQL Server 2008;
сукупний пакет оновлень 7 для SQL Server 2008 із пакетом оновлень 1;
SQL Server 2008 R2 і пізніших версій.
Всі прапори трасування покриті 4199974006сукупний пакет оновлень 6 для SQL Server 2005 із пакетом оновлень 3;
сукупний пакет оновлень 7 для SQL Server 2008;
сукупний пакет оновлень 7 для SQL Server 2008 із пакетом оновлень 1;
SQL Server 2008 R2 і пізніших версій.
23352413549SQL Server 2005 і пізніших версій.
23402009160SQL Server 2005 і пізніших версій.
2389, 2390ЖоденSQL Server 2005 і пізніших версій. Відома проблема в SQL Server 2005 середовищах див. 929278.
4136980653сукупний пакет оновлень 9 для SQL Server 2005 із пакетом оновлень 3;
сукупний пакет оновлень 7 для SQL Server 2008 із пакетом оновлень 1;
Накопичувальне оновлення 2 для SQL Server 2008 R2 і пізніших версій.
41372658214сукупний пакет оновлень 8 для SQL Server 2008 із пакетом оновлень 2;
сукупний пакет оновлень 7 для SQL Server 2008 із пакетом оновлень 3;
сукупний пакет оновлень 5 для SQL Server 2008 R2 пакет оновлень 1;
Накопичувальне оновлення 1 для SQL Server 2012 і пізніших версій.
41382667211Накопичувальне оновлення 13 для SQL Server 2008 R2;
сукупний пакет оновлень 7 для SQL Server 2008 R2 пакет оновлень 1;
сукупний пакет оновлень 1 для SQL Server 2008 R2 пакет оновлень 2;
Накопичувальне оновлення 2 SQL Server 2012 та пізніші версії...

Зауваження

Параметр QUERYTRACEON не підтримується для трасування прапори Крім трасування прапорів, які наведені в таблиці. Однак, цей параметр не повернеться будь-які помилки або попередження, якщо використовується на номер прапора трасування не підтримується. Якщо вказаний трасування прапор не один, що впливає на план поверху виконання запит на змінення, параметр мовчки ігноруватиметься.

Більше ніж один прапор трасування можна вказати ПАРАМЕТР п., якщо QUERYTRACEON trace_flag_number повторюється з різних трасування прапор чисел.

QUERYTRACEON варіант може бути використаний в план поверху напрямні лінії полів.

Приклади

  • Ви можете включити всі впливу на план поверху виправлень під контролем прапор трасування 4199 для певного запит на змінення. Наприклад, можна використовувати такий запит:
    SELECT x FROM correlated WHERE f1 = 0 and f2 = 1 OPTION (QUERYTRACEON 4199)
  • Ви можете включити всі впливу на план поверху виправлень під контролем трасування прапори 4199 і 4137 для певного запит на змінення. Наприклад, можна використовувати такий запит:
    SELECT x FROM correlated WHERE f1 = 0 AND f2 = 1 OPTION (QUERYTRACEON 4199, QUERYTRACEON 4137)

Властивості

Номер статті: 2801413 - Востаннє переглянуто: 5 квітня 2013 р. - Редакція: 2.0
Застосовується до:
  • Microsoft SQL 2005 Server Enterprise
  • Microsoft SQL Server 2005 Express Edition
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL 2005 Server Workgroup
  • 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
Ключові слова: 
kbinfo kbsurveynew kbexpertiseinter kbhowto kbmt KB2801413 KbMtuk
Машинний переклад
УВАГА! Цю статтю переклала програма машинного перекладу Microsoft, а не людина. Корпорація Microsoft пропонує вам як машинні переклади, так і переклади фахівців, щоб Ви мали доступ до всіх статей бази знань рідною мовою. Проте стаття, яку переклав комп’ютер, не завжди бездоганна. Вона може містити лексичні, синтаксичні або граматичні помилки. Так само помиляється іноземець, спілкуючись вашою рідною мовою. Корпорація Microsoft не несе відповідальність за жодні неточності, помилки або шкоду, завдану неправильним перекладом змісту або його використанням з боку користувачів. Крім того, корпорація Microsoft часто оновлює програму машинного перекладу.
Клацніть тут, щоб переглянути цю статтю англійською мовою: 2801413

Надіслати відгук