Перейти до основного
Підтримка
Вхід
Вхід за допомогою облікового запису Microsoft
Увійдіть або створіть обліковий запис.
Вітаємо,
Виберіть інший обліковий запис.
У вас є кілька облікових записів
Виберіть обліковий запис, за допомогою якого потрібно ввійти.

ОСНОВНІ ВІДОМОСТІ

У версіях Microsoft SQL Server, які передували SQL Server 2000 із пакетом оновлень 3 (SP3), більшість виправлень оптимізували запити в стандартному стані, щоб наявні робочі клієнти не бачили очікувані зміни в плані, які можуть спричинити регресію продуктивності. Спочатку кожне виправлення було доставлено під окремою позначкою трасування. Пізніше цю практику було змінено так, щоб більшість позначок поєднувалися під єдиною позначкою трасування (4199). Цю нову практику ініціювало в кількох версіях, починаючи з таких оновлень:

  • SQL Server пакет оновлень 3 (SP3) 2005 з пакетом оновлень 6

  • SQL Server пакета оновлень 1 (SP1) 7, пакет оновлень 1 (SP1)

  • SQL Server 2008 R2 (RTM)

Позначка трасування 4199 використовувалася для збирання виправлень, які мали стати в майбутніх випусках за замовчуванням, у той час як інші позначки трасування використовувалися для ситуацій, коли виправлення не призначено стати в поточній формі за замовчуванням. Починаючи з версії SQL Server 2016 року, буде використано параметр бази COMPATIBILITY_LEVEL даних, який використовуватиметься, щоб активувати виправлення, пов'язані з трасуванням 4199, за замовчуванням. У цій статті описано механіку та політику того, як виправлення, що впливають на план, надходитимуть для SQL Server 2016 і пізніших версій.

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

У SQL Server 2016 року позначка трасування 4199 виправлень, внесених до попередніх випусків SQL Server, стане активовано в розділі бази даних COMPATIBILITY_LEVEL 130 без позначки трасування 4199 увімкнуто. Позначка 4199 трасування використовуватиметься, щоб випустити будь-які SQL Server 2016 року виправлення для баз даних із використанням рівня сумісності 130. Оскільки позначка трасування 4199 рекомендована лише клієнтам, які бачать певні проблеми з продуктивністю, клієнтам рекомендується видаляти позначку трасування 4199 після того, як вони перенесуть свої бази даних до найновішого рівня сумісності, оскільки позначка трасування 4199 буде повторно використовуватися для майбутніх виправлень, які можуть не застосовуватися до програми, що може призвести до неочікуваних змін продуктивності плану в виробничій системі. Це означає, що для кожного рівня сумісності, який підтримується в певному випуску продукту, увімкнуто різні позначки трасування 4199 виправлень. Найновіший рівень сумісності вже активує всі попередні виправлення в розділі Позначка трасування 4199. Це означає, що оновлення бази даних до найновішого рівня сумісності та видалення позначки трасування 4199 усе ще забезпечує всі виправлення, які працювали перед оновленням бази даних, а не лише нові виправлення. Якщо в пізніший час клієнти стають проблемами з продуктивністю запитів, поекспериментуйте з увімкненням параметра масштабованої бази даних QUERY_OPTIMIZER_HOTFIXES або підказки запиту ENABLE_QUERY_OPTIMIZER_HOTFIXES в середовищі тестування, щоб визначити, чи вирішено проблеми. Див. документацію проQUERY_OPTIMIZER_HOTFIXES . 

Примітка. За замовчуванням бази даних, створені в SQL Server 2016, використовують рівень сумісності 130 і вже активовано нову логіку оптимізатора.

Основна перевага цієї моделі полягає в тому, що вона зменшує ризик для виробничих систем у процесі оновлення. Цей підхід відокремлює інсталяцію нової основної версії SQL Server від автоматичного ввімкнення всіх нових змін процесора запитів. Оскільки основні версії змінюються та не оновлюються, варто використовувати параметр COMPATIBILITY_LEVEL, оскільки це дає змогу клієнту швидко понизити роботу, якщо під час оновлення виявлено неочікувану неполадку з продуктивністю плану. Якщо клієнт знаходить неочікувану зміну плану, яка блокує оновлення програми, клієнт може полегшити цю ситуацію, застосувавчи підказку до відповідного плану за допомогою Магазину запитів, щоб примусово виконати попередній план, або звернутися до служби підтримки клієнтів Microsoft, щоб вирішити цю проблему та вирішити її. Якщо всі проблеми зменшаться, оновлення може продовжитися. Клієнти мають інтегрувати цю можливість у планування оновлення для SQL Server 2016 р.

У наведеній нижче таблиці пояснюється, як позначка трасування 4199 працюватиме, починаючи SQL Server 2016.

Параметр

SQL рівня сумісності

Позначка трасування 4199

Виправлення для оптимізатора перед SQL Server RTM 2016

Виправлення для оптимізатора SQL Server RTM 2016

1.

120

Вимк.

Вимкнуто

Вимкнуто

2.

120

Ув.

Увімкну

Вимкнуто

3.

130

Вимк.

Увімкнуто рівнем сумісності

Вимкнуто

4.

130

Ув.

