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 (SP2) с накопительным пакетом обновления 6, SQL Server 2017 (14.x) с накопительным пакетом обновления 12 и более поздних версий.

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

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

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

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

Сжатие columnstore позволяет повысить производительность запросов, но при этом потребляются ресурсы системы. Вы можете управлять временем сжатия columnstore вручную, отключив задачу фонового сжатия с флагом трассировки 634, а затем явно вызвав ALTER INDEX... REORGANIZE или 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 Включает так называемое поведение прямой записи для гибридного буферного пула. Для этого режима требуется, чтобы сохраненный буфер журналов был включен в той же базе данных, что и гибридный буферный пул. Прямая запись позволяет гибридным буферным пулам служить в качестве кэша для грязное и чистых страниц, снижая требования к рабочей нагрузке в буферных пулах DRAM для рабочих нагрузок в стиле OLAP и OLTP. Этот флаг трассировки появился в SQL Server 2022 (16.x), а поведение включено по умолчанию в SQL Server 2022 (16.x) CU 1. Если вы используете SQL Server 2022 (16.x) с накопительным пакетом обновления 1 и более поздних версий, флаг трассировки игнорируется.
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-разрядных расширений окна адресов (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) и более поздних версий.

Область: только глобальная.
898 Отключает поведение прямой записигибридного буферного пула для устранения неполадок или отладки. Дополнительные сведения см. в статье KB5022375.

Применимо к: SQL Server 2022 (16.x) CU 1 и более поздних версий.

Область: только глобальная.
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 укрупняет блокировки строк или страниц до блокировок таблиц (или секций), если объем памяти, используемый блокированными объектами, превышает одно из следующих условий.

— 40 % памяти, используемой компонентом Database Engine. Это применимо, только если для параметра locks задано sp_configure значение 0.
— 40 % памяти блокировки, настроенной с помощью параметра 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) с пакетом обновления 1 (SP1) это поведение контролируется компонентом Database Engine, и флаг трассировки 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 (SP3), SQL Server 2014 (12.x) RTM с накопительным пакетом обновления 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. В некоторых случаях компонент Компонент Database Engine может обновить широкий план. Этот флаг трассировки приводит к обновлению узкого плана.

Область: глобальная, сеанс или запрос (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 или выше это поведение управляется компонентом Компонент Database Engine, а флаг трассировки 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 2019 (15.x) CU 19 и 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-объектов в службе хранилища Azure. Ведение журнала записывает данные в определенный файл журнала ошибок. Дополнительные сведения см. в разделе Резервное копирование в 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 (SP1) с накопительным пакетом обновления 2 (CU 2) SQL Server 2016 (13.x) с пакетом обновления 2 (SP2). Начиная с SQL Server 2016 (13.x) с пакетом обновления 2 (CU 3) и SQL Server 2017 (14.x), этот флаг трассировки не действует.

Область: только глобальная.
3428 Поток Always On повтора на вторичном реплика иногда может блокироваться запросами T-SQL, что может привести к задержкам синхронизации. Этот флаг трассировки завершает такие блокирующие запросы, устанавливая время ожидания блокировки в 60 секунд. Дополнительные сведения о задержке потока повтора см. в разделах Поток повтора отстает из-за состязания за ресурсы и Устранение неполадок с созданием очереди REDO (проблемы с задержкой данных) в Always On читаемых вторичных реплик.

Предупреждение: Убедитесь, что вы протестируете и понимаете этот параметр, прежде чем развертывать его в рабочей среде, так как запросы могут быть завершены.

Область применения: SQL Server 2019 (15.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 и более поздних версий.

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

Применимо к: SQL Server 2012 (11.x) и более поздних версий.

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

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

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

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

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

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

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

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

Область: глобальная и сеанс.
3880 Отключите задачу таймера, которая проверяет состояние возобновляемого индекса.

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

Область: глобальная или сеанс.
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.

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

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

Область: только глобальная.
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 (SP6), 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 (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), это поведение контролируется компонентом Компонент Database Engine, и флаг трассировки 8079 не имеет никакого влияния.

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

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

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

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

Область: только глобальная.
8096 Отключите проверка локальности NUMA для фиксаций памяти.

Применимо к: 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) CU 4 это поведение включено по умолчанию. Дополнительные сведения о состязании за спин-блокировку см. в статьях Флаг трассировки 8101 и KB4538688.

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

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

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

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

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

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

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

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

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

Область: только глобальная.
8286 При принудительном выполнении запроса очистки используется FORCE ORDER указание для повышения производительности. Для использования FORCESEEK указания можно использовать с TF 8287. Дополнительные сведения см. в статье KB5022375.

Применимо к: SQL Server 2022 (16.x) CU 1 и более поздних версий.

Область: только глобальная.
8287 При принудительном выполнении запроса очистки используется FORCESEEK указание для повышения производительности. Для использования FORCE ORDER указания можно использовать с TF 8286. Дополнительные сведения см. в статье KB5022375.

Применимо к: SQL Server 2022 (16.x) CU 1 и более поздних версий.

Область: только глобальная.
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 Update), и его можно принудительно использовать с помощью этого флага трассировки.

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

