DBCC TRACEON — флаги трассировки (Transact-SQL)

Применимо к: SQL Server Управляемый экземпляр SQL Azure

Флаги трассировки используются для установки определенных характеристик сервера или изменения определенного режима. Например, флаг трассировки 3226 — это часто используемый флаг трассировки запуска, который подавляет сообщения об успешном резервном копировании в журнале ошибок. Флаги трассировки часто используются для диагностики проблем производительности либо для отладки хранимых процедур или сложных компьютерных систем, но они могут также быть рекомендованы службой поддержки корпорации Майкрософт для устранения поведения, которое отрицательно сказывается на конкретной рабочей нагрузке.

Все описанные флаги трассировки и те из них, которые рекомендуются службой поддержки Майкрософт, полностью поддерживаются в рабочей среде при использовании в порядке, указанном выше. К флагам трассировки в этом списке могут относиться дополнительные соображения, касающиеся их использования в определенном случае, поэтому рекомендуется тщательно изучить все рекомендации, приведенные здесь и предоставленные сотрудником службы поддержки. Кроме того, как и в случае изменения конфигурации в SQL Server, всегда тщательно проверяйте флаг в тестовой среде перед развертыванием.

Remarks

В SQL Server флаги трассировки могут работать в трех областях: запрос, сеанс и глобальная область. Флаги трассировки для запроса активны в контексте конкретного запроса. Флаги трассировки сеанса действуют во время данного соединения и доступны только для этого соединения. Глобальные флаги трассировки устанавливаются на уровне сервера и доступны для каждого соединения с этим сервером. Некоторые флаги могут быть включены только как глобальные, а некоторые и как глобальные, и как для сеанса.

Применяются следующие правила.

  • Глобальный флаг трассировки должен быть включен глобально. В противном случае, флаг трассировки не повлияет на работу сервера. Рекомендуется включить глобальные флаги трассировки при запуске, используя для этого -T параметр командной строки в Windows или mssql-confв Linux. Таким образом, флаг трассировки останется активным после перезапуска сервера. Перезапустите SQL Server, чтобы применить флаг трассировки.

  • Если флаг трассировки может использоваться в глобальной области или в области сеанса или запроса, его нужно включить в соответствующей области. Флаг трассировки, включенный на уровне сеанса, никогда не влияет на другой сеанс. Действие флага трассировки прекращается, если SPID, открывший сеанс, выполняет выход.

Флаги трассировки устанавливаются и снимаются с помощью любого из следующих методов:

  • С помощью команд DBCC TRACEON и DBCC TRACEOFF.

    Например, чтобы глобально включить флаг трассировки 2528, используйте DBCC TRACEON с аргументом -1: DBCC TRACEON (2528, -1). Эффект включения глобального флага трассировки с помощью DBCC TRACEON утрачивается при перезапуске сервера. Чтобы отключить флаг глобальной трассировки, используйте команду DBCC TRACEOFF с аргументом -1.

  • -T Использование параметра запуска, чтобы указать, что флаг трассировки установлен во время запуска.

    Параметр запуска -T повсеместно активирует флаг трассировки. Невозможно включить флаг трассировки уровня сеанса с помощью параметра запуска. Таким образом, флаг трассировки останется активным после перезапуска сервера. Дополнительные сведения о параметрах запуска см. в разделе Параметры запуска службы Database Engine.

  • На уровне запроса используйте указание запроса QUERYTRACEON. Параметр QUERYTRACEON поддерживается только для флагов трассировки оптимизатора запросов, указанных в таблице ниже.

Использование команды DBCC TRACESTATUS для определения активных в данный момент флагов трассировки.

Примеры

В следующем примере задается флаг трассировки 3205 для всех сеансов на уровне сервера с помощью DBCC TRACEON.

DBCC TRACEON (3205, -1);

Можно включить все исправления, влияющие на план, которыми управляют флаги трассировки 4199 и 4137 для конкретного запроса.

SELECT x FROM correlated WHERE f1 = 0 AND f2 = 1 OPTION (QUERYTRACEON 4199, QUERYTRACEON 4137);

Флаги трассировки

В следующей таблице перечислены и описаны флаги трассировки, доступные в SQL Server.

Управляемый экземпляр SQL Azure поддерживает следующие глобальные флаги трассировки: 460, 2301, 2389, 2390, 2453, 2467, 7471, 8207, 9389, 10316 и 11024. Флаги трассировки сеанса пока не поддерживаются в Управляемом экземпляре SQL.

Некоторые флаги трассировки были представлены в определенных версиях SQL Server. Дополнительные сведения о соответствующей версии см. в статье службы поддержки Майкрософт о конкретном флаге трассировки.

Поведение флага трассировки может не поддерживаться в следующих версиях SQL Server.

На флаги трассировки можно ссылаться непосредственно в таблице через закладку, которую можно добавить в конец URL-адреса, используя формат #tfNNNN. Например, чтобы перейти непосредственно к флагу трассировки 1118 в таблице, используйте dbcc-traceon-trace-flags-transact-sql#tf1118.

Флаг трассировки Описание
101 Повышает детализацию для журнала агента репликации слиянием.

Важно: Флаг трассировки 101 можно включить только для агент слияния репликации с помощью -T параметра при выполнении replmerg.exe из командной строки.

Предупреждение: Флаг трассировки 101 не должен постоянно включаться в рабочей среде, а только для устранения неполадок, ограниченных по времени. Дополнительные сведения см. в архивной версии статьи KB2892633.

Область: только для агента слияния репликации.
102 Повышает детализацию журнала агента репликации слиянием и предает его в таблицу <Сервер распространения>..msmerge_history.

Важно: Флаг трассировки 102 можно включить только для агент слияния репликации с помощью -T параметра при выполнении replmerg.exe из командной строки.

Предупреждение: Флаг трассировки 102 не предназначен для непрерывного включения в рабочей среде, а только для устранения неполадок, ограниченных по времени. Дополнительные сведения см. в архивной версии статьи KB2892633.

Область: только для агента слияния репликации.
139 Исправляет семантику преобразования в области команд проверки DBCC, например DBCC CHECKDB, DBCC CHECKTABLE и DBCC CHECKCONSTRAINTS, при анализе улучшенной логики точности и преобразования с уровнем совместимости 130 для определенного типа данных в базе данных с более низким уровнем совместимости. Дополнительные сведения см. здесь: KB4010261.

Примечание: Этот флаг трассировки применяется к SQL Server 2016 (13.x) RTM CU 3, SQL Server 2016 (13.x) с пакетом обновления 1 (SP1) и более поздним версиям.

Предупреждение: Флаг трассировки 139 не предназначен для непрерывного включения в рабочей среде и должен использоваться только для выполнения проверок базы данных, описанных в статье KB4010261. Отключите его сразу после завершения проверки.

Область: только глобальная.
174 Увеличивает число контейнеров в кэше планов Компонент SQL Server Database Engine с 40 009 до 160 001 в 64-разрядных системах. Дополнительные сведения см. в статье KB3026083.

Примечание. Тщательно протестируйте этот параметр, прежде чем развертывать его в рабочей среде.

Область: только глобальная.
176 Включает исправление ошибок адреса при перестроении секций в сети для таблиц, содержащих вычисляемый столбец секционирования. Дополнительные сведения см. в статьях KB3213683 и KB4541096.

Область: глобальная или сеанс.
205 Вносит запись в журнал ошибок при повторной компиляции хранимой процедуры, зависящей от статистики, в результате автоматического обновления статистики. Дополнительные сведения см. в архивной версии статьи KB195565.

Примечание. Для этого флага трассировки требуется, чтобы был включен флаг трассировки 3605.

Область: только глобальная.
260 Выводит сведения о версиях динамически загружаемых библиотек (DLL) расширенных хранимых процедур. Дополнительные сведения о GetXpVersion() см. в статье Создание расширенных хранимых процедур.

Область: глобальная или сеанс.
272 Отключает предварительное распределение идентификаторов во избежание пропусков значений столбца идентификаторов в случаях, когда сервер неожиданно перезапускается или выполняет обработку отказа на сервер-получатель. Кэширование идентификаторов используется для повышения производительности инструкции INSERT в таблицах со столбцами идентификаторов.

Примечание: Начиная с версии SQL Server 2017 (14.x) для выполнения этой задачи на уровне базы данных см. описание параметра IDENTITY_CACHE в разделе ALTER DATABASE SCOPED CONFIGURATION (Transact-SQL).

Область: только глобальная.
460 Заменяет сообщение об усечении данных с идентификатором 8152 на сообщение с идентификатором 2628. Дополнительные сведения см. здесь: KB4468101.

Начиная с версии SQL Server 2019 (15.x) для выполнения этой задачи на уровне базы данных см. описание параметра VERBOSE_TRUNCATION_WARNINGS в разделе ALTER DATABASE SCOPED CONFIGURATION (Transact-SQL).

Примечание: Этот флаг трассировки применяется к SQL Server 2016 (13.x) с пакетом обновления 2 (CU 6), SQL Server 2017 (14.x) CU 12 и более поздним версиям.

Примечание. Начиная с уровня совместимости базы данных 150 идентификатор сообщения 2628 используется по умолчанию, и этот флаг трассировки не оказывает влияния.

Область: глобальная или сеанс.
610 Управляет вставками с минимальным протоколированием в индексированные таблицы. Этот флаг трассировки необязателен начиная с версии SQL Server 2016, поскольку минимальное протоколирование для индексированных таблиц включено по умолчанию. В SQL Server 2016 (13.x);, когда операция массовой загрузки вызывает выделение новой страницы, все строки, последовательно заполняющие эту новую страницу, имеют минимальное протоколирование, если выполняются остальные необходимые условия для минимального протоколирования. Строки, вставляемые в существующие страницы (без выделения новой страницы) для сохранения порядка индексов, по-прежнему протоколируются полностью, как и строки, перемещенные в результате разбиения страницы во время загрузки.

Параметр ALLOW_PAGE_LOCKS должен иметь значение ON для индексов (используется по умолчанию), чтобы операция минимального протоколирования выполнялась, так как при выделении устанавливаются блокировки страниц и протоколируются только выделения страниц или экстентов. Дополнительные сведения см. в статье Руководство по производительности загрузки данных.

Область: глобальная или сеанс.
634 Отключает фоновую задачу сжатия columnstore. SQL Server периодически выполняет фоновую задачу переноса кортежей, которая сжимает группы строк индекса columnstore с несжатыми данными, по одной такой группе строк за раз.

Сжатие columnstore позволяет повысить производительность запросов, но при этом потребляются ресурсы системы. Вы можете управлять временем сжатия columnstore вручную, отключив задачу фонового сжатия с флагом трассировки 634, а затем явно вызвав ALTER INDEX... REORGANIZE or ALTER INDEX... REBUILD по своему выбору.

Область: только глобальная.
652 Отключение проверок при предзагрузке страниц. Если вы включите флаг трассировки 652, SQL Server больше не переносит страницы базы данных в буферный пул, прежде чем эти страницы базы данных будут использоваться сканированием. В результате запросы, использующие функцию предварительного получения страниц, демонстрируют меньшую производительность.

Область: глобальная или сеанс.
661 Отключает процесс удаления фантомных записей. Флаг трассировки 661 отключает процесс удаления фантомных записей. Фантомная запись является результатом операции удаления. При удалении записи она сохраняется в виде фантомной записи. Позже удаленная запись очищается процессом удаления фантомных записей. При отключении этого процесса удаленная запись не очищается. Таким образом, пространство, занимаемое удаленной записью, не освобождается. Такое поведение негативно влияет на использование пространства и на производительность операций проверки. Дополнительные сведения см. в руководстве по очистке фантомных записей.