Увімкнуто рівнем сумісності

Увімкнуто рівнем сумісності

Примітка. Ми рекомендуємо вказувати ні. Ми рекомендуємо використовувати значення 3 для клієнтів, які востаннє оносяться до SQL Server 2016.

Для основних випусків після SQL Server 2016 року корпорація Майкрософт планує й надалі використовувати цю модель обслуговування для виправлень оптимізатора. За замовчуванням або в кожному випуску будь-які виправлення 4199 позначок трасування з попереднього випуску буде ввімкнуто на наступному рівні сумісності. Це означає, що рекомендований стан для клієнтів після їх перенесення до найновішого рівня сумісності матиме позначку трасування 4199 вимкнуто. У виправленнях пізніших версій використовується позначка трасування 4199, яка вмикає виправлення для клієнтів, яким потрібно активувати конкретні виправлення в програмі. Клієнтам рекомендується вимкнути позначку трасування 4199 після оновлення програми до найновішого рівня сумісності, щоб уникнути неочікуваних майбутніх змін оптимізатора, увімкнутих у програмі несподівано. Це оновлення до найновішого рівня сумісності та видалення позначки трасування 4199 усе ще дає змогу виправити, які працювали перед оновленням, а не лише нові виправлення.

Примітка. Хоча багато виправлень для оптимізатора ввімкнуто під позначкою трасування 4199, у деяких із них використовуються інші позначки трасування. Trace flag 4199 historically covered trace flags that are widely applicable and like to become enabled by default in a future release. Прапорці трасування використовуються в виправленнях, де умови специфічні лише кільком клієнтам, де виправлення може спричинити регресію продуктивності в інших програмах або коли внутрішні функції можуть бачити зміни, перш ніж він буде готовий стати доступним для всіх користувачів. Щоб обслугувати продукт, корпорація Майкрософт і надалі використовуватиме інші позначки трасування.

Примітка У цій статті описано модель трасування, у яких виправлено виправлення позначки 4199 найновішого рівня сумісності останнього продукту. (Під час публікації це оновлення: SQL Server 2016 р.) Виправлення для оптимізатора можуть випускатись у старіших версіях програми SQL Server або на нижчому рівні сумісності (від 120 до SQL Server 2016 р.). Корпорація Майкрософт обчислить кожен випадок і визначить, як слід використовувати позначку трасування 4199 або інший позначку трасування. Оскільки зміни, відмінні від поточних, також активуються, якщо переміститися до пізнішого рівня сумісності, немає жодних спеціальних обіцянок, що жодні зміни плану не відбуватимуться під час оновлення (з позначкою трасування 4199 або без неї). Користувачі завжди мають ретельно перевіряти зміни на рівні сумісності для виробничих програм і використовувати технології пониження як-от сховище запитів, якщо є неполадка продуктивності, пов'язана з планом.

Для довідки для процесора запитів використовувалися такі позначки трасування, перш ніж вступити позначку трасування 4199:

4101, 4102, 4103, 4104, 4105, 4106, 4107, 4108, 4109, 4110, 4111, 4115, 4116, 4117, 4119, 4120, 4121, 4122, 4124, 4125, 4126, 4127, 4128, 4129, 4131, 4133, 4135.

SQL Server 2012 і пізніших версій

Trace flag 4199 is included in the release versions of SQL Server 2012 and пізніших версій.

Увімкнення позначки трасування 4199

Ви можете активувати позначку трасування 4199 під час запуску або в сеансі користувача. Позначка трасування має ефект глобального рівня або на рівні сеансу. Щоб активувати позначку трасування 4199, скористайтеся командою DBCC TRACEON або використайте –T 4199 як параметр запуску.

Якщо використовується траСУВАННЯ DBCC TRACEON\TRACEOFF, це не означає повторного створення нового кешованого плану для збережених процедур. Плани можуть бути в кеші, створених без позначки трасування.

Докладні відомості про те, як увімкнути або вимкнути позначки трасування та пояснення позначок глобальних і трасування на рівні сеансів, див. в таких статтях SQL Server Books Online:

Посилання

Щоб отримати додаткові відомості про схему іменування для SQL Server оновлень, клацніть номер статті в базі знань Microsoft Knowledge Base:

822499
Нова схема іменування для Microsoft SQL Server пакетів оновлень програмного забезпечення
Щоб отримати додаткові відомості про термінологію оновлення програмного забезпечення, клацніть номер статті в базі знань Microsoft:

824684
Опис стандартної термінології, яка використовується для опису оновлень програмного забезпечення Microsoft

Потрібна додаткова довідка?

Потрібні додаткові параметри?

Ознайомтеся з перевагами передплати, перегляньте навчальні курси, дізнайтесь, як захистити свій пристрій тощо.

Спільноти допомагають ставити запитання й відповідати на них, надавати відгуки та дізнаватися думки висококваліфікованих експертів.

Чи ця інформація була корисною?

Наскільки ви задоволені якістю мови?
Що вплинуло на ваші враження?
Натиснувши кнопку "Надіслати", ви надасте свій відгук для покращення продуктів і служб Microsoft. Ваш ІТ-адміністратор зможе збирати ці дані. Декларація про конфіденційність.

Дякуємо за відгук!

×