Применимо к: SQL Server 2019 (15.x) и более поздних версий.

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

Применимо к: только SQL Server 2019 (15.x), начиная с накопительного пакета обновления 12.

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

Область: только глобальная.
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 При использовании модели оценки кратности оптимизатора запросов SQL Server 2012 (11.x) и более поздних версий присваивает фиксированной оценке для функций с табличным значением значение 1 (соответствует значению по умолчанию в SQL Server модели оценки кратности оптимизатора запросов 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) и более поздних версий.

Область: только глобальная.
9810 Отключает In-Memory подсистеме OLTP восстановление памяти локального хранилища потока (TLS). В SQL Server 2019 (15.x) и более ранних версиях по умолчанию не освобождается память TLS. В SQL Server 2022 (16.x) была введена новая оптимизация памяти, которая приводит к тому, что подсистема In-Memory OLTP освобождает память TLS и снижает вероятность проблем с нехваткой памяти. Этот флаг трассировки возвращается к поведению до SQL Server 2022 (16.x).

Применимо к: 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.

Область: только глобальная.
9953 Повторно использует скрытые планировщики, используемые таблицами, оптимизированными для памяти.

Применимо к: SQL Server 2019 (15.x) CU 20 и более поздних версий, а также SQL Server 2022 (16.x) CU 3 и более поздних версий.

Область: только глобальная.
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.

Область: глобальная или сеанс.
10460 Приводит к тому, что функция Stretch Database SQL Server подготавливает растянутую таблицу на уровне служб Azure SQL Базы данных с гипермасштабированием.

Применимо к: SQL Server 2017 (14.x) CU 31, SQL Server 2019 (15.x) CU 18 и SQL Server 2022 (16.x) и более поздних версий.

Начиная с SQL Server 2017 (14.x) CU 31, SQL Server 2019 (15.x) CU 18 и SQL Server 2022 (16.x) поведение функции Stretch Database по умолчанию будет подготавливать растянутую таблицу на уровне служб Azure SQL Database Standard (S3). Дополнительные сведения см. в статье KB5018050.

Область: только глобальная.
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) CU 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) и более поздних версий.

Область: только глобальная.
11561 Отключает проверку подлинности Azure Active Directory (Azure AD) для репликации.

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

Область: глобальная или сеанс.
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 и более поздних версий.

Область: только глобальная.
12324 Устранена проблема, связанная с изменениями функции связи для Управляемый экземпляр SQL Azure, которая предотвращает синхронизацию групп доступности при выполнении реплик в разных накопительных обновлениях. Дополнительные сведения см. в статье KB5024276.

Применимо к: SQL Server 2019 (15.x) CU 20 и более поздних версий.

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

Применимо к: SQL Server 2022 (16.x) CU 1 и более поздних версий.

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

Область применения: SQL Server 2022 (16.x) CU 4 и более поздних версий.

Область: только глобальная.
12656 Позволяет модели автоматического исправления плана (APC) функции автоматической настройки использовать регрессию плана на основе времени проверка, которая произойдет через пять минут после обнаружения изменения плана, что позволяет избежать смещения проверок регрессии запросами, которые выполняются быстро. Это позволяет APC принимать во внимание выполнение запросов, которые могут выполняться дольше или могут быть подвержены истеканию времени ожидания из-за изменения плана. Дополнительные сведения см. в статье KB5026717.

Область применения: SQL Server 2022 (16.x) CU 4 и более поздних версий.

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

Область применения: SQL Server 2016 (13.x) с пакетом обновления 2 (CU 16).

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

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

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

Область: только глобальная.
15025 Отключает доступ к Key Vault Azure, необходимый для только что созданного виртуального файла журнала (VLF), что позволяет выполнять рабочие нагрузки клиентов с большим объемом без прерываний. После включения этого флага трассировки SQL Server использует расширенное управление ключами для шифрования и создания ключей и не обращается к Key Vault Azure во время создания VLF. Дополнительные сведения см. в статье Проблемы со специальными возможностями базы данных при больших объемах клиентских рабочих нагрузок, использующих расширенное управление ключами для шифрования и создания ключей.

Применимо к: SQL Server 2019 (15.x) CU 19, SQL Server 2022 (16.x) CU 1 и более поздних версий.

Область: только глобальная.
15096 Отключение операций подсчета населения (popcnt) с помощью наборов инструкций AVX-512.

Область применения: SQL Server 2022 (16.x) и более поздних версий.

Область: глобальная или сеанс.
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: Dialog timer delete during registration в последовательности очистки диалогового окна компонента Service Broker и SSBDT: Dialog timer delete during dispatch в последовательности закрытия диалогового окна компонента Компонент Service Broker. После включения этого флага трассировки печать этих неофициальных сообщений пропускается.

Область применения: SQL Server 2022 (16.x) и более поздних версий.

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

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

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