Область: только глобальная.
692 Отключает быстрые операции вставки при массовой загрузке данных в кучу или кластеризованный индекс. Начиная с версии SQL Server 2016 (13.x); быстрые операции вставки включены по умолчанию с минимальным протоколированием, когда база данных находится в простой модели восстановления или в модели восстановления с неполным протоколированием для оптимизации производительности вставки записей в новые страницы. С помощью быстрой вставки каждый пакет массовой загрузки получает новый экстент или экстенты в обход поиска распределения существующего экстента в доступном свободном пространстве для оптимизации производительности операции вставки.

При использовании операций быстрой вставки массовая загрузка с пакетом небольшого размера может привести к увеличению неиспользуемого пространства, занимаемого объектами, поэтому рекомендуется использовать пакеты большого размера для полного заполнения экстента. Если увеличить размер пакета невозможно, этот флаг трассировки поможет сократить неиспользуемое пространство, зарезервированное в ущерб производительности.

Примечание. Этот флаг трассировки применяется только к SQL Server 2016 (13.x) и более поздних версий.

Область: глобальная или сеанс.
715 Включает блокировку таблицы для операций массовой загрузки в кучу без некластеризованных индексов. Если этот флаг трассировки включен, операции массовой загрузки получают блокировку массового обновления при выполнении массового копирования данных в таблицу. Блокировка массового обновления (BU) позволяет поддерживать несколько одновременных потоков массовой загрузки данных в одну и ту же таблицу и при этом запрещать доступ к таблице любым другим процессам, отличным от массовой загрузки данных.

Поведение аналогично тому, когда пользователь явно указывает указание TABLOCK при выполнении массовой загрузки или если sp_tableoption для данной таблицы включена блокировка таблицы при массовой загрузке. Но если этот флаг трассировки включен, это становится поведением по умолчанию без изменения запроса или базы данных.

Область: глобальная или сеанс.
809 Включает так называемое поведение прямой записи для гибридного буферного пула. Этот режим требует, чтобы сохраненный буфер журналов был включен в той же базе данных, что и гибридный буферный пул. Direct Write позволяет гибридный буферный пул служить кэшем как для "грязных", так и для чистых страниц, снижая нагрузку на буферные пулы DRAM. Это необязательное, но рекомендуемое поведение появилось в SQL Server 2022 (16.x).
818 Включает дополнительную диагностику ввода-вывода для проверки потерянных или устаревших операций чтения во время файлового ввода-вывода. Флаг трассировки 818 включает кольцевой буфер в памяти, который используется для отслеживания последних 2048 успешных операций записи, выполняемых SQL Server, не включая операции сортировки и ввода-вывода файлов. При возникновении таких ошибок, как 605, 823 или 3448, значение регистрационного номера транзакции в журнале (LSN) для входящего буфера сравнивается со списком последних операций записи. Если полученный номер LSN старше, чем тот, который указан во время операции записи, в журнале ошибок SQL Server регистрируется новое сообщение об ошибке. Дополнительные сведения см. в разделе SQL Server диагностика обнаруживает несоотвеченные проблемы ввода-вывода.

Примечание. Начиная с версии SQL Server 2017 (14.x); этот флаг трассировки не действует.

Область: только глобальная.
830 Отключает обнаружение и создание отчетов о запросах ввода-вывода, которые занимают очень много времени. По умолчанию SQL Server использует механизм для обнаружения запросов ввода-вывода на чтение и запись, которые занимают много времени (обычно дольше 15 секунд). Этот флаг трассировки отключает это обнаружение. Дополнительные сведения см . в разделе MSSQLSERVER_833

Примечание: Не рекомендуется включать этот флаг трассировки, так как вы можете снизить способность обнаруживать проблемы ввода-вывода в системе.

Область: только глобальная.
834 Использует распределение больших страниц для буферного пула, columnstore и таблицы в памяти. Большой размер страницы зависит от аппаратной платформы, но размер страницы может составлять от 2 до 16 МБ. Большие страницы выделяются при запуске и сохраняются в течение всего времени существования процесса. Флаг трассировки 834 повышает производительность за счет повышения эффективности буфера преобразования с отводом в сторону (TLB) в ЦП. Другими словами, флаг трассировки 834 повышает эффективность управления преобразованием адресов физической памяти в виртуальную память, которое выполняется оборудованием управления памятью. Сведения об SQL Server и больших страницах см. в следующем блоге.

Примечание: Флаг трассировки 834 применяется только к 64-разрядным версиям SQL Server. Чтобы включить флаг трассировки 834, необходимо иметь право пользователя "Блокировка страниц в памяти". Флаг трассировки 834 можно включить только при запуске. Флаг трассировки 834 может препятствовать запуску сервера, если память фрагментирована и если не удается выделить большие страницы. Поэтому флаг трассировки 834 больше всего подходит для серверов, предназначенных для SQL Server.

Примечание. Если флаг активирован, модель памяти для больших страниц предварительно выделяет всю память SQLOS при запуске экземпляра и не возвращает эту память в ОС.

Примечание: Если вы используете функцию индекса Columnstore SQL Server 2012 (11.x) и более поздних версий, не рекомендуется включать флаг трассировки 834. Дополнительные сведения см. здесь: KB3210239. При использовании SQL Server 2019 (15.x) и columnstore см. флаг трассировки 876.

Область: только глобальная.
836 Используйте параметр max server memory для буферного пула. Флаг трассировки 836 вызывает SQL Server размер буферного пула при запуске на основе значения параметра max server memory вместо общего объема физической памяти. Флаг трассировки 836 можно использовать, чтобы уменьшить число дескрипторов буфера, выделяемых при запуске в 32-битном режиме Address Windowing Extensions (AWE).

Примечание: Флаг трассировки 836 применяется только к 32-разрядным версиям SQL Server с включенным выделением AWE. Флаг трассировки 836 можно включить только при запуске.

Область: только глобальная.
845 Включает заблокированные страницы на стандартных номерах SKU SQL Server, если в учетной записи службы для SQL Server включено разрешение на блокировку страниц в памяти. Дополнительные сведения см. в статьях KB970070 и Параметры конфигурации сервера "Server Memory".

Примечание. Начиная с версии SQL Server 2012 (11.x) эта реакция включена по умолчанию для стандартных SKU, и флаг трассировки 845 не нужно использовать.

Область: только глобальная.
876 Использует выделения больших страниц для columnstore.

Примечание. В отличие от флага трассировки 834 флаг трассировки 876 не приводит к предварительному распределению памяти SQLOS при запуске экземпляра, и неиспользуемая память может быть освобождена.

Примечание. Этот флаг трассировки применяется только к SQL Server 2019 (15.x) и более поздних версий.

Примечание. Тщательно протестируйте этот параметр, прежде чем развертывать его в рабочей среде.

Область: только глобальная.
890 Скрытие длинных сообщений о завершении сканирования буферного пула (ошибка 898) в журнале ошибок. Дополнительные сведения о сканировании буферного пула и сообщении, которое регистрируется в журнале ошибок, см. в статье Операции, запускающие сканирование буферного пула, могут выполняться медленно на компьютерах с большим объемом памяти.

Примечание. Начиная с версии SQL Server 2017 (14.x);.

Область: только глобальная.
902 Пропускает выполнение скрипта обновления базы данных при установке накопительного пакета обновления или пакета обновления. Если в режиме обновления скрипта возникает ошибка, обратитесь в службу поддержки Microsoft SQL. Дополнительные сведения см. здесь: KB2163980.

Предупреждение. Этот флаг трассировки предназначен для устранения сбоя обновлений в режиме обновления скрипта и не должен всегда быть включен в рабочей среде. Скрипты обновления базы данных должны успешно выполняться для полной установки накопительных пакетов обновления и пакетов обновления. В противном случае в экземпляре SQL Server могут возникнуть неожиданные ошибки.

Область: только глобальная.
1117 Если файл в файловой группе удовлетворяет требованиям порога автоматического увеличения, все файлы в файловой группе увеличиваются. Этот флаг трассировки влияет на все базы данных. Его рекомендуется использовать, только если увеличение всех файлов в файловой группе в каждой базе данных является безопасным.

Примечание: Начиная с SQL Server 2016 (13.x) это поведение управляется параметром AUTOGROW_SINGLE_FILE и AUTOGROW_ALL_FILES инструкции ALTER DATABASE, а флаг трассировки 1117 не имеет никакого влияния. Дополнительные сведения см. в разделе Параметры инструкции ALTER DATABASE (Transact-SQL) для файлов и файловых групп.

Область: только глобальная.
1118 Приводит к выделению страниц в однородных, а не смешанных экстентах, что уменьшает вероятность состязания на странице SGAM. При создании нового объекта по умолчанию выделяются первые восемь страниц из различных экстентов (смешанные экстенты). Затем в случае возникновения необходимости увеличения страниц они выделяются из этого же экстента (однородный экстент). Страница SGAM используется для отслеживания таких смешанных экстентов, так как это может быстро стать узким местом, если происходят многочисленные размещения смешанных страниц. Данный флаг трассировки размещает при создании новых объектов все восемь страниц из одного и того же экстента, что сводит к минимуму необходимость сканирования страницы SGAM. Дополнительные сведения см. здесь: KB328551.

Примечание: Начиная с SQL Server 2016 (13.x) это поведение управляется параметром SET MIXED_PAGE_ALLOCATION инструкции ALTER DATABASE, а флаг трассировки 1118 не имеет никакого влияния. Дополнительные сведения см. в статье Параметры ALTER DATABASE SET (Transact-SQL).

Область: только глобальная.
1204 Возвращает ресурсы и типы блокировки, участвующие во взаимоблокировке и текущую команду, на которую влияет взаимоблокировка. Дополнительные сведения о взаимоблокировках см. в руководстве по блокировке и управлению версиями строк транзакций.

Примечание: Избегайте использования флага трассировки 1204 в системах с большим количеством рабочих нагрузок, вызывающих взаимоблокировки. Дополнительные сведения о других способах обнаружения взаимоблокировок см. в руководстве по блокировке и управлению версиями строк транзакций.

Область: только глобальная.
1211 Отключает укрупнение блокировки, основанное на слишком активном использовании памяти или на количестве блокировок. Компонент SQL Server Database Engine не будет повышать уровень блокировки с блокировки строки или страницы до блокировки таблицы.

Использование этого флага трассировки может привести к слишком большому количеству блокировок. Если память блокировки станет достаточно большой, попытки выделить дополнительные блокировки для любого запроса могут завершиться сбоем. Это может привести к снижению производительности компонента Компонент Database Engine или вызвать ошибки 1204 (невозможность выделить блокированный ресурс) из-за недостатка памяти.

Если установлены оба флага трассировки 1211 и 1224, то флаг 1211 имеет приоритет. Однако, так как флаг трассировки 1211 предотвращает эскалацию в каждом случае, даже при нехватке памяти, рекомендуется использовать вместо него 1224. Это помогает избежать ошибок «отсутствия блокировок» при использовании большого числа блокировок.

Дополнительные сведения о разрешении проблем, связанных с укрупнением блокировки в SQL Server см. в статье KB323630.

Область: глобальная или сеанс.
1222 Возвращает ресурсы и типы блокировок, участвующих во взаимоблокировке, а также текущую команду, на которую влияет взаимоблокировка, в формате XML, не соответствующем ни одной XSD-схеме. Дополнительные сведения о взаимоблокировках см. в руководстве по блокировке и управлению версиями строк транзакций.

Примечание: Избегайте использования флага трассировки 1222 в системах с большим количеством рабочих нагрузок, вызывающих взаимоблокировки. Дополнительные сведения о других способах обнаружения взаимоблокировок см. в руководстве по блокировке и управлению версиями строк транзакций.

Область: только глобальная.
1224 Отключает укрупнение блокировок на основе количества блокировок. Однако слишком активное использование памяти может включить укрупнение блокировок. Компонент Компонент Database Engine укрупняет блокировки строк или страниц до блокировок таблиц (или секций), если объем памяти, используемый блокированными объектами, превышает одно из следующих условий.
  • Сорок процентов памяти, которая используется компонентом Компонент Database Engine. Это применимо, только если для параметра locks задано sp_configure значение 0.
  • Сорок процентов памяти блокировки, настроенной с помощью параметра locks .sp_configure Дополнительные сведения см. в разделе Параметры конфигурации сервера (SQL Server).

Если установлены оба флага трассировки 1211 и 1224, то флаг 1211 имеет приоритет. Однако, так как флаг трассировки 1211 предотвращает эскалацию в каждом случае, даже при нехватке памяти, рекомендуется использовать 1224. Это помогает избежать ошибок «отсутствия блокировок» при использовании большого числа блокировок.

Примечание. Укрупнением блокировки до уровня гранулярности таблицы или HoBT можно также управлять с помощью параметра LOCK_ESCALATION инструкции ALTER TABLE.

Дополнительные сведения о разрешении проблем, связанных с укрупнением блокировки в SQL Server см. в статье KB323630.

Область: глобальная или сеанс.
1229 Отключает все секционирование блокировок независимо от количества ЦП. По умолчанию SQL Server включает секционирование блокировок, когда сервер имеет 16 ЦП или более, чтобы улучшить масштабируемость крупных систем. Дополнительные сведения о секционировании блокировок см. в статье Руководство по блокировке и управлению версиями строк транзакций.

Предупреждение: Флаг трассировки 1229 может привести к состязанию за спин-блокировку и снижению производительности.

Область: только глобальная.
1236 Включает секционирование блокировок базы данных. Дополнительные сведения см. здесь: KB2926217.

Примечание: Начиная с SQL Server 2012 (11.x) с пакетом обновления 3 (SP3) и SQL Server 2014 (12.x) это поведение контролируется подсистемой, а флаг трассировки 1236 не имеет никакого влияния.

Область: только глобальная.
1237 Позволяет инструкции ALTER PARTITION FUNCTION соблюдать приоритет определяемой пользователем взаимоблокировки текущего сеанса, а не быть жертвой взаимоблокировки по умолчанию. Дополнительные сведения см. здесь: KB4025261.

Примечание: Начиная с SQL Server 2017 (14.x) и уровня совместимости базы данных 140 это поведение по умолчанию, а флаг трассировки 1237 не оказывает никакого влияния.

Область: глобальная, сеанс или запрос (QUERYTRACEON).
1260 Отключение дампов монитора планировщика.

Область: только глобальная.
1448 Позволяет средству чтения журнала репликации двигаться вперед, даже если асинхронные вторичные объекты не подтвердили получение изменений. Даже если установлен флаг трассировки, средство чтения журнала всегда ожидает синхронные вторичные реплики с состоянием синхронизации СИНХРОНИЗИРОВАНО. Средство чтения журнала не выходит за пределы минимального подтвержденного регистрационного номера транзакции в журнале для СИНХРОНИЗИРОВАННЫХ вторичных реплик. Флаг трассировки применяется к экземпляру SQL Server, а не только к группе доступности, базе данных доступности или экземпляру средства чтения журнала. Вступает в силу немедленно без перезагрузки. Этот флаг трассировки может быть активирован заблаговременно или при сбое асинхронной вторичной реплики.

Область: только глобальная.
1462 Отключает сжатие потока журналов для асинхронных групп доступности. В асинхронных группах доступности эта функция включена по умолчанию для оптимизации пропускной способности сети. Дополнительные сведения см. в разделе Tune compression for availability group(Настройка сжатия для группы доступности).

Область: только глобальная.
1800 Включает оптимизацию SQL Server, когда для первичной и вторичной реплики используются диски с разными размерами сектора в средах SQL Server AlwaysOn и доставки журналов. Этот флаг трассировки необходимо включать только для экземпляров SQL Server с файлом журнала транзакций, которые находятся на диске с размером сектора 512 байт. Его не требуется включать на дисках с размером сектора 4 КБ. Дополнительные сведения см. здесь: KB3009974.

Примечание: Этот флаг трассировки применяется к SQL Server 2012 (11.x) с пакетом обновления 1 (CU 13), SQL Server 2012 (11.x) с пакетом обновления 2 (CU 3), SQL Server 2014 (12.x) RTM CU 5 и более поздним версиям.

Область: только глобальная.
1802 Отключает изменение ACL и проверку олицетворенного доступа во время операций присоединения или отсоединения базы данных. Это может быть полезно при присоединении базы данных и обнаружении ошибок разрешений на доступ, например ошибки 5120.

Область: только глобальная.
1819 Позволяет резервное копирование на URL-адрес, чтобы использовать прокси-сервер при доступе к блочным BLOB-объектам Azure. В дополнение к этому флагу трассировки необходимо задать конфигурацию прокси-сервера WinHTTP на сервере одним из следующих способов.

— Служебная программа proxycfg.exe в Windows XP, Windows Server 2003 и более ранних версиях.
— Служебная программа netsh.exe в Windows Vista и Windows Server 2008 и более поздних версий.

Область: глобальная, сеанс или запрос (QUERYTRACEON).
2301 Включите оптимизации расширенной поддержки принятия решений, относящиеся к запросам на поддержку принятия решений. Этот параметр применяется для обработки поддержки принятия решений для больших наборов данных.

Область: глобальная, сеанс или запрос (QUERYTRACEON).
2312 Задает модель оценки кратности оптимизатора запросов SQL Server 2014 (12.x) и более поздних версий, независимо от уровня совместимости базы данных.

Примечание: Если уровень совместимости базы данных ниже 120, при включении флага трассировки 2312 используется модель оценки кратности SQL Server 2014 (12.x) (120). Дополнительные сведения см. здесь: KB2801413.

Начиная с SQL Server 2016 (13.x) с пакетом обновления 1 (SP1), чтобы выполнить эту задачу на уровне запроса, добавьте USE HINT 'FORCE_DEFAULT_CARDINALITY_ESTIMATION'указание запроса вместо использования этого флага трассировки.

Область: глобальная, сеанс или запрос (QUERYTRACEON).
2335 Приводит к тому, что SQL Server предполагает наличие фиксированного объема памяти во время оптимизации запроса в ситуации, когда задано слишком большое значение максимальной памяти сервера, в результате чего SQL Server создает неэффективный план для конкретного запроса. Не ограничивает объем памяти, который SQL Server предоставляет для выполнения запроса. Память, настроенная для SQL Server, будет по-прежнему использоваться кэшем данных, выполнением запросов и другими объектами-получателями.

Примечание. Тщательно протестируйте этот параметр, прежде чем развертывать его в рабочей среде.

Область: глобальная, сеанс или запрос (QUERYTRACEON).
2338 Заставляет SQL Server использовать узкий план при выполнении инструкции UPDATE для обновления индексов в таблице. При выполнении обновления для столбца кластеризованного индекса SQL Server обновляет не только сам кластеризованный индекс, но и все неклатеризованные индексы, так как некластикционные индексы содержат ключ кластера. Распространенным способом обновления является одновременное обновление кластеризованного индекса, а затем и всех неклатеризованных индексов. SQL Server обновите одну строку, а затем перейдете к следующей строке, пока все не будет завершено. Это называется обновлением узкого плана или обновлением Per-Row. В некоторых случаях ядро СУБД может выполнять широкое обновление плана. Этот флаг трассировки приводит к обновлению узкого плана.

Область: глобальная, сеанс или запрос (QUERYTRACEON).
2340 Заставляет SQL Server не использовать операцию сортировки (сортировки пакетов) для оптимизации соединений вложенного цикла при формировании плана. По умолчанию SQL Server может использовать оптимизированное соединение вложенными циклами вместо полного сканирования или соединения вложенными циклами с явной сортировкой, если оптимизатор запросов заключает, что сортировка, скорее всего, не требуется, но все же возможна в случае неверной кратности или оценки затрат. Дополнительные сведения см. здесь: KB2009160.

Начиная с SQL Server 2016 (13.x) с пакетом обновления 1 (SP1), чтобы выполнить эту задачу на уровне запроса, добавьте USE HINT 'DISABLE_OPTIMIZED_NESTED_LOOP'указание запроса вместо использования этого флага трассировки.

Примечание. Тщательно протестируйте этот параметр, прежде чем развертывать его в рабочей среде.

Область: глобальная, сеанс или запрос (QUERYTRACEON).
2371 Изменяет порог фиксированного обновления статистики на порог линейного обновления статистики. Дополнительные сведения см. в описании этого параметра AUTO_UPDATE_STATISTICS.

Примечание: Начиная с SQL Server 2016 (13.x) и при уровне совместимости базы данных 130 или выше это поведение контролируется подсистемой, а флаг трассировки 2371 не оказывает никакого влияния.

Область: только глобальная.
2389 Включает автоматическое создание быстрой статистики для ключей, сортированных по возрастанию (поправка для гистограммы). Если установлен флаг трассировки 2389 и столбец статистики помечается как восходящий, то гистограмма, используемая для оценки кратности, будет скорректирована во время компиляции запроса.

Примечание. Тщательно протестируйте этот параметр, прежде чем развертывать его в рабочей среде.

Примечание. Этот флаг трассировки не применяется CE версии 120 или более поздней версии. Вместо этого используйте флаг трассировки 4139.

Область: глобальная, сеанс или запрос (QUERYTRACEON).
2390 Включает автоматическое создание быстрой статистики для ключей, сортированных по возрастанию, или неизвестных ключей (поправка для гистограммы). Если установлен флаг трассировки 2390 и столбец начальной статистики помечен как возрастающий или неизвестный, гистограмма, используемая для оценки кратности, будет скорректирована во время компиляции запроса. Дополнительные сведения см. здесь: KB2801413.

Примечание. Тщательно протестируйте этот параметр, прежде чем развертывать его в рабочей среде.

Примечание. Этот флаг трассировки не применяется CE версии 120 или более поздней версии. Вместо этого используйте флаг трассировки 4139.

Область: глобальная, сеанс или запрос (QUERYTRACEON).
2422 Позволяет Компонент SQL Server Database Engine прервать запрос, если превышено максимальное время, заданное конфигурацией REQUEST_MAX_CPU_TIME_SEC. Дополнительные сведения см. здесь: KB4038419.

Примечание: Этот флаг трассировки применяется к SQL Server 2016 (13.x) с пакетом обновления 2 (SP2), SQL Server 2017 (14.x) с накопительным пакетом обновления 3 и более поздним версиям.

Область: только глобальная.
2430 Включает альтернативную очистку класса блокировки. Дополнительные сведения см. здесь: KB2754301.

Область: только глобальная.
2446 Приводит SQL Server к созданию фрагмента Showplan XML с элементом ParameterRuntimeValue при использовании инфраструктуры упрощенного профилирования статистики выполнения запросов или при выполнении динамического административного sys.dm_exec_query_statistics_xml представления при устранении неполадок с длительными запросами.

Примечание: Этот флаг трассировки применяется к SQL Server 2017 (14.x) CU 31 и SQL Server 2022 (16.x) и более поздним версиям.

Предупреждение: Флаг трассировки 2446 не предназначен для непрерывного включения в рабочей среде, а только для устранения неполадок, ограниченных по времени. Использование этого флага трассировки приведет к дополнительным и, возможно, значительным издержкам с точки зрения ресурсов ЦП и памяти, так как мы создаем фрагмент Showplan XML со сведениями о параметрах среды выполнения, независимо от того, вызывается ли динамическое административное представление sys.dm_exec_query_statistics_xml.

Примечание: Начиная с SQL Server 2022 (16.x) для этого на уровне базы данных см. параметр FORCE_SHOWPLAN_RUNTIME_PARAMETER_COLLECTION в инструкции ALTER DATABASE SCOPED CONFIGURATION (Transact-SQL).

Область: только глобальная.
2451 Включает эквивалент последнего действительного плана выполнения в sys.dm_exec_query_plan_stats.

Примечание. Этот флаг трассировки применяется только к SQL Server 2019 (15.x) и более поздних версий.

Примечание: Начиная с SQL Server версии 2019 (15.x) для выполнения этой задачи на уровне базы данных см. описание параметра LAST_QUERY_PLAN_STATS в разделе ALTER DATABASE SCOPED CONFIGURATION (Transact-SQL).

Область: только глобальная.
2453 Позволяет табличной переменной вызывать перекомпиляцию после изменения достаточного числа строк. Дополнительные сведения см. здесь: KB2952444.

Примечание. Тщательно протестируйте этот параметр, прежде чем развертывать его в рабочей среде.

Область: глобальная, сеанс или запрос (QUERYTRACEON).
2467 Включает альтернативную политику распределения параллельных рабочих потоков на основе узлов, на которых есть минимальное число распределенных потоков. См. дополнительные сведения о параллельной обработке запросов. См. дополнительные сведения о настройке параметра конфигурации сервера максимального числа рабочих потоков.

Примечание. Для использования этой альтернативной политики степень параллелизма для запросов должна быть соразмерной одному узлу. В противном случае используется политика распределения потоков по умолчанию. При использовании этого флага трассировки не рекомендуется выполнять запросы, определяющие степень параллелизма на основе большего числа планировщиков на одном узле, потому что они могут конфликтовать с запросами, определяющими степень параллелизма на основе фактического или меньшего числа планировщиков на одном узле.

Примечание. Тщательно протестируйте этот параметр, прежде чем развертывать его в рабочей среде.

Область: только глобальная.
2469 Позволяет заменить INSERT INTO ... SELECT на секционированный индекс columnstore. Дополнительные сведения см. здесь: KB3204769.

Область: глобальная, сеанс или запрос (QUERYTRACEON).
2528 Отключает параллельную проверку объектов с помощью DBCC CHECKDB, DBCC CHECKFILEGROUP и DBCC CHECKTABLE. По умолчанию степень параллелизма определяется обработчиком запросов автоматически. Максимальная степень параллелизма настраивается так же, как и параллельные запросы. Дополнительные сведения см. в разделе Настройка параметра конфигурации сервера max degree of parallelism.

Примечание. Должны быть включены параллельные проверки DBCC (по умолчанию). Обработчик запросов повторно оценивает и автоматически корректирует параллелизм в каждой таблице или пакете таблиц, которые проверяет DBCC CHECKDB.

Типичное применение — когда системный администратор знает, что до завершения инструкции DBCC CHECKDB увеличится нагрузка на сервер, и решает вручную уменьшить или отключить параллелизм, чтобы увеличить параллелизм с рабочей нагрузкой других пользователей. Однако если параллельные проверки в DBCC CHECKDB отключены, операция может занимать больше времени.

Примечание. Если DBCC CHECKDB выполняется при помощи параметра TABLOCK, а параллелизм отключен, таблицы могут дольше оставаться заблокированными.

Примечание: Начиная с SQL Server 2014 (12.x) с пакетом обновления 2 (SP2) доступен параметр MAXDOP для переопределения параметра sp_configure конфигурации max degree of parallelism для инструкций DBCC.

Область: глобальная или сеанс.
2544 Создает дамп памяти SQL Server в виде полного дампа (по умолчанию создается мини-дамп). Полный дамп — это полная копия памяти активных целевых процессов. Она включает состояние всех потоков, всю выделенную под процессы память и все загруженные модули. В результате размер полного дампа будет примерно равен объему памяти, используемому процессом SQL Server, который, в свою очередь, может занимать почти всю память ОЗУ системы. На больших серверах, выделенных для одного экземпляра SQL Server, это может означать файл, который составляет несколько сотен гигабайт или более.

Внимание! Создание полного дампа памяти может приостановить процесс SQL Server на длительный период времени (от нескольких секунд до нескольких минут) и создать файл очень большого размера. Используйте этот флаг с осторожностью и только при необходимости.

Дополнительные сведения см. в статье Использование программы Sqldumper.exe для создания файла дампа в SQL Server.

Область: только глобальная.
2549 Выполняет команду DBCC CHECKDB с предположением, что каждый файл базы данных находится на уникальном диске, но расценивая разные физические файлы как один логический. Команда DBCC CHECKDB создает внутренний список страниц для чтения для каждого уникального диска для всех файлов базы данных. Эта логика определяет уникальные диски по букве диска в имени физического файла.

Примечание. Не используйте этот флаг трассировки, если не уверены, что каждый файл находится на уникальном физическом диске.

Примечание. Хотя этот флаг трассировки повышает производительность команд DBCC CHECKDB, направленных на использование параметра PHYSICAL_ONLY, некоторые пользователи могут не заметить улучшения. Хотя этот флаг трассировки улучшает использование ресурсов дискового ввода-вывода, базовая производительность дисковых ресурсов может ограничивать общую производительность команды DBCC CHECKDB. Дополнительные сведения см. здесь: KB2634571.

Область: только глобальная.
2551 Создает дамп памяти SQL Server в виде отфильтрованного дампа (по умолчанию создается мини-дамп). При этом записывается процентная доля всей памяти, а крупные области ее структур, относящиеся к SQL Server, намеренно отфильтровываются и не сериализуются на диск, как не приносящие пользу для устранения неполадок. Обычно это страницы данных и индексов, некоторые внутренние кэши, например страницы данных выполняющейся в памяти OLTP и память пула журналов. В результате создается файл, который по размеру меньше, чем полный дамп памяти, но в основном сохраняет свою полезность и является предпочтительным в большинстве ситуаций, когда мини-дампов недостаточно. Дополнительные сведения см. в статье Использование программы Sqldumper.exe для создания файла дампа в SQL Server.

Область: только глобальная.
2562 Выполняет команду DBCC CHECKDB в едином "пакете" независимо от количества индексов в базе данных. По умолчанию команда DBCC CHECKDB пытается свести к минимуму ресурсы базы данных tempdb, ограничивая количество индексов или "фактов", которые она создает, используя концепцию "пакетов". Однако этот флаг трассировки принудительно сводит всю обработку в один пакет.

Одно из последствий использования этого флага трассировки — возможное увеличение необходимого пространства для tempdb. База данных tempdb может увеличиваться на 5 % или более по сравнению с пользовательской базой данных, которая обрабатывается с помощью команды DBCC CHECKDB.

Примечание. Хотя этот флаг трассировки повышает производительность команд DBCC CHECKDB, направленных на использование параметра PHYSICAL_ONLY, некоторые пользователи могут не заметить улучшения. Хотя этот флаг трассировки улучшает использование ресурсов дискового ввода-вывода, базовая производительность дисковых ресурсов может ограничивать общую производительность команды DBCC CHECKDB. Дополнительные сведения см. здесь: KB2634571.

Область: глобальная или сеанс.
2566 Выполняет команду DBCC CHECKDB без проверки чистоты данных, если не указан параметр DATA_PURITY.

Примечание. Проверки целостности значений столбцов включены по умолчанию, и для них не требуется указывать параметр DATA_PURITY. Для баз данных, обновленных с предыдущих версий SQL Server, проверка значений столбцов по умолчанию не будет включена, пока в базе данных хотя бы один раз не будет выполнена без ошибок инструкция DBCC CHECKDB WITH DATA_PURITY. После этого инструкция DBCC CHECKDB проверяет целостность данных в столбцах по умолчанию. Дополнительные сведения см. в архивной версии статьи KB945770.

Область: только глобальная.
2592 Включает разрешение символов в дампах стека при установке средств отладки для Windows. Например, для использования флага трассировки 3656 требуется включить флаг трассировки 2592.

Предупреждение. Это флаг трассировки отладки. Он не предназначен для рабочих сред.

Примечание. Этот флаг трассировки применяется только к SQL Server 2019 (15.x) и более поздних версий.

Область: глобальная и сеанс.
3023 Включает параметр CHECKSUM по умолчанию для команды BACKUP.

Примечание. Начиная с версии SQL Server 2014 (12.x) эта реакция управляется параметром конфигурации резервной контрольной суммы по умолчанию. Дополнительные сведения см. в разделах Резервное копирование контрольной суммы по умолчанию и Параметры конфигурации сервера (SQL Server).

Область: глобальная и сеанс.
3042 Обходит используемый по умолчанию алгоритм сжатия резервных копий с предварительным выделением места на диске, чтобы файл резервной копии увеличивался до своего конечного размера по мере необходимости. Этот флаг трассировки полезен для экономии пространства, так как выделяется только фактическое пространство, необходимое для резервной копии со сжатием. Но при этом его использование может немного снизить производительность (повысится продолжительность операции резервного копирования). Дополнительные сведения об алгоритме предварительного выделения см. в разделе Сжатие резервной копии (SQL Server).

Область: только глобальная.
3051 Включает SQL Server ведение журнала резервного копирования на URL-адрес только для страничных BLOB-объектов. Ведение журнала записывает данные в определенный файл журнала ошибок. Дополнительные сведения см. в разделе Резервное копирование в SQL Server по URL-адресу — рекомендации и устранение неполадок.

Область: только глобальная.
3205 По умолчанию инструкция DUMP или BACKUP использует аппаратное сжатие для накопителей на магнитной ленте, поддерживающих этот режим. С помощью этого флага трассировки можно отменить аппаратное сжатие для накопителей на магнитной ленте. Это полезно, если нужно обмениваться лентами с другими рабочими местами или накопителями на магнитной ленте.

Область: глобальная или сеанс.
3226 По умолчанию каждая успешная операция резервного копирования добавляет запись в журнал ошибок служб SQL Server и в журнал системных событий. При частом выполнении резервного копирования журнала такие сообщения об успешном выполнении быстро накапливаются, в результате чего создаются огромные журналы ошибок, в которых трудно найти другие сообщения.

С помощью этого флага трассировки можно подавить такие записи журнала. Это может быть полезным при частом выполнении резервного копирования журнала и в случае, если ни один из используемых скриптов не зависит от этих записей.

Область: только глобальная.
3427 Позволяет решить проблему в ситуации, когда много последовательных транзакций, вставляющих данные во временные таблицы в SQL Server 2016 (13.x); где эта операция потребляет больше ресурсов ЦП, чем в SQL Server 2014 (12.x). Дополнительные сведения см. здесь: KB3216543.

Примечание: Этот флаг трассировки применяется к SQL Server 2016 (13.x) с пакетом обновления 1 (CU 2) с накопительным пакетом обновления 2 (CU 2) SQL Server 2016 (13.x). Начиная с SQL Server 2016 (13.x) с пакетом обновления 2 (SP2) с накопительным пакетом обновления 3 и SQL Server 2017 (14.x), этот флаг трассировки не действует.

Область: только глобальная.
3459 Отключает параллельные повторы действий. Дополнительные сведения см. в статьях KB3200975, KB4101554 и в этой записи блога (Модель повтора вторичной реплики группы доступности).

Примечание. Этот флаг трассировки применяется к SQL Server 2016 (13.x);, SQL Server 2017 (14.x); и более поздним версиям сборки.

Область: только глобальная.
3468 Отключает косвенные контрольные точки в tempdb.

Примечание: Этот флаг трассировки применяется к SQL Server 2016 (13.x) с пакетом обновления 1 (CU 5), SQL Server 2017 (14.x) с накопительным пакетом обновления 1 и более поздним версиям.

Область: только глобальная.
3605 Перенаправляет сообщения трассировки в журнал ошибок SQL Server. Например, для использования флагов трассировки 205 и 8721 требуется включить флаг трассировки 3605.

Предупреждение! Это флаг трассировки отладки. Он не должен быть постоянно включенным в рабочей среде.

Область: глобальная или сеанс.
3608 Запрещает автоматический запуск SQL Server и восстановление любых баз данных, кроме базы данных master. Если инициируются действия, для которых требуется tempdb, то model восстанавливается и создается tempdb. Другие базы данных будут запущены и восстановлены при открытии. Могут не работать некоторые функции, например изоляция моментального снимка и изоляция зафиксированной операции чтения с моментальным снимком. Используйте для перемещения системных баз данных и перемещения пользовательских баз данных.

Примечание. Не используйте при обычной работе.

Область: только глобальная.
3625 Ограничивает объем сведений, возвращаемый пользователям, которые не являются членами предопределенной роли сервера sysadmin, маскируя параметры некоторых сообщений об ошибках символами '******'. Это поможет предотвратить раскрытие конфиденциальных сведений.

Область: только глобальная.
3656 Включает разрешение символов в дампах стека при установке средств отладки для Windows.

Предупреждение. Это флаг трассировки отладки. Он не предназначен для рабочих сред.

Примечание: Начиная с SQL Server 2019 (15.x), флаг трассировки 2592 должен быть включен с флагом трассировки 3656, чтобы включить разрешение символов.

Область: глобальная и сеанс.
3924 Активирует автоматическое удаление потерянных транзакций DTC с SPID=-2, что вызывает проблемы при использовании некоторых мониторов транзакций сторонних производителей. Дополнительные сведения см. в разделе KB4519668 и KB4511816.

Область: только глобальная.
3972 Отключает функцию параллельных обновлений свободного места на страницах (PFS). Дополнительные сведения о параллельных обновления PFS см. в разделе Интеллектуальная производительность. Сведения о проблеме, для которой полезен этот флаг трассировки, см. в статье службы поддержки Майкрософт о неуправляемых дампах планировщика во время восстановления вторичной базы данных доступности с помощью моментального снимка базы данных KB5007794.

Область: только глобальная.
4022 Отключает автоматическое выполнение хранимых процедур при запуске SQL Server. Дополнительные сведения об автоматическом выполнении хранимых процедур запуска см. в статье sp_procoption.

Область: только глобальная.
4043 Исправлена ошибка, возникающая при применении политики безопасности во внешней таблице PolyBase и использовании Row-Level Security (RLS) в SQL Server версии 2019 (15.x). Сообщение об ошибке примерно следующее: "Предикаты безопасности можно добавлять только в пользовательские таблицы и привязанные к схеме представления". Дополнительные сведения см. в статье KB4552159.

Область: глобальная или сеанс.
4136 Отключает сканирование параметров, если не используются OPTION(RECOMPILE), WITH RECOMPILE и OPTIMIZE FOR <value>. Дополнительные сведения см. здесь: KB980653.

Начиная с версии SQL Server 2016 (13.x) для выполнения этой задачи на уровне базы данных см. описание параметра PARAMETER_SNIFFING в разделе ALTER DATABASE SCOPED CONFIGURATION (Transact-SQL).

Для получения аналогичного результата на уровне запроса добавьте указание запроса OPTIMIZE FOR UNKNOWN. Указание OPTIMIZE FOR UNKNOWN не отключает механизм сканирования параметров, а обходит его, что дает тот же результат.
Начиная с SQL Server 2016 (13.x) с пакетом обновления 1 (SP1), вторым вариантом выполнения этой задачи на уровне запроса является добавление USE HINT 'DISABLE_PARAMETER_SNIFFING'указания запроса вместо использования этого флага трассировки.

Примечание. Тщательно протестируйте этот параметр, прежде чем развертывать его в рабочей среде.

Область: глобальная или сеанс.
4137 Предписывает SQL Server создать план, используя минимальную избирательность, при оценке предикатов AND для фильтров с поправкой на частичную корреляцию вместо независимости в рамках модели оценки кратности (CE) оптимизатора запросов SQL Server 2012 (11.x) и более ранних версий (70). Дополнительные сведения см. здесь: KB2658214.

Начиная с SQL Server 2016 (13.x) с пакетом обновления 1 (SP1), для выполнения этой задачи на уровне запроса добавьте USE HINT 'ASSUME_MIN_SELECTIVITY_FOR_FILTER_ESTIMATES'указание запроса вместо использования этого флага трассировки при использовании CE 70.

Примечание. Тщательно протестируйте этот параметр, прежде чем развертывать его в рабочей среде.

Примечание. Этот флаг трассировки не применяется CE версии 120 или более поздней версии. Вместо этого используйте флаг трассировки 9471.

Область: глобальная, сеанс или запрос (QUERYTRACEON).
4138 Заставляет SQL Server создать план без использования корректировок цели строки с запросами, содержащими ключевые слова TOP, OPTION (FAST N), IN или EXISTS. Дополнительные сведения см. здесь: KB2667211.

Начиная с SQL Server 2016 (13.x) с пакетом обновления 1 (SP1), чтобы выполнить эту задачу на уровне запроса, добавьте USE HINT 'DISABLE_OPTIMIZER_ROWGOAL'указание запроса вместо использования этого флага трассировки.

Примечание. Тщательно протестируйте этот параметр, прежде чем развертывать его в рабочей среде.

Область: глобальная, сеанс или запрос (QUERYTRACEON).
4139 Включает автоматическое создание быстрой статистики (поправка для гистограммы) независимо от состояния ключевого столбца. Если установлен флаг трассировки 4139, независимо от состояния столбца начальной статистики (по возрастанию, убыванию или стационару), гистограмма, используемая для оценки кратности, будет скорректирована во время компиляции запроса. Дополнительные сведения см. здесь: KB2952101.

Начиная с SQL Server 2016 (13.x) с пакетом обновления 1 (SP1), чтобы выполнить эту задачу на уровне запроса, добавьте USE HINT 'ENABLE_HIST_AMENDMENT_FOR_ASC_KEYS'указание запроса вместо использования этого флага трассировки.

Примечание. Тщательно протестируйте этот параметр, прежде чем развертывать его в рабочей среде.

Примечание. Этот флаг трассировки не применяется в CE версии 70. Вместо этого используйте флаги трассировки 2389 и 2390.

Область: глобальная, сеанс или запрос (QUERYTRACEON).
4199 Включает изменения в оптимизаторе запросов, выпущенные в накопительных пакетах обновления и пакетах обновления SQL Server.

Изменения качества обслуживания, внесенные в предыдущие выпуски SQL Server, по умолчанию включены при последнем уровне совместимости базы данных в данном выпуске продукта без включения флага трассировки 4199. Дополнительные сведения см. здесь: KB974006.

Изменения качества обслуживания по сравнению со всеми предыдущими уровнями совместимости базы данных:
— Если включен флаг трассировки 4199, также включены изменения оптимизатора запросов со всех предыдущих уровней совместимости базы данных.
— Если флаг трассировки 4199 отключен или не задан, изменения оптимизатора запросов включаются, начиная с уровня совместимости 130. Для уровней совместимости ниже 130 изменения оптимизатора запросов отключены.

Изменения качества обслуживания для версии DE после RTM:
— Если включен флаг трассировки 4199, изменения оптимизатора запросов включены для версии ядра СУБД после RTM.
— Если флаг трассировки 4199 отключен или не задан, изменения оптимизатора запросов отключены для версии ядра СУБД после rtm.

Начиная с версии SQL Server 2016 (13.x) для выполнения этой задачи на уровне базы данных см. описание параметра QUERY_OPTIMIZER_HOTFIXES в разделе ALTER DATABASE SCOPED CONFIGURATION (Transact-SQL).

Начиная с SQL Server 2016 (13.x) с пакетом обновления 1 (SP1), чтобы выполнить эту задачу на уровне запроса, добавьте USE HINT 'ENABLE_QUERY_OPTIMIZER_HOTFIXES'указание запроса вместо использования этого флага трассировки.

Важно: Исправления оптимизатора запросов, устраняющие неправильные результаты или ошибки нарушения доступа, не включены флагом трассировки 4199. Эти исправления не считаются необязательными и включаются по умолчанию после установки пакета обновления.

Область: глобальная, сеанс или запрос (QUERYTRACEON).
4610 Увеличивает размер хэш-таблицы, в которой хранятся записи кэша, в 8 раз. При использовании вместе с флагом трассировки 4618 увеличивает количество записей в хранилище кэша TokenAndPermUserStore до 8192. Дополнительные сведения об устранении неполадок, связанных с размером кэша TokenAndPermUserStore, см. в статье Запросы, для выполнения которых требуется больше времени, когда размер кэша TokenAndPermUserStore увеличивается в SQL Server 2005.

Область: только глобальная.
4616 Делает метаданные уровня сервера видимыми ролям приложений. В SQL Server роль приложения не может получать доступ к метаданным за пределами собственной базы данных, так как роли приложений не связаны с участником уровня сервера. Это поведение было изменено по сравнению с предыдущими версиями SQL Server. Установка этого глобального флага отключает новые ограничения и позволяет ролям приложений получать доступ к метаданным уровня сервера.

Область: только глобальная.
4618 Ограничивает число записей в хранилище кэша TokenAndPermUserStore до 1024. При использовании вместе с флагом трассировки 4610 увеличивает количество записей в хранилище кэша TokenAndPermUserStore до 8192. Дополнительные сведения об устранении неполадок, связанных с размером кэша TokenAndPermUserStore, см. в статье Запросы, для выполнения которых требуется больше времени, когда размер кэша TokenAndPermUserStore увеличивается в SQL Server 2005.

Область: только глобальная.
4621 Ограничивает число записей в хранилище кэша TokenAndPermUserStore до числа, указанного пользователем в разделе реестра. Дополнительные сведения см. здесь: KB959823.

Область: только глобальная.
4631 Отключает SHA2_256/AES256 для хэширования паролей, которые создают ключи шифрования. Начиная с SQL Server 2017 г. (14.x) вместо SHA1 используется SHA2. Это означает, что могут потребоваться дополнительные действия для расшифровки элементов установки SQL Server 2017 (14.x), зашифрованных SQL Server 2016 (13.x), как описано в разделе Создание идентичных симметрических ключей на двух серверах. Дополнительные сведения см. здесь: KB4053407.

Примечание. Этот флаг трассировки применяется только к SQL Server 2017 (14.x) и более поздних версий.

Область: только глобальная.
5004 Приостанавливает проверку шифрования TDE и принуждает рабочую роль сканирования шифрования выйти без выполнения действий. База данных останется в зашифрованном состоянии (в состоянии выполнения шифрования). Чтобы возобновить сканирование повторного шифрования, отключите флаг трассировки 5004 и выполните инструкцию ALTER DATABASE <database_name> SET ENCRYPTION ON.

Область: только глобальная.
6408 Обеспечивает видимость предполагаемого плана выполнения для просмотра плана удаленного запроса с вычислением pushdown PolyBase.

Примечание. Этот флаг трассировки применяется только к SQL Server 2019 (15.x) и более поздних версий. Дополнительные сведения см. в разделе Как определить, произошел ли внешний pushdown.

Область: глобальная, сеанс или запрос (QUERYTRACEON).
6498 Обеспечивает более одной компиляции больших запросов для получения доступа к большому шлюзу при наличии достаточного объема памяти. Этот флаг трассировки можно использовать с целью контроля использования памяти для компиляции входящих запросов, чтобы избежать ожидания компиляции больших параллельно выполняемых запросов. Он основан на 80 процентах целевой памяти SQL Server и допускает одну компиляцию большого запроса на 25 гигабайт (ГБ) памяти. Дополнительные сведения см. здесь: KB3024815.

Примечание: Начиная с SQL Server 2014 (12.x) с пакетом обновления 2 (SP2) и SQL Server 2016 (13.x) это поведение контролируется подсистемой, а флаг трассировки 6498 не действует.

Область: только глобальная.
6527 Отключается создание дампа памяти при первом возникновении исключения «Нехватка памяти» при интеграции со средой CLR. По умолчанию SQL Server создает небольшой дамп памяти при первом возникновении исключения "Нехватка памяти" в CLR. Режим работы флага трассировки следующий.
  • Если используется как флаг трассировки при запуске, то дамп памяти никогда не создается. Однако если используются другие флаги трассировки, то дамп памяти может быть создан.
  • Если этот флаг трассировки включен на запущенном сервере, то дамп памяти будет автоматически создан, начиная с этой точки. Однако если дамп памяти был уже создан из-за возникновения исключения, связанного с нехваткой памяти, в CLR, то этот флаг трассировки никак не повлияет на работу системы.

Область: только глобальная.
6532 Включает улучшение производительности операций запросов с пространственными типами данных в SQL Server 2012 (11.x) и SQL Server 2014 (12.x). Увеличение производительности зависит от конфигурации, типов запросов и объектов. Дополнительные сведения см. здесь: KB3107399.

Примечание: Начиная с SQL Server 2016 (13.x) это поведение контролируется подсистемой, и флаг трассировки 6532 не оказывает никакого влияния.

Область: глобальная и сеанс.
6533 Включает улучшение производительности операций запросов с пространственными типами данных в SQL Server 2012 (11.x) и SQL Server 2014 (12.x). Увеличение производительности зависит от конфигурации, типов запросов и объектов. Дополнительные сведения см. здесь: KB3107399.

Примечание: Начиная с SQL Server 2016 (13.x) это поведение контролируется подсистемой, и флаг трассировки 6533 не оказывает никакого влияния.

Область: глобальная и сеанс.
6534 Обеспечивает улучшенную производительность операций запросов с пространственными типами данных, начиная с SQL Server 2012 (11.x). Увеличение производительности зависит от конфигурации, типов запросов и объектов. Дополнительные сведения см. здесь: KB3107399.

Область: только глобальная.
6545 Активирует режим строгой безопасности в среде CLR. Дополнительные сведения см. здесь: KB4018930.

Примечание: Этот флаг трассировки применяется к SQL Server 2012 (11.x) с пакетом обновления 3 CU 10, SQL Server 2014 (12.x) с пакетом обновления 2 (CU 6), SQL Server 2016 (13.x) RTM CU 7, SQL Server 2016 (13.x) с пакетом обновления 1 CU 4 и более поздним версиям. Начиная с SQL Server 2017 (14.x) эта функция включена по умолчанию, и флаг трассировки 6545 не действует.

Область: только глобальная.
6559 Активирует исправление, изменяющее логику потоковой модели среды CLR по умолчанию. Дополнительные сведения см. здесь: KB4517771.

Примечание: Этот флаг трассировки применяется к SQL Server 2016 (13.x) с пакетом обновления 2 (SP2) CU 10, SQL Server 2017 (14.x) CU 18, SQL Server 2019 (15.x) CU 1 и более поздним версиям.

Область: только глобальная.
7314 Обеспечивает обработку значений NUMBER с неизвестной точностью или масштабом как двойных значений в поставщике OLE DB. Дополнительные сведения см. здесь: KB3051993.

Область: глобальная и сеанс.
7412 Включает инфраструктуру профилирования статистики выполнения упрощенных запросов. Дополнительные сведения см. здесь: KB3170113.

Примечание: Этот флаг трассировки применяется к SQL Server 2016 (13.x) с пакетом обновления 1 (SP1) и более поздним версиям. Начиная с версии SQL Server 2019 (15.x), этот флаг трассировки утрачивает влияние, так как упрощенное профилирование включено по умолчанию.

Область: только глобальная.
7470 Включает дополнительные вычисления для временно предоставляемых буферов памяти, необходимых для операций сортировки. Дополнительные сведения см. здесь: KB3088480.

Примечание: Этот флаг трассировки применяется к SQL Server 2012 (11.x) с пакетом обновления 2 (SP2) CU 8, SQL Server 2014 (12.x) RTM CU 10, SQL Server 2014 (12.x) с пакетом обновления 1 CU 3 и более поздним версиям.

Предупреждение: Флаг трассировки 7470 повышает требования к памяти для запросов, использующих операторы сортировки, и может повлиять на доступность памяти для других параллельных запросов.

Область: глобальная, сеанс или запрос (QUERYTRACEON).
7471 Включает выполнение нескольких инструкций UPDATE STATISTICS для разных статистик в одной таблице одновременно. Дополнительные сведения см. здесь: KB3156157.

Примечание: Этот флаг трассировки применяется к SQL Server 2014 (12.x) с пакетом обновления 1 (SP1) и более поздним версиям.

Область: только глобальная.
7745 Запрещает хранилищу запросов записывать данные на диск при завершении работы базы данных.

Примечание: Использование этого флага трассировки может привести к потере хранилище запросов данных, которые ранее не были сброшены на диск в случае завершения работы. В случае завершения работы SQL Server используйте вместо этого флага трассировки команду SHUTDOWN WITH NOWAIT, чтобы запустить немедленное завершение работы.

Область: только глобальная.
7752 Включает асинхронную загрузку хранилища запросов.

Примечание. Используйте этот флаг трассировки, если у SQL Server большое число ожиданий QDS_LOADDB, связанных с синхронной загрузкой хранилища запросов (реакция по умолчанию для восстановления базы данных).

Примечание: Начиная с SQL Server 2019 (15.x) это поведение контролируется подсистемой, и флаг трассировки 7752 не оказывает никакого влияния.

Область: только глобальная.
7806 Включает применение выделенных административных соединений (DAC) в SQL Server Express. По умолчанию ресурсы приложения уровня данных не зарезервированы в SQL Server Express. Дополнительные сведения см. в разделе Диагностическое соединение для администраторов баз данных.

Область: только глобальная.
8011 Отключает кольцевой буфер для монитора ресурсов. Диагностические данные в этом кольцевом буфере можно использовать для диагностики условий нехватки памяти. Таким образом, если используется этот флаг трассировки, значительно сокращается объем доступных данных для диагностики проблем производительности и функциональных проблем SQL Server. Флаг трассировки 8011 всегда применяется на сервере и имеет глобальную область. Флаг трассировки 8011 можно включить при запуске или в сеансе пользователя.

Область: только глобальная.
8012 Отключает кольцевой буфер для планировщиков. SQL Server записывает событие в кольцевой буфер расписания каждый раз, когда происходит одно из следующих событий.
— Планировщик переключает контекст на другой рабочий процесс.
— Рабочая роль приостанавливается.
— Рабочая роль возобновляется.
— Рабочая роль переходит в режим с вытеснением или без него.

Диагностические данные в этом кольцевом буфере можно использовать для анализа проблем с расписанием. Например, сведения в этом кольцевом буфере можно использовать для устранения неполадок, когда SQL Server перестает отвечать на запросы. Флаг трассировки 8012 отключает запись событий для планировщиков. Флаг трассировки 8012 можно включить только при запуске.

Предупреждение! Если используется этот флаг трассировки, значительно сокращается объем доступных данных для диагностики проблем производительности и функциональных проблем SQL Server.

Область: только глобальная.
8015 Отключает автоматическое обнаружение и установку NUMA. Дополнительные сведения см. здесь: KB2813214.

Область: только глобальная.
8018 Отключает кольцевой буфер исключений. Кольцевой буфер исключений записывает последние 256 исключений, возникающих на узле. Каждая запись содержит некоторую информацию об ошибке и трассировку стека. Запись добавляется в кольцевой буфер при возникновении исключения. Флаг трассировки 8018 отключает создание кольцевого буфера, и сведения об исключении не записываются. Флаг трассировки 8019 отключает сбор стека во время создания записи.

Предупреждение! Если используется этот флаг трассировки, значительно сокращается объем доступных данных для диагностики проблем производительности и функциональных проблем SQL Server.

Область: только глобальная.
8019 Отключает сбор стеков для кольцевого буфера исключений. Флаг трассировки 8019 не действует, если включен флаг трассировки 8018.

Предупреждение! Если используется этот флаг трассировки, значительно сокращается объем доступных данных для диагностики проблем производительности и функциональных проблем SQL Server.

Область: только глобальная.
8020 Отключает мониторинг рабочего набора. SQL Server использует размер рабочего набора, когда получает глобальные сигналы состояния памяти от операционной системы. Флаг трассировки 8020 не учитывает размер памяти рабочего набора, когда SQL Server интерпретирует глобальные сигналы состояния памяти. При неправильном использовании этого флага трассировки может иметь место активная подкачка, а производительность может быть снижена. Поэтому перед включением флага трассировки 8020 обратитесь в службу поддержки Майкрософт. Флаг трассировки 8020 можно включить только при запуске.

Область: только глобальная.
8032 Восстанавливает параметры предела кэша до значения в версии SQL Server 2005 (9.x), что обычно позволяет увеличить размер кэша. Используйте этот параметр, если часто используемые повторно записи кэша не помещаются в кэш и параметру конфигурации сервера Оптимизировать для нерегламентированной рабочей нагрузки не удалось разрешить эту проблему с помощью кэша планов.

Предупреждение: Флаг трассировки 8032 может привести к снижению производительности, если большие кэши делают меньше памяти доступными для других потребителей памяти, таких как буферный пул.

Область: только глобальная.
8048 Преобразует объекты памяти, секционированные по NUMA, в секционированные по ЦП. Дополнительные сведения см. здесь: KB2809338.

Примечание: Начиная с SQL Server 2014 (12.x) с пакетом обновления 2 (SP2) и SQL Server 2016 (13.x) это поведение является динамическим и контролируется подсистемой.

Область: только глобальная.
8075 Снижает степень фрагментации виртуального адресного пространства при получении ошибок выделения страниц в памяти в 64-разрядной среде SQL Server 2012 (11.x) или SQL Server 2014 (12.x). Дополнительные сведения см. здесь: KB3074434.

Примечание: Этот флаг трассировки применяется к SQL Server 2012 (11.x), SQL Server 2014 (12.x) RTM CU 10 и SQL Server 2014 (12.x) с пакетом обновления 1 (CU 3). Начиная с версии SQL Server 2016 (13.x); эта реакция управляется подсистемой, и флаг трассировки 8075 не оказывает влияния.

Область: только глобальная.
8079 Позволяет SQL Server 2014 (12.x) с пакетом обновления 2 (SP2) запрашивать структуру оборудования и автоматически настраивать Soft-NUMA в системах, сообщая о 8 или более ЦП на узел NUMA. Автоматическая реализация Soft-NUMA учитывает многопоточность (потоки/логические процессоры). Секционирование и создание дополнительных узлов позволяет масштабировать фоновую обработку за счет увеличения числа прослушивателей и масштаба вычислений, а также расширения возможностей сети и шифрования.

Примечание: Этот флаг трассировки применяется к SQL Server 2014 (12.x) с пакетом обновления 2 (SP2). Начиная с версии SQL Server 2016 (13.x); эта реакция управляется подсистемой, и флаг трассировки 8079 не оказывает влияния.

Область: только глобальная.
8089 В SQL Server 2017 (14.x) с накопительным пакетом обновления 16 можно включить фильтрацию растровых изображений для уменьшения размера отфильтрованных дампов памяти. SQL Server выделяет растровое изображение, которое отслеживает страницы памяти, исключаемые из фильтруемого дампа. Sqldumper.exe считывает растровое изображение и отфильтровывает страницы без считывания других метаданных диспетчера памяти.

Примечание: Этот флаг трассировки применяется только к SQL Server 2017 (14.x) CU 16–CU 19. Начиная с SQL Server 2017 (14.x) с накопительным пакетом обновления 20 (CU 20), фильтрация растровых изображений включена по умолчанию. Флаг трассировки 8089 больше не будет применяться и будет игнорироваться, если он включен. Фильтрацию растровых изображений можно отключить с помощью флага трассировки 8095. Дополнительные сведения см. здесь: KB4488943.

Область: только глобальная.
8095 Отключает фильтрацию растровых изображений для фильтруемых дампов памяти. SQL Server выделяет растровое изображение, которое отслеживает страницы памяти, исключаемые из фильтруемого дампа. Sqldumper.exe считывает растровое изображение и отфильтровывает страницы без считывания других метаданных диспетчера памяти.

Примечание: Этот флаг трассировки применяется к сборкам, в которых фильтрация точечных изображений включена по умолчанию: SQL Server 2016 (13.x) CU 13 и более поздних версий, SQL Server 2017 (14.x) CU 20 и более поздних версий, а также SQL Server 2019 (15.x).

Область: только глобальная.
8099 Активирует исправление конфликтов спин-блокировок для высокопроизводительных систем SQL Server 2019 (15.x), одновременно обслуживающих множество пользователей.

Примечание: Этот флаг трассировки применяется только к SQL Server 2019 (15.x) CU 2 и CU 3. Начиная с SQL Server 2019 (15.x) с накопительным пакетом обновления 4 это поведение включено по умолчанию. Дополнительные сведения о состязании за спин-блокировку см. в разделах Флаг трассировки 8101 и KB4538688.

Область применения: SQL Server 2019 (15.x)

Область: только глобальная.
8101 Позволяет устранить проблему высокой загрузки ЦП на современном оборудования, например, с большим количеством ЦП Intel Skylake и большим числом одновременных пользователей. Сведения о диагностике конфликтов спин-блокировок см. в техническом документе Диагностика и разрешение конфликтов спин-блокировок в SQL Server.

Примечание: Этот флаг трассировки применяется только к SQL Server 2019 (15.x), начиная с CU 8, с дополнительными улучшениями, представленными в CU 14 и CU 16.

Дополнительные сведения см. здесь: KB4538688.

Область применения: SQL Server 2019 (15.x)

Область: только глобальная.
8121 Устранена проблема с низким объемом памяти на уровне системы, возникающая, когда SQL Server фиксирует превышение максимального объема памяти сервера в модели памяти с включенным параметром "Блокировка страниц в памяти". Этот флаг трассировки выделяет память, необходимую системным потоку Монитора ресурсов для сокращения потребления памяти SQL Server. Сведения об исправлении см. в статье KB5008996.

Область: только глобальная.
8207 Включает отдельные обновления для репликации транзакций и CDC. Обновления для подписчиков можно реплицировать как пары инструкций DELETE и INSERT. Это может не удовлетворять бизнес-правилам, например для срабатывания триггера UPDATE. С флагом трассировки 8207 обновление в уникальном столбце, затрагивающее только одну строку (одноэлементное обновление), реплицируется как инструкция UPDATE, а не как пара инструкций DELETE или INSERT. Если обновление затрагивает столбец, для которого существует уникальное ограничение, или если обновление затрагивает несколько строк, то обновление будет реплицировано как пара инструкций DELETE или INSERT. Дополнительные сведения см. в архивной версии статьи KB302341.

Область: только глобальная.
8558 Включает исправление, чтобы вы не наблюдали пограничные случаи, когда при включенном уровне изоляции RCSI транзакция иногда не может распознать последние данные из таблиц, которые были изменены с помощью транзакций DTC, даже после успешного выполнения xa_commit в течение короткого промежутка времени.

Примечание. Тщательно протестируйте этот параметр, прежде чем развертывать его в рабочей среде. Этот флаг трассировки применяется к SQL Server 2022 (16.x) и более поздним версиям.

Область: только глобальная.
8721 Делает запись в журнале ошибок при выполнении автоматического обновления статистики. Дополнительные сведения см. в архивной версии статьи KB195565.

Примечание. Для этого флага трассировки требуется, чтобы был включен флаг трассировки 3605.

Область: только глобальная.
8744 Отключает предварительное получение для оператора вложенных циклов.

Предупреждение! Неправильное использование этого флага трассировки может привести к дополнительным физическим операциям чтения, когда SQL Server выполняет планы, содержащие оператор вложенных циклов.

Область: глобальная и сеанс.
8790 Заставляет SQL Server использовать широкий план запроса при выполнении инструкции UPDATE для обновления индексов в таблице. При выполнении обновления для столбца кластеризованного индекса SQL Server обновляет не только сам кластеризованный индекс, но и все некластианные индексы, так как некластианные индексы содержат ключ индекса кластера. Для оптимизации производительности и уменьшения количества случайных операций ввода-вывода SQL Server может отсортировать все данные некластикционного индекса в памяти, а затем обновить все индексы по порядку. Это называется расширенным планом (также называется обновлением Per-Index), и его можно принудительно использовать этот флаг трассировки.

Области: Глобальный, сеанс или запрос (QUERYTRACEON).
9024 Преобразует объект памяти пула глобального журнала в объект памяти, секционированный по узлу NUMA. Дополнительные сведения см. здесь: KB2809338.

Примечание: Начиная с SQL Server 2012 (11.x) с пакетом обновления 3 (SP3) и SQL Server 2014 (12.x) с пакетом обновления 1 (SP1) это поведение контролируется подсистемой, а флаг трассировки 9024 не оказывает никакого влияния.

Область: только глобальная.
9109 Отключает запуск функции уведомления о запросах. Дополнительные сведения см. в статье "Восстановление может завершиться сбоем или занять много времени, если в базе данных используется уведомление о запросе".

Предупреждение. Используйте этот флаг трассировки с осторожностью. Этот флаг трассировки может быть полезен в ограниченном наборе сценариев, в основном для устранения неполадок или для изоляции проблемы.

Область: глобальная и сеанс.
9347 Отключает пакетный режим для оператора sort. SQL Server 2016 (13.x); вводит новый оператор sort в пакетном режиме, который повышает производительность для многих аналитических запросов. Дополнительные сведения см. здесь: KB3172787.

Область: глобальная, сеанс или запрос (QUERYTRACEON).
9348 Позволяет использовать оценки кратности оптимизатора запросов для принятия решения о том, следует ли инициировать BULK INSERT для кластеризованного индекса columnstore. Если предполагаемое количество строк для вставки меньше 102 400, то Компонент Database Engine использует BULK INSERT. Если предполагаемое количество строк превышает 102 400, инициируется BULK INSERT. Дополнительные сведения см. здесь: KB2998301.

Область: глобальная, сеанс или запрос (QUERYTRACEON).
9349 Отключает пакетный режим для оператора top N sort. SQL Server 2016 (13.x); вводит новый оператор top sort в пакетном режиме, который повышает производительность для многих аналитических запросов.

Область: глобальная, сеанс или запрос (QUERYTRACEON).
9358 Отключает пакетный режим для оператора sort. Дополнительные сведения см. здесь: KB3171555.

Примечание. Начиная с SQL Server 2017 (14.x); данная функция включена по умолчанию, и этот флаг трассировки не оказывает влияния.

Область: глобальная, сеанс или запрос (QUERYTRACEON).
9389 Включает дополнительный динамический временно предоставляемый буфер памяти для операторов пакетного режима. Если запрос не получает всю необходимую память, он передает данные в базу данных tempdb, что приводит к дополнительным операциям ввода-вывода и может повлиять на производительность запроса. Если включен флаг трассировки для динамического временно предоставляемого буфера памяти, оператор пакетного режима может запросить дополнительную память и избежать переноса данных в tempdb, если дополнительная память доступна. Дополнительные сведения см. в разделе Последствия изменения минимального объема памяти на запрос в руководстве по архитектуре управления памятью.

Область: глобальная или сеанс.
9398 Отключает оператор Adaptive Join, который позволяет отложить выбор метода хэш-соединения или соединения вложенными циклами до завершения сканирования первых входных данных, как было представлено в SQL Server 2017 (14.x). Дополнительные сведения см. здесь: KB4099126.

Примечание. Тщательно протестируйте этот параметр, прежде чем развертывать его в рабочей среде.

Область: глобальная, сеанс или запрос (QUERYTRACEON).
9410 Включает исправление не по умолчанию для запроса, использующего статистический оператор хеша и временные записи. Включение этого флага трассировки увеличивает объем доступной памяти для различных хэш-операций. Дополнительные сведения см. здесь: KB3167159.

Примечание. Тщательно протестируйте этот параметр, прежде чем развертывать его в рабочей среде.

Область: глобальная, сеанс или запрос (QUERYTRACEON).
9453 Отключает выполнение в пакетном режиме. Дополнительные сведения см. здесь: KB4016902.

Примечание. Тщательно протестируйте этот параметр, прежде чем развертывать его в рабочей среде.

Область: глобальная, сеанс или запрос (QUERYTRACEON).
9471 Побуждает SQL Server создать план с минимальной избирательностью для однотабличных фильтров в модели оценки кратности оптимизатора запросов версий SQL Server 2014 (12.x) и более поздних версий.

Начиная с SQL Server 2016 (13.x) с пакетом обновления 1 (SP1), чтобы выполнить эту задачу на уровне запроса, добавьте USE HINT 'ASSUME_MIN_SELECTIVITY_FOR_FILTER_ESTIMATES'указание запроса вместо использования этого флага трассировки.

Примечание. Тщательно протестируйте этот параметр, прежде чем развертывать его в рабочей среде.

Примечание. Этот флаг трассировки не применяется в CE версии 70. Вместо этого используйте флаг трассировки 4137.

Область: глобальная, сеанс или запрос (QUERYTRACEON).
9476 Побуждает SQL Server создать план с допущением простого вложения вместо допущения базового вложения по умолчанию в модели оценки кратности оптимизатора запросов версий SQL Server 2014 (12.x) и более поздних версий. Дополнительные сведения об этом вы найдете в статье KB3189675.

Начиная с SQL Server 2016 (13.x) с пакетом обновления 1 (SP1), чтобы выполнить эту задачу на уровне запроса, добавьте USE HINT 'ASSUME_JOIN_PREDICATE_DEPENDS_ON_FILTERS'указание запроса вместо использования этого флага трассировки.

Примечание. Тщательно протестируйте этот параметр, прежде чем развертывать его в рабочей среде.

Область: глобальная, сеанс или запрос (QUERYTRACEON).
9481 Задает модель оценки кратности оптимизатора запросов (CE) SQL Server 2012 (11.x) и более ранних версий (версия 70), независимо от уровня совместимости базы данных. Дополнительные сведения см. здесь: KB2801413.

Начиная с версии SQL Server 2016 (13.x) для выполнения этой задачи на уровне базы данных в соответствии см. описание параметра LEGACY_CARDINALITY_ESTIMATION в разделе ALTER DATABASE SCOPED CONFIGURATION (Transact-SQL).

Начиная с SQL Server 2016 (13.x) с пакетом обновления 1 (SP1), чтобы выполнить эту задачу на уровне запроса, добавьте USE HINT 'FORCE_LEGACY_CARDINALITY_ESTIMATION'указание запроса вместо использования этого флага трассировки.

Область: глобальная, сеанс или запрос (QUERYTRACEON).
9485 Отключает разрешение SELECT для DBCC SHOW_STATISTICS. Дополнительные сведения см. здесь: KB2683304.

Область: только глобальная.
9488 Устанавливает для фиксированной оценки функций с табличным значением значение по умолчанию 1 (соответствующее значению по умолчанию в модели оценки кратности оптимизатора запросов в SQL Server 2008 R2 (10.50.х) и более ранних версиях) при использовании модели оценки кратности оптимизатора запросов версий SQL Server 2012 (11.x) и выше.

Область: глобальная, сеанс или запрос (QUERYTRACEON).
9495 Отключает параллелизм во время вставки для операций INSERT...SELECT и применяется к пользовательским и временным таблицам. Дополнительные сведения см. здесь: KB3180087.

Область: глобальная или сеанс.
9567 Включает сжатие потока данных для групп доступности AlwaysOn во время автоматического заполнения. Во время автоматического заполнения сжатие может значительно сократить время передачи и увеличит загрузку ЦП. Дополнительные сведения см. в разделах Автоматическая инициализация группы доступности AlwaysOn и Настройка сжатия для группы доступности.

Область: глобальная или сеанс.
9571 Отключает автоматическое первоначальное заполнение пути базы данных по умолчанию для групп доступности. Дополнительные сведения см. в статье Разметка диска.

Область: глобальная или сеанс.
9576 Отключает расширенный сбор ошибок для отработки отказа группы доступности, появившиеся в SQL Server 2016 (13.x) с пакетом обновления 1 (CU 10), SQL Server 2016 (13.x) с пакетом обновления 2 (SP2) и SQL Server 2017 (14.x) с накопительным пакетом обновления 9. Дополнительные сведения см. в статье Группы доступности SQL Server — улучшенная отработка отказа уровня базы данных.

Область: только глобальная.
9591 Отключает сжатие блока журнала в группах доступности AlwaysOn. Сжатие блока журнала является реакцией по умолчанию, используемой с синхронными и асинхронными репликами в SQL Server 2012 (11.x) и SQL Server 2014 (12.x). В SQL Server 2016 (13.x); сжатие используется только с асинхронной репликой.

Область: глобальная или сеанс.
9592 Включает сжатие потока журналов для синхронных групп доступности. В синхронных группах доступности эта функция отключена по умолчанию, поскольку сжатие приводит к увеличению задержки. Дополнительные сведения см. в разделе Tune compression for availability group(Настройка сжатия для группы доступности).

Область: глобальная или сеанс.
9708 Включает сбор метрик публикации событий для сеансов расширенных событий. Дополнительные сведения см. в разделе sys.dm_xe_session_events.

Примечание: Этот флаг трассировки применяется к SQL Server 2022 (16.x) и более поздним версиям.

Область: только глобальная.
9929 Сокращает файлы контрольных точек в памяти до 1 МБ для каждого файла. Дополнительные сведения см. здесь: KB3147012.

Область: только глобальная.
9939 Включает параллельные планы и параллельное сканирование таблиц, оптимизированных для памяти, и табличных переменных в операциях DML, которые ссылаются на таблицы, оптимизированные для памяти, или табличные переменные, при условии, что они не являются целевым объектом операции DML в SQL Server 2016 (13.x). Дополнительные сведения см. здесь: KB4013877.

Примечание: Флаг трассировки 9939 не требуется, если также явно включен флаг трассировки 4199.

Область: глобальная, сеанс или запрос (QUERYTRACEON).
9944 Включает исправление не по умолчанию для медленного восстановления базы данных, когда база данных имеет большое количество таблиц, оптимизированных для операций в памяти, или типов таблиц, оптимизированных для операций в памяти, и может наблюдаться блокировка с типами ожидания PREMPTIVE_OS_FINDFILE или PREEMPTIVE_OS_CREATEDIRECTORY. Дополнительные сведения см. в статьях KB4090789 и KB4052338.

Область: только глобальная.
10054 Отключает правило оптимизатора запросов SQL Server, которое разделяет вложенные запросы в предикатах ИЛИ на внешние соединения.

Примечание. Этот флаг трассировки применяется только к SQL Server 2019 (15.x) и более поздних версий.

Примечание. Тщательно протестируйте этот параметр, прежде чем развертывать его в рабочей среде.

Область: глобальная, сеанс или запрос (QUERYTRACEON).
10204 Отключает слияние и повторное сжатие во время реорганизации индекса columnstore. В SQL Server 2016 (13.x); при реорганизации индекса columnstore можно использовать новую функцию, которая автоматически объединяет малые сжатые группы строк в большие сжатые группы строк, а также повторно сжимает группы строк с большим количеством удаленных строк.

Примечание: Флаг трассировки 10204 не применяется к индексам columnstore, созданным в таблицах, оптимизированных для памяти.

Область: глобальная или сеанс.
10207 Разрешает сканирование кластеризованного индекса columnstore (CCI) для пропуска поврежденных сегментов или метаданных, что позволяет получить данные из поврежденного CCI. Дополнительные сведения см. здесь: KB3067257.

Область: глобальная или сеанс.
10316 Включает создание дополнительных индексов во внутренних промежуточных темпоральных таблицах, оптимизированных для памяти, помимо индекса по умолчанию. Если у вас есть определенный шаблон запроса, включающий столбцы, к которым не относится индекс по умолчанию, вы можете добавить дополнительные индексы.

Примечание. Темпоральные таблицы с системным управлением версиями для таблиц, оптимизированных для памяти, призваны обеспечить высокую скорость обработки транзакций. Создание дополнительных индексов может привести к издержкам для операций DML, которые обновляют или удаляют строки в текущей таблице. Используя дополнительные индексы, постарайтесь найти баланс между производительностью темпоральных запросов и дополнительными временными затратами DML.

Область: глобальная или сеанс.
11023 Отключает использование последней сохраненной частоты выборки для всех последующих обновлений статистики, где частота выборки не указана явно в инструкции UPDATE STATISTICS. Дополнительные сведения см. здесь: KB4039284.

Область: только глобальная.
11024 Включает запуск автоматического обновления статистики, когда число изменений любого раздела превышает локальное пороговое значение. Дополнительные сведения см. здесь: KB4041811.

Примечание: Этот флаг трассировки применяется к SQL Server 2016 (13.x) с пакетом обновления 2 (SP2), SQL Server 2017 (14.x) с накопительным пакетом обновления 3 и более поздним версиям.

Область: только глобальная.
11047 Применяет время ожидания по умолчанию, заданное query wait (s), или конфигурацию Resource Governor REQUEST_MEMORY_GRANT_TIMEOUT_SEC для операций построения индекса columnstore. Дополнительные сведения см. здесь: KB4480641.

Примечание: Этот флаг трассировки применяется к SQL Server 2016 (13.x) с пакетом обновления 2 (SP2) CU 5, SQL Server 2017 (14.x) с накопительным пакетом обновления 14 и более поздним версиям.

Область: только глобальная.
11064 Повышает масштабируемость операций загрузки данных в индексы columnstore путем оптимизации распределения памяти между операторами SELECT и INSERT. Дополнительные сведения о загрузке данных в индекс columnstore см. в разделе Индексы columnstore. Руководство по загрузке данных.

Примечание. Этот флаг трассировки применяется только к SQL Server 2019 (15.x) и более поздних версий.

Область: только глобальная.
11068 Использует настроенное значение максимальной степени параллелизма (MAXDOP) сервера, базы данных или пула ресурсов для операций вставки индекса columnstore. Дополнительные сведения об изменении степени параллелизма см. в статье Руководство по архитектуре обработки запросов.

Важно: Этот флаг трассировки действует, только если включен флаг трассировки 11064.

Внимание! Используйте этот флаг трассировки, если высокая скорость загрузки данных предпочтительнее, чем качество обслуживания сегмента columnstore. Например, использование этого флага трассировки при загрузке 1 048 577 строк в columnstore может привести к образованию нескольких сжатых групп строк, если операция вставки выполняется в параллельном режиме. Без этого флага трассировки операция вставки приведет к появлению одной сжатой группы строк.

Примечание. Этот флаг трассировки применяется только к SQL Server 2019 (15.x) и более поздних версий.

Область: только глобальная.
11631 ALTER INDEX ... REORGANIZE и фоновая задача слияния будут очищать удаленные строки в группе строк индекса columnstore только в том случае, если из этой группы было удалено определенное пороговое количество строк. Пороговое количество по умолчанию — 10 % от максимального количества строк (1 000 000), или 100 000 строк.

Этот флаг трассировки изменяет пороговое значение на 10 % от общего числа текущих строк в группе строк columnstore. Например, если группа строк содержит 20 000 строк, то пороговым значением будет 2000 удаленных строк, прежде чем эта группа строк рассматривается для очистки. Дополнительные сведения см. здесь: KB5000895.

Примечание: Этот флаг трассировки применяется к SQL Server 2019 (15.x) CU 9 и более поздних версий.

Область: только глобальная.
11634 ALTER INDEX ... REORGANIZE и фоновая задача слияния будут очищать удаленные строки в группе строк индекса columnstore только в том случае, если из этой группы было удалено определенное пороговое количество строк. Пороговое значение по умолчанию — 10 % от максимального предельного значения строк (1 000 000) или 100 000 строк.

Этот флаг трассировки изменяет пороговое значение на 1 % от общего числа строк в группе строк columnstore. Если этот параметр включен вместе с флагом трассировки 11631, он будет составлять 1 % от текущего количества строк в группе строк, а не 1 % от 1 млн строк. Дополнительные сведения см. здесь: KB5000895.

Примечание: Этот флаг трассировки применяется к SQL Server 2019 (15.x) CU 9 и более поздних версий.

Область: только глобальная.
13116 Отключает исправление для ошибки 13685819. Используйте этот флаг трассировки, если после применения SQL Server 2016 (13.x) с пакетом обновления 2 (CU 16) возникает проблема, из-за которой запросы DML (вставка,обновление/удаление) с параллельными планами не могут завершить выполнение и столкнуться с HP_SPOOL_BARRIER ожиданиями.

Примечание: Этот флаг трассировки применяется к SQL Server 2016 (13.x) с пакетом обновления 2 (CU 16).

Область: только глобальная.
15097 Включает поддержку AVX-512 для SQL Server 2022 (16.x) и более поздних версий.

Важно! Рекомендуется включить поддержку AVX-512 для следующих ЦП:

— Intel Ice Lake и более поздних версий
— AMD EYPC Genoa и более поздних версий

Примечание: Этот флаг трассировки применяется к SQL Server 2022 (16.x) и более поздним версиям.

Область: глобальная или сеанс.
15212 Отключает сообщения таймера компонента Service Broker, которые действуют в качестве подробного уведомления о событии времени ожидания. Сообщения, затронутые этим флагом трассировки: "SSBDT: удаление таймера диалога во время регистрации" в последовательности очистки диалогового окна компонента Service Broker и "SSBDT: удаление таймера диалога во время отправки" в последовательности закрытия диалогового окна компонента Service Broker. После включения этого флага трассировки печать этих неофициальных сообщений пропускается.

Примечание: Этот флаг трассировки применяется к SQL Server 2022 (16.x) и более поздним версиям.

Область: только глобальная.

См. также раздел

Дальнейшие действия