Microsoft SQL Server Флаги Трассировки

Полный список Microsoft SQL Server флагов трассировки (588 флагов трассировки на текущий момент).

ПОМНИТЕ: Будьте предельно осторожны с флагами трассировки, проверяйте их влияние в первую очередь в тестовой среде.

Заголовки:

Источники:

Большое спасибо:

Unknown trace flags

Список неизветсных флагов трассировки, которые по умолчанию активированы на серверах Azure SQL Server, больше подробностей здесь: Azure SQL DB Managed Instances: Trace Flags, Ahoy! Если вы знаете что-либо о данных флагах трассировки просьба сообщить мне (taranov.pro).

Что такое флаг трассировки в Microsoft SQL Server?

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

Как включить или выключить флаги трассировки?

Как определить какие флаги трассировки включены на текущий момент?

Вы можете использовать DBCC TRACESTATUS команду

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

DBCC TRACESTATUS(-1);
GO

Следующий пример показывает статус флагов трассировки 2528 и 3205:

DBCC TRACESTATUS (2528, 3205);
GO

Следующий пример показывает для флага трассировки 3205 задействован он глобально или нет:

DBCC TRACESTATUS (3205, -1);
GO

Следующий пример показывает список всех флагов трассировки, включенных для текущей сессии:

DBCC TRACESTATUS ();
GO

Что такое правила Оптимизатора?

Каждый раз, когда SQL Server выполняет запрос он строит план выполнения, который переводит логические операции, такие как соединения и предикаты в физические операции, которые реализованы в исходном коде SQL Server. Это преобразование основано на определенных правилах, известных как правил оптимизатора. Они определяют, например, как выполнить внутреннее соединение. Когда мы пишем простой оператор выбора с внутреннего соединения, оптимизатор запросов выбирает на основе статистических данных, индексах и задействованных правилах каким образом соединение выполняется (как Merge Join, вложенном цикле или хешировании), а также, может ли соединение использовать свойство коммутативности объединений. Математически соединение A и B равнозначно соединению B и A, но вычислительные затраты, как правило, могут существенно различаться.

Список всех доступных правил

Для того, чтобы получить список правил в вашей версии SQL Server необходимо использовать недокументированные DBCC команды SHOWONRULES и SHOWOFFRULES. Эти команды отображают задействованные и выключенные правила для всего сервера. Количество правил различается среди версий.

USE master;
GO

DBCC TRACEON(3604);
GO

DBCC SHOWONRULES;
GO

DBCC SHOWOFFRULES;
GO
Правило Описание
JNtoNL Join to Nested Loop
JNtoHS Join to Hash
JNtoSM Join to Sort Merge
LOJNtoNL Left Outer Join to Nested Loop
LSJNtoHS Left Semi Join to Hash
LASJNtoSM Left Anti Semi Join to Sort Merge

Рекомендуемые флаги трассировки

Флаг трассировки 272 предотвращает "скачок" в колонках с Iventity при рестарте сервера SQL Server 2012. (Демо для воспроизведения проблемы доступно здесь) Критично, если в колонках со свойством Identity используются типы данных tinyint и smallint.

Флаг трассировки 1118 устраняет конкатенацию, возникающую на определенных страницах в базе данных - SGAM страницах. Обычно данный флаг трассировки улучшает работу системной базы данных tempdb, особенно если она активно используется. Trace flag 1118 addresses contention that can exist on a particular type of page in a database, the SGAM page. Для SQL Server 2016 данное поведение можно изменить используя опцию на уровне базы данных MIXED_PAGE_ALLOCATION, поэтому необходимости в флаге трассировки 1118 нет.

Флагт трассировки 3023 используеются для включения опции CHECKSUM по умолчанию для всех бэкапов на данном экзмепляре SQL Server, С данной опцией контрольная сумма страницы проверяется во время создания резервной копии, также контрольная сумма вычисляется и для всего бэкапа. Начиная с SQL Server 2014, данная опция может быть установлена на уровне всего экземпляра с помощью хранимой процедуры sp_configure ('backup checksum default').

Флаг трассировки 3226 предотвращает запись сообщений об успешном создании резервной копии в ERRORLOG. Информация об успешном бэкапе все равно записывается в системную базу данных msdb и может быть получена с помощью T-SQL.

Trace flag 3449 (and you are on SQL Server 2012 SP3 CU3 or later or SQL Server 2014 SP1 CU7 or later), will get much better performance by avoiding a FlushCache call in a number of different common scenarios, such as backup database, backup transaction log, create database, add a file to a database, restore a transaction log, recover a database, shrink a database file, and a SQL Server “graceful” shutdown.

Trace flag 6534 enables performance improvement of query operations with spatial data types in SQL Server 2012, SQL Server 2014 and SQL Server 2016. The performance gain will vary, depending on the configuration, the types of queries, and the objects.

Trace flag 7412 enables the lightweight query execution statistics profiling infrastructure. Unless your server is already CPU bound, like you’re running all the time with 95% CPU, unless you are at that point, turn on this trace flag at any server you have. This would be my advice here because this enables that lightweight profiling infrastructure there and then you’ll see in a few minutes what it unleashes here. So one thing that happens when I enable the lightweight profiling is that the sys.dm_exec_query_profiles DMV, which is something that actually populates the live query stats ability or feature of SSMS, now also is also populated with this lightweight profiling, which means that for all essence, we are now able to run a live query stats on all fashions at any given point in time, and this is extremely useful for let’s say a production DBA that someone calls and says, “Hey, you have a problem. To tap into running system and look at what it’s doing.”

Trace flag 7745 forces Query Store to not flush data to disk on database shutdown. Using this trace may cause Query Store data not previously flushed to disk to be lost in case of shutdown. For a SQL Server shutdown, the command SHUTDOWN WITH NOWAIT can be used instead of this trace flag to force an immediate shutdown.

Trace Flag: 7752 enables asynchronous load of Query Store. Use this trace flag if SQL Server is experiencing high number of QDS_LOADDB waits related to Query Store synchronous load (default behavior).

Список флагов трассировки

Всего: 588 флагов трассировки

Флаг Трассировки: -1

Назначение: Sets trace flags for all client connections, rather than for a single client connection. Because trace flags set using the -T command-line option automatically apply to all connections, this trace flag is used only when setting trace flags using DBCC TRACEON and DBCC TRACEOFF.
Ссылка: http://www.sql-server-performance.com/2002/traceflags/

Флаг Трассировки: 101

Назначение: Verbose Merge Replication logging output for troubleshooting Merger repl performance
Ссылка: https://support.microsoft.com/help/2892633
Способ применения: global only

Флаг Трассировки: 102

Назначение: Verbose Merge Replication logging to msmerge_history table for troubleshooting Merger repl performance
Ссылка: https://support.microsoft.com/help/2892633
Способ применения: global only

Флаг Трассировки: 105

Недокументированный флаг трассировки
Назначение: Join more than 16 tables in SQL server 6.5
Ссылка: http://www.databasejournal.com/features/mssql/article.php/1443351/SQL-Server-65-Some-Useful-Trace-Flags.htm

Флаг Трассировки: 106

Назначение: If you are using Web Synchronization, you can start Replmerg.exe and pass the -T 106 option to use trace flag 106. This enables you to see the messages that are sent to and from the Publisher. The agent writes the client's input messages to a file that is named ExchangeID(guid).IN.XML, and writes the output messages to a file that is named ExchangeID(guid).OUT.XML. (In these file names, guid is the GUID of the Exchange Server session.) These files are created in the directory from which Replmerg.exe was invoked. For security, you should delete these files after you are finished.
Ссылка: http://technet.microsoft.com/en-us/library/ms151872(v=sql.105).aspx

Флаг Трассировки: 107

Недокументированный флаг трассировки
Назначение: SQL 6.5/7/8 – Interprets numbers with a decimal point as float instead of decimal
Ссылка: Нет

Флаг Трассировки: 110

Недокументированный флаг трассировки
Назначение: SQL 6.5 – Turns off ANSI select characteristics
Ссылка: Нет

Флаг Трассировки: 120

Недокументированный флаг трассировки
Назначение: FIX: Error message when you schedule a Replication Merge Agent job to run after you install SQL Server 2000 Service Pack 4: "The process could not enumerate changes at the 'Subscriber'"
Ссылка: Нет

Флаг Трассировки: 139

Назначение: Forces correct conversion semantics in the scope of DBCC check commands like DBCC CHECKDB, DBCC CHECKTABLE and DBCC CHECKCONSTRAINTS, when analyzing the improved precision and conversion logic introduced with compatibility level 130 for specific data types, on a database that has a lower compatibility level. Note: This trace flag applies to SQL Server 2016 RTM CU3, SQL Server 2016 SP1 and higher builds.
WARNING: Trace flag 139 is not meant to be enabled continuously in a production environment, and should be used for the sole purpose of performing database validation checks described in this Microsoft Support article. It should be immediately disabled after validation checks are completed.
Ссылка: https://support.microsoft.com/help/4010261
Ссылка: Docs Trace Flags
Способ применения: global only

Флаг Трассировки: 144

Назначение: Force server side bucketization. For legacy applications where change to client side code is not an option and when the application has queries that are improperly parameterized, this trace flag forces server side bucketization.
Ссылка: http://blogs.msdn.microsoft.com/sqlprogrammability/2007/01/13/6-0-best-programming-practices

Флаг Трассировки: 146

Недокументированный флаг трассировки
Назначение: Consider using when replaying against SQL 8.0, to avoid an attempt to set an encrypted connection.
Ссылка: Нет

Флаг Трассировки: 166

Недокументированный флаг трассировки
Назначение: Unclear. Observable effect was to change the identifier for act1008 to act1009 in a query plan.
Ссылка: New Undocumented Trace Flags
Способ применения: ?

Флаг Трассировки: 168

Назначение: Bugfix in ORDER BY. This hotfix introduces trace flag 168. After you apply this hotfix, you must enable trace flag 168. Trace flag 168 must be set before the database is migrated to SQL Server 2005. If trace flag 168 is set after the database is migrated, the query result will remain unsorted.
Ссылка: https://support.microsoft.com/help/926292

Флаг Трассировки: 174

Назначение: Increases the SQL Server Database Engine plan cache bucket count from 40,009 to 160,001 on 64-bit systems.
Note: Please ensure that you thoroughly test this option, before rolling it into a production environment.
Ссылка: https://support.microsoft.com/help/3026083/fix-sos-cachestore-spinlock-contention-on-ad-hoc-sql-server-plan-cache
Ссылка: Docs Trace Flags
Способ применения: global only

Флаг Трассировки: 176

Назначение: Enables a fix to address errors when rebuilding partitions online for tables that contain a computed partitioning column.
Ссылка: https://support.microsoft.com/help/3213683/fix-unable-to-rebuild-the-partition-online-for-a-table-that-contains-a
Ссылка: Docs Trace Flags
Способ применения: global or session

Флаг Трассировки: 204

Назначение: SQL 6.5 – Backward compatibility switch that enables non-ansi standard behavior. E.g. previously SQL server ignored trailing blanks in the like statement and allowed queries that contained aggregated functions to have items in the group by clause that were not in the select list.
Ссылка: https://support.microsoft.com/help/153096/fix-sql-server-6.5-service-pack-1-fixlist

Флаг Трассировки: 205

Назначение: Reports to the error log when a statistics-dependent stored procedure is being recompiled as a result of auto-update statistics.
Ссылка: https://support.microsoft.com/help/195565
Ссылка: Docs Trace Flags
Способ применения: global only

Флаг Трассировки: 206

Недокументированный флаг трассировки
Назначение: SQL 6.5 – Provides backward compatibility for the set user statement. KB 160732
Ссылка: Нет

Флаг Трассировки: 208

Недокументированный флаг трассировки
Назначение: SET QUOTED IDENTIFIER ON
Ссылка: Нет

Флаг Трассировки: 210

Назначение: SQL 9 – Error when you run a query against a view: "An error occurred while executing batch"
Ссылка: https://support.microsoft.com/help/945892

Флаг Трассировки: 212

Недокументированный флаг трассировки
Назначение: SQL 9 – Query may run much slower when compared to SQL 8 when you use a cursor to run the query
Ссылка: Нет

Флаг Трассировки: 220

Недокументированный флаг трассировки
Назначение: “FIX: Error Message: "Insufficient key column information for updating" Occurs in SQL Server 2000 SP3”
Ссылка: Нет

Флаг Трассировки: 221

Недокументированный флаг трассировки
Назначение: “FIX: The query runs slower than you expected when you try to parse a query in SQL Server 2000”
Ссылка: Нет

Флаг Трассировки: 222

Недокументированный флаг трассировки
Назначение: “FIX: Each query takes a long time to compile when you execute a single query or when you execute multiple concurrent queries in SQL Server 2000”
Ссылка: Нет

Флаг Трассировки: 237

Недокументированный флаг трассировки
Назначение: Tells SQL Server to use correlated sub-queries in Non-ANSI standard backward compatibility mode
Ссылка: Нет

Флаг Трассировки: 242

Недокументированный флаг трассировки
Назначение: Provides backward compatibility for correlated subqueries where non-ANSI-standard results are desired
Ссылка: Нет

Флаг Трассировки: 243

Недокументированный флаг трассировки
Назначение: Provides backward compatibility for nullability behavior. When set, SQL Server has the same nullability violation behavior as that of a ver 4.2: Processing of the entire batch is terminated if the nullability error (inserting NULL into a NOT NULL field) can be detected at compile time; Processing of offending row is skipped, but the command continues if the nullability violation is detected at run time.Behavior of SQL Server is now more consistent because nullability checks are made at run time and a nullability violation results in the command terminating and the batch or transaction process continuing.
Ссылка: Нет

Флаг Трассировки: 244

Недокументированный флаг трассировки
Назначение: Disables checking for allowed interim constraint violations. By default, SQL Server checks for and allows interim constraint violations. An interim constraint violation is caused by a change that removes the violation such that the constraint is met, all within a single statement and transaction. SQL Server checks for interim constraint violations for self-referencing DELETE statements, INSERT, and multi-row UPDATE statements. This checking requires more work tables. With this trace flag you can disallow interim constraint violations, thus requiring fewer work tables.
Ссылка: Нет

Флаг Трассировки: 246

Недокументированный флаг трассировки
Назначение: Derived or NULL columns must be explicitly named in a select…INTO or create view statement when not done they raise an error. This flag avoids that.
Ссылка: Нет

Флаг Трассировки: 253

Недокументированный флаг трассировки
Назначение: Prevents ad-hoc query plans to stay in cache
Ссылка: http://www.sqlservercentral.com/Forums/Topic837613-146-1.aspx

Флаг Трассировки: 257

Недокументированный флаг трассировки
Назначение: Will invoke a print algorithm on the XML output before returning it to make the XML result more readable
Ссылка: Нет

Флаг Трассировки: 260

Назначение: Prints versioning information about extended stored procedure dynamic-link libraries (DLLs). For more information about GetXpVersion().
Ссылка: https://docs.microsoft.com/en-us/sql/relational-databases/extended-stored-procedures-programming/creating-extended-stored-procedures
Ссылка: Docs Trace Flags
Способ применения: global or session

Флаг Трассировки: 262

Недокументированный флаг трассировки
Назначение: SQL 7 – Trailing spaces are no longer truncated from literal strings in CASE statements
Ссылка: Нет

Флаг Трассировки: 272

Note: Critical only for SQL Server 2012 Назначение: Disabling the identity cache. It prevents identity gap after restarting SQL Server 2012 instance, critical for columns with identity and tinyint and smallint data types.
Ссылка: http://www.big.info/2013/01/how-to-solve-sql-server-2012-identity.html
Ссылка: https://connect.microsoft.com/SQLServer/feedback/details/739013/failover-or-restart-results-in-reseed-of-identity
Ссылка: https://dbafromthecold.com/2017/05/24/disabling-the-identity-cache-in-sql-server-2017/
Ссылка: Demo

Флаг Трассировки: 274

Недокументированный флаг трассировки
Назначение: “FIX: Error message when you insert a new row into a view in SQL Server 2005: Cannot insert explicit value for identity column in table when IDENTITY_INSERT is set to OFF”
Ссылка: Нет

Флаг Трассировки: 302

Недокументированный флаг трассировки
Назначение: Output Index Selection info
Ссылка: http://www.databasejournal.com/features/mssql/article.php/1443351/SQL-Server-65-Some-Useful-Trace-Flags.htm

Флаг Трассировки: 304

Недокументированный флаг трассировки
Назначение: Changed the reported CachedPlanSize.
Ссылка: New Undocumented Trace Flags
Способ применения: ?

Флаг Трассировки: 310

Недокументированный флаг трассировки
Назначение: Outputs info about actual join order
Ссылка: http://www.databasejournal.com/features/mssql/article.php/1443351/SQL-Server-65-Some-Useful-Trace-Flags.htm

Флаг Трассировки: 320

Недокументированный флаг трассировки
Назначение: Disables join-order heuristics used in ANSI joins. To see join-order heuristics use flag 310. SQL Server uses join-order heuristics to reduce of permutations when using the best join order.
Ссылка: Нет

Флаг Трассировки: 323

Назначение: Outputs detailed info about updates
Ссылка: http://www.databasejournal.com/features/mssql/article.php/1443351/SQL-Server-65-Some-Useful-Trace-Flags.htm
Ссылка: https://support.microsoft.com/help/153096/fix-sql-server-6.5-service-pack-1-fixlist

Флаг Трассировки: 325

Недокументированный флаг трассировки
Назначение: Prints information about the cost of using a non-clustered index or a sort to process an ORDER BY clause
Ссылка: Нет

Флаг Трассировки: 326

Недокументированный флаг трассировки
Назначение: Prints information about estimated & actual costs of sorts. Instructs server to use arithmetic averaging when calculating density instead of a geometric weighted average when updating statistics. Useful for building better stats when an index has skew on the leading column. Use only for updating the stats of a table/index with known skewed data.
Ссылка: Нет

Флаг Трассировки: 330

Недокументированный флаг трассировки
Назначение: Enables full output when using the SET SHOWPLAN_ALL option, which gives detailed information about joins
Ссылка: Нет

Флаг Трассировки: 342

Недокументированный флаг трассировки
Назначение: Disables the costing of pseudo-merge joins, thus significantly reducing time spent on the parse for certain types of large, multi-table joins. One can also use SET FORCEPLAN ON to disable the costing of pseudo-merge joins because the query is forced to use the order specified in the FROM clause.
Ссылка: Нет

Флаг Трассировки: 345

Недокументированный флаг трассировки
Назначение: Changes join order selection logic in SQL Server 6.5
Ссылка: http://www.databasejournal.com/features/mssql/article.php/1443351/SQL-Server-65-Some-Useful-Trace-Flags.htm

Флаг Трассировки: 445

Недокументированный флаг трассировки
Назначение: Prints ”compile issued” message in the errorlog for each compiled statement, when used together with 3605
Ссылка: Нет

Флаг Трассировки: 506

Недокументированный флаг трассировки
Назначение: Enforces SQL-92 standards regarding null values for comparisons between variables and parameters. Any comparison of variables and parameters that contain a NULL always results in a NULL.
Ссылка: Нет

Флаг Трассировки: 610

Назначение: Controls minimally logged inserts into indexed tables.
Ссылка: http://msdn.microsoft.com/en-us/library/dd425070%28v=SQL.100%29.aspx
Ссылка: https://www.pythian.com/blog/minimally-logged-operations-data-loads/
Ссылка: https://msdn.microsoft.com/library/dd425070.aspx
Ссылка: Docs Trace Flags
Ссылка: https://orderbyselectnull.com/2017/07/10/trace-flag-610-and-sql-server-2016/
Способ применения: global or session

Флаг Трассировки: 611

Недокументированный флаг трассировки
Назначение: SQL 9 – When turned on, each lock escalation is recorded in the error log along with the SQL Server handle number. Aaron confirmed this still works in SQL 2014. Outputs info of the form: "Escalated locks - Reason: LOCK_THRESHOLD, Mode: S, Granularity: TABLE, Table: 222623836, HoBt: 150:256, HoBt Lock Count: 6248, Escalated Lock Count: 6249, Line Number: 1, Start Offset: 0, SQL Statement: select count(*) from dbo.BigTable"
Ссылка: Нет

Флаг Трассировки: 617

Назначение: SQL 9 – When turned on, each lock escalation is recorded in the error log along with the SQL Server handle number. As long as there are no SCH_M lock requests waiting in the ‘lock wait list’, the ‘lock wait list’ will be bypassed by statements issued in uncommitted read transaction isolation level. If there is a SCH_M lock request in the ‘lock wait list’, a query in uncommitted read transaction isolation level will not bypass the ‘lock wait list’, but the SCH_S lock request will go into the ‘lock wait list’. In order behind the SCH_M lock waiting in the same list. As a result the grant of the SCH_S request for such a query is dependent on the grant and release of the SCH_M lock request entering the ‘lock wait list’ earlier.
Ссылка: https://blogs.msdn.microsoft.com/saponsqlserver/2014/01/17/new-functionality-in-sql-server-2014-part-3-low-priority-wait/

Флаг Трассировки: 634

Назначение: Disables the background columnstore compression task. SQL Server periodically runs the Tuple Mover background task that compresses columnstore index rowgroups with uncompressed data, one such rowgroup at a time. Columnstore compression improves query performance but also consumes system resources. You can control the timing of columnstore compression manually, by disabling the background compression task with trace flag 634, and then explicitly invoking ALTER INDEX REORGANIZE or ALTER INDEX REBUILD at the time of your choice.
Ссылка: Niko Neugebauer Columnstore Indexes – part 35
Ссылка: Docs Trace Flags
Способ применения: global only

Флаг Трассировки: 646

Назначение: Serves for getting detailed information on which Columnstore were eliminated by the Query Optimiser right into the error log.
Ссылка: Niko Neugebauer Columnstore Indexes – part 35
Ссылка: http://www.sqlskills.com/blogs/joe/exploring-columnstore-index-metadata-segment-distribution-and-elimination-behaviors

Флаг Трассировки: 647

Назначение: Avoids a new-in-SQL 2012 data check (done when adding a column to a table) that can cause ALTER TABLE... ADD operations to take a very long time. The KB has a useful query for determining the row size for a table.
Ссылка: https://support.microsoft.com/help/2986423/fix-it-takes-a-long-time-to-add-new-columns-to-a-table-when-the-row-size-exceeds-the-maximum-allowed-size

Флаг Трассировки: 652

Назначение: Disable page pre-fetching scans. If you turn on trace flag 652, SQL Server no longer brings database pages into the buffer pool before these database pages are consumed by the scans. If you turn on trace flag 652, queries that benefit from the page pre-fetching feature exhibit low performance.
Ссылка: KB920093
Ссылка: Docs Trace Flags
Способ применения: global or session

Флаг Трассировки: 653

Недокументированный флаг трассировки
Назначение: Disables read ahead for the current connection
Ссылка: Нет

Флаг Трассировки: 661

Назначение: Disables the ghost record removal process. A ghost record is the result of a delete operation. When you delete a record, the deleted record is kept as a ghost record. Later, the deleted record is purged by the ghost record removal process. When you disable this process, the deleted record is not purged. Therefore, the space that the deleted record consumes is not freed. This behavior affects space consumption and the performance of scan operations.
Ссылка: KB920093
Ссылка: Docs Trace Flags
Способ применения: global or session

Флаг Трассировки: 662

Недокументированный флаг трассировки
Назначение: Prints detailed information about the work done by the ghost cleanup task when it runs next. Use TF 3605 to see the output in the errorlog
Ссылка: http://blogs.msdn.com/b/sqljourney/archive/2012/07/28/an-in-depth-look-at-ghost-records-in-sql-server.aspx

Флаг Трассировки: 669

Назначение: “...prevents user queries from queuing requests to the ghost cleanup process”. This flag is a workaround for stack dumps occurring right after SQL Server startup, where user queries (that queue pages for ghost cleanup) were running so quickly after SQL startup that they were queuing pages before the ghost cleanup process had actually initialized.
Ссылка: https://support.microsoft.com/help/3027860/error-17066-or-17310-during-sql-server-startup

Флаг Трассировки: 683

Недокументированный флаг трассировки
Назначение: According to the KB, used to workaround a bug in SQL 2000 SP3 by reverting to pre-SP3 parallel-scan behavior in parallel queries. Database-Wiki.com: “Disallow row counter and column mod counters to be partitioned”
Ссылка: Нет

Флаг Трассировки: 692

Назначение: Disables fast inserts while bulk loading data into heap or clustered index. Starting SQL Server 2016, fast inserts is enabled by default leveraging minimal logging when database is in simple or bulk logged recovery model to optimize insert performance for records inserted into new pages. With fast inserts, each bulk load batch acquires new extent(s) bypassing the allocation lookup for existing extent with available free space to optimize insert performance. With fast inserts, bulk loads with small batch sizes can lead to increased unused space consumed by objects hence it is recommended to use large batch size for each batch to fill the extent completely. If increasing batch size is not feasible, this trace flag can help reduce unused space reserved at the expense of performance.
Note: This trace flag applies to SQL Server 2016 RTM and higher builds. Ссылка: https://blogs.msdn.microsoft.com/sql_server_team/sql-server-2016-minimal-logging-and-impact-of-the-batchsize-in-bulk-load-operations/
Способ применения: global or session

Флаг Трассировки: 698

Недокументированный флаг трассировки
Назначение: SQL 9 – Performance of INSERT operations against a table with an identity column may be slow when compared to SQL 8
Ссылка: Нет

Флаг Трассировки: 699

Недокументированный флаг трассировки
Назначение: Turn off transaction logging for the entire SQL dataserver
Ссылка: Нет

Флаг Трассировки: 670, 671

Недокументированный флаг трассировки
Назначение: Disables deferred deallocation. But note Paul White’s comment on the post! The flag # may actuall by 671.
Ссылка: Controlling SQL Server memory dumps

Флаг Трассировки: 715

Назначение: Enables table lock for bulk load operations into a heap with no non-clustered indexes. When this trace flag is enabled, bulk load operations acquire bulk update (BU) locks when bulk copying data into a table. Bulk update (BU) locks allow multiple threads to bulk load data concurrently into the same table, while preventing other processes that are not bulk loading data from accessing the table. The behavior is similar to when the user explicitly specifies TABLOCK hint while performing bulk load, or when the sp_tableoption table lock on bulk load is enabled for a given table. However, when this trace flag is enabled, this behavior becomes default without any query or database changes.
Ссылка: Docs Trace Flags
Способ применения: global or session

Флаг Трассировки: 806

Назначение: enables DBCC audit checks to be performed on pages to test for logical consistency problems. These checks try to detect when a read operation from a disk does not experience any errors but the read operation returns data that is not valid. Pages will be audited every time that they are read from disk. Page auditing can affect performance and should only be used in systems where data stability is in question.
Ссылка: http://technet.microsoft.com/en-au/library/cc917726.aspx
Ссылка: http://www.sqlskills.com/blogs/paul/how-to-tell-if-the-io-subsystem-is-causing-corruptions
Ссылка: Important Trace Flags That Every DBA Should Know
Ссылка: https://technet.microsoft.com/en-au/library/cc917726.aspx
Способ применения: ?

Флаг Трассировки: 809

Недокументированный флаг трассировки
Назначение: SQL 8 – Limits the amount of Lazy write activity
Ссылка: Нет

Флаг Трассировки: 815

Назначение: SQL 8/9 – Enables latch enforcement. SQL Server 8 (with service pack 4) and SQL Server 9 can perform latch enforcement for data pages found in the buffer pool cache. Latch enforcement changes the virtual memory protection state while database page status changes from "clean" to "dirty" ("dirty" means modified through INSERT, UPDATE or DELETE operation). If an attempt is made to modify a data page while latch enforcement is set, it causes an exception and creates a mini-dump in SQL Server installation's LOG directory. Microsoft support can examine the contents of such mini-dump to determine the cause of the exception. In order to modify the data page the connection must first acquire a modification latch. Once the data modification latch is acquired the page protection is changed to read-write. Once the modification latch is released the page protection changes back to read-only.
Ссылка: https://technet.microsoft.com/en-us/library/cc966500.aspx
Ссылка: https://blogs.msdn.microsoft.com/psssql/2012/11/12/how-can-reference-counting-be-a-leading-memory-scribbler-cause

Флаг Трассировки: 818

Назначение: Turn on ringbuffer to store info about IO write operations. Used to troubleshoot IO problems
Ссылка: https://support.microsoft.com/help/826433/
Ссылка: https://technet.microsoft.com/en-us/library/cc966500.aspx
Ссылка: https://support.microsoft.com/help/828339/
Ссылка: Important Trace Flags That Every DBA Should Know
Способ применения: ?

Флаг Трассировки: 822

Недокументированный флаг трассировки
Назначение: A workaround for SQL 2000 over-committing memory on the machine
Ссылка: Нет

Флаг Трассировки: 825

Недокументированный флаг трассировки
Назначение: In SQL 2000, enables Buffer Pool support for NUMA. TF 888 must be used.
Ссылка: Нет

Флаг Трассировки: 828

Назначение: SQL 8 - When enabled checkpoint ignores the recovery interval target and keeps steady I/O otherwise it uses recovery interval setting as a target for the length of time that checkpoint will take
Ссылка: https://support.microsoft.com/help/906121 Ссылка: https://blogs.msdn.microsoft.com/psssql/2008/04/11/how-it-works-sql-server-checkpoint-flushcache-outstanding-io-target/

Флаг Трассировки: 830

Назначение: SQL 9 – Disable the reporting of CPU Drift errors in the SQL Server errorlog like SQL Server has encountered 2 occurrence(s) of I/O requests taking longer than 15 seconds to complete
Ссылка: https://support.microsoft.com/help/897284
Ссылка: https://technet.microsoft.com/en-us/library/aa175396(v=SQL.80).aspx

Флаг Трассировки: 831

Недокументированный флаг трассировки
Назначение: Protect unchanged pages in the buffer pool to catch memory corruptions
Ссылка: Нет

Флаг Трассировки: 834

Назначение: Uses Microsoft Windows large-page allocations for the buffer pool. Trace flag 834 causes SQL Server to use Microsoft Windows large-page allocations for the memory that is allocated for the buffer pool. The page size varies depending on the hardware platform, but the page size may be from 2 MB to 16 MB. Large pages are allocated at startup and are kept throughout the lifetime of the process. Trace flag 834 improves performance by increasing the efficiency of the translation look-aside buffer (TLB) in the CPU.
Note: If you are using the Columnstore Index feature of SQL Server 2012 to SQL Server 2016, we do not recommend turning on trace flag 834.
Ссылка: KB920093
Ссылка: https://support.microsoft.com/help/3210239
Ссылка: Docs Trace Flags
Способ применения: global only

Флаг Трассировки: 835

Недокументированный флаг трассировки
Назначение: SQL 9 / 10 – On 64 bit SQL Server it turns off Lock pages in memory
Ссылка: Нет
Способ применения: ?

Флаг Трассировки: 836

Назначение: Trace flag 836 causes SQL Server to size the buffer pool at startup based on the value of the max server memory option instead of based on the total physical memory. You can use trace flag 836 to reduce the number of buffer descriptors that are allocated at startup in 32-bit Address Windowing Extensions (AWE) mode. Trace flag 836 applies only to 32-bit versions of SQL Server that have the AWE allocation enabled. You can turn on trace flag 836 only at startup.
Ссылка: KB920093
Ссылка: https://blogs.msdn.microsoft.com/psssql/2012/12/11/how-it-works-sql-server-32-bit-paeawe-on-sql-2005-2008-and-2008-r2-not-using-as-much-ram-as-expected/
Способ применения: global only

Флаг Трассировки: 839

Назначение: (Apparently) forces SQL Server to treate all NUMA memory as “flat”, as if it was SMP.
Ссылка: https://blogs.msdn.microsoft.com/psssql/2010/04/02/how-it-works-soft-numa-io-completion-thread-lazy-writer-workers-and-memory-nodes

Флаг Трассировки: 840

Назначение: SQL 9 – When trace turned on, SQL Server can perform larger I/O extent reads to populate the buffer pool when SQL Server starts this populates the buffer pool faster. Additionally, the larger I/O extent reads improve the initial query compilation and the response time when SQL Server starts.
Ссылка: https://blogs.msdn.microsoft.com/ialonso/2011/12/09/the-read-ahead-that-doesnt-count-as-read-ahead

Флаг Трассировки: 842

Недокументированный флаг трассировки
Назначение: Use sys.dm_os_memory_node_access_stats to verify local vs. foreign memory under NUMA configurations after turning on this flag
Ссылка: Нет

Флаг Трассировки: 845

Назначение: Enable Lock pages in Memory on Standard Edition
Ссылка: https://support.microsoft.com/help/970070
Ссылка: https://support.microsoft.com/help/2708594/fix-locked-page-allocations-are-enabled-without-any-warning-after-you-upgrade-to-sql-server-2012

Недокументированный флаг трассировки

Флаг Трассировки: 851

Назначение: According to Bob Ward’s PASS 2014 talk on SQL Server IO, “disable[s] BPE even if enabled via ALTER SERVER”
Ссылка: Нет

Флаг Трассировки: 861

Недокументированный флаг трассировки
Назначение: According to the error log this disables buffer pool extension.
Ссылка: New Undocumented Trace Flags
Способ применения: ?

Флаг Трассировки: 862

Недокументированный флаг трассировки
Назначение: According to the error log this enables buffer pool extension. This TF probably doesn’t do anything anymore.
Ссылка: New Undocumented Trace Flags
Способ применения: ?

Недокументированный флаг трассировки

Флаг Трассировки: 888

Назначение: Enables support for locked pages for SQL 2000
Ссылка: Нет

Флаг Трассировки: 902

Назначение: Bypasses execution of database upgrade script when installing a Cumulative Update or Service Pack. If you encounter an error during script upgrade mode, it is recommended to contact Microsoft SQL Customer Service and Support (CSS) for further guidance.
Warning: This trace flag is meant for troubleshooting of failed updates during script upgrade mode, and it is not supported to run it continuously in a production environment. Database upgrade scripts needs to execute successfully for a complete install of Cumulative Updates and Service Packs. Not doing so can cause unexpected issues with your SQL Server instance.
Ссылка: https://support.microsoft.com/help/2163980
Ссылка: Docs Trace Flags
Ссылка: https://blogs.msdn.microsoft.com/luti/2017/05/17/sql-server-offline-after-applying-service-pack/
Способ применения: global only

Флаг Трассировки: 916

Недокументированный флаг трассировки
Назначение: The KB article references the flag in the context of seeing a Profiler dump
Ссылка: Нет

Флаг Трассировки: 1106

Назначение: SQL 9 - Used space in tempdb increases continuously when you run a query that creates internal objects in tempdb
Ссылка: https://support.microsoft.com/help/947204
Ссылка: https://blogs.msdn.microsoft.com/arvindsh/2014/02/24/tracking-tempdb-internal-object-space-usage-in-sql-2012

Флаг Трассировки: 1117

Назначение: When a file in the filegroup meets the autogrow threshold, all files in the filegroup grow.
Note: Beginning with SQL Server 2016 this behavior is controlled by the AUTOGROW_SINGLE_FILE and AUTOGROW_ALL_FILES option of ALTER DATABASE, and trace flag 1117 has no affect. For more information, see ALTER DATABASE File and Filegroup Options (Transact-SQL).
Ссылка: https://www.littlekendra.com/2017/01/03/parallelism-and-tempdb-data-file-usage-in-sql-server/
Ссылка: SQL Server 2016 : Getting tempdb a little more right
Ссылка: Docs Trace Flags
Ссылка: http://www.sqlskills.com/blogs/paul/tempdb-configuration-survey-results-and-advice
Ссылка: https://blogs.msdn.microsoft.com/ialonso/2011/12/01/attempt-to-grow-all-files-in-one-filegroup-and-not-just-the-one-next-in-the-autogrowth-chain-using-trace-flag-1117
Ссылка: http://sql-articles.com/articles/general/day-6trace-flag-1117-auto-grow-equally-in-all-data-file
Ссылка: http://www.ryanjadams.com/2017/05/trace-flag-1117-growth-contention/
Ссылка: https://www.sqlskills.com/blogs/paul/misconceptions-around-tf-1118/
Способ применения: global only

Флаг Трассировки: 1118

Назначение: Removes most single page allocations on the server, reducing contention on the SGAM page. When a new object is created, by default, the first eight pages are allocated from different extents (mixed extents). Afterwards, when more pages are needed, those are allocated from that same extent (uniform extent). The SGAM page is used to track these mixed extents, so can quickly become a bottleneck when numerous mixed page allocations are occurring. This trace flag allocates all eight pages from the same extent when creating new objects, minimizing the need to scan the SGAM page.
Note: Beginning with SQL Server 2016 this behavior is controlled by the SET MIXED_PAGE_ALLOCATION option of ALTER DATABASE, and trace flag 1118 has no affect. For more information, see ALTER DATABASE SET Options (Transact-SQL).
Ссылка: http://blogs.msdn.com/b/psssql/archive/2008/12/17/sql-server-2005-and-2008-trace-flag-1118-t1118-usage.aspx
Ссылка: http://www.sqlskills.com/blogs/paul/misconceptions-around-tf-1118/
Ссылка: https://support.microsoft.com/help/328551
Ссылка: SQL Server 2016 : Getting tempdb a little more right
Ссылка: Docs Trace Flags
Ссылка: https://chrisadkin.org/2015/04/14/well-known-and-not-so-well-known-sql-server-tuning-knobs-and-switches
Способ применения: global only

Флаг Трассировки: 1119

Назначение: Turns off mixed extent allocation (Similar to 1118?)
Ссылка: TECHNET List Of SQL Server Trace Flags

Флаг Трассировки: 1124

Недокументированный флаг трассировки
Назначение: Unknown. Has been reportedly found turned on in some SQL Server instances running Dynamics AX. Also rumored to be invalid in public builds of SQL Server
Ссылка: Нет

Флаг Трассировки: 1140

Недокументированный флаг трассировки
Назначение: A workaround for a bug in SQL 2005 SP2, SP3, and SQL 2008, where mixed page allocations climb continually, due to a change in the way that mixed-page allocations are done.
Ссылка: Нет

Флаг Трассировки: 1165

Недокументированный флаг трассировки
Назначение: This presentation by Bob Ward says that this TF outputs the recalculated #’s (every 8192 allocations) for the proportional fill algorithm in database allocation when multiple files are present..
Ссылка: Нет

Флаг Трассировки: 1180

Недокументированный флаг трассировки
Назначение: SQL 7 - Forces allocation to use free pages for text or image data and maintain efficiency of storage. Helpful in case when DBCC SHRINKFILE and SHRINKDATABASE commands may not work because of sparsely populated text, ntext, or image columns.
Ссылка: Нет

Флаг Трассировки: 1197

Недокументированный флаг трассировки
Назначение: Applies only in the case of SQL 7 – SP3, similar with trace flag 1180
Ссылка: Нет

Флаг Трассировки: 1200

Назначение: Prints detailed lock information as every request for a lock is made (the process ID and type of lock requested)
Ссылка: TECHNET List Of SQL Server Trace Flags
Ссылка: https://blogs.msdn.microsoft.com/sqlserverstorageengine/2008/03/30/tempdb-table-variable-vs-local-temporary-table
Ссылка: https://support.microsoft.com/help/169960/inf-analyzing-and-avoiding-deadlocks-in-sql-server
Ссылка: Important Trace Flags That Every DBA Should Know
Способ применения: ?

Флаг Трассировки: 1202

Недокументированный флаг трассировки
Назначение: Insert blocked lock requests into syslocks
Ссылка: Нет

Флаг Трассировки: 1204

Назначение: Returns the resources and types of locks participating in a deadlock and also the current command affected. Writes information about deadlocks to the ERRORLOG in a "text format"
Ссылка: https://support.microsoft.com/help/832524
Ссылка: Docs Trace Flags
Ссылка: Important Trace Flags That Every DBA Should Know
Способ применения: global only

Флаг Трассировки: 1205

Назначение: More detailed information about the command being executed at the time of a deadlock. Documented in SQL 7 BOL.
Ссылка: https://support.microsoft.com/help/832524/sql-server-technical-bulletin---how-to-resolve-a-deadlock

Флаг Трассировки: 1206

Назначение: Used to complement flag 1204 by displaying other locks held by deadlock parties
Ссылка: https://support.microsoft.com/help/169960/inf-analyzing-and-avoiding-deadlocks-in-sql-server

Флаг Трассировки: 1208

Назначение: KB: “Prints the host name and program name supplied by the client. This can help identify a client involved in a deadlock, assuming the client specifies a unique value for each connection.”
Ссылка: https://support.microsoft.com/help/169960/inf-analyzing-and-avoiding-deadlocks-in-sql-server

Флаг Трассировки: 1211

Назначение: Disables lock escalation based on memory pressure, or based on number of locks. The SQL Server Database Engine will not escalate row or page locks to table locks. Using this trace flag can generate excessive numbers of locks. This can slow the performance of the Database Engine, or cause 1204 errors (unable to allocate lock resource) because of insufficient memory. If both trace flag 1211 and 1224 are set, 1211 takes precedence over 1224. However, because trace flag 1211 prevents escalation in every case, even under memory pressure, we recommend that you use 1224. This helps avoid "out-of-locks" errors when many locks are being used.
Ссылка: Docs Trace Flags
Ссылка: http://www.sqlskills.com/blogs/paul/a-sql-server-dba-myth-a-day-2330-lock-escalation
Ссылка: Important Trace Flags That Every DBA Should Know
Способ применения: global or session

Флаг Трассировки: 1216

Недокументированный флаг трассировки
Назначение: SQL 7 - Disables Health reporting. Lock monitor when detects a (worker thread) resource level blocking scenario. If a SPID that owns a lock is currently queued to the scheduler, because all the assigned worker threads have been created and all the assigned worker threads are in an un-resolvable wait state, the following error message is written to the SQL Server error log: Error 1223: Process ID %d:%d cannot acquire lock "%s" on resource %s because a potential deadlock exists on Scheduler %d for the resource. Process ID %d:% d holds a lock "%h" on this resource.
Ссылка: Нет

Флаг Трассировки: 1217

Недокументированный флаг трассировки
Назначение: Disables (for 7.0) the “UMS Health” reporting messages described in the KB article.
Ссылка: Нет

Флаг Трассировки: 1222

Назначение: Returns the resources and types of locks that are participating in a deadlock and also the current command affected, in an XML format that does not comply with any XSD schema.
Ссылка: Docs Trace Flags
Ссылка: https://blog.sqlauthority.com/2017/01/09/sql-server-get-historical-deadlock-information-system-health-extended-events
Ссылка: Important Trace Flags That Every DBA Should Know
Способ применения: global only

Флаг Трассировки: 1224

Назначение: Disables lock escalation based on the number of locks. However, memory pressure can still activate lock escalation. The Database Engine escalates row or page locks to table (or partition) locks if the amount of memory used by lock objects exceeds one of the following conditions:

Флаг Трассировки: 1228

Назначение: Enable lock partitioning. By default, lock partitioning is enabled when a server has 16 or more CPUs. Otherwise, lock partitioning is disabled. Trace flag 1228 enables lock partitioning for 2 or more CPUs. Trace flag 1229 disables lock partitioning. Trace flag 1229 overrides trace flag 1228 if trace flag 1228 is also set. Lock partitioning is useful on multiple-CPU servers where some tables have very high lock rates. You can turn on trace flag 1228 and trace flag 1229 only at startup.
Ссылка: Trace Flag 1228 and 1229
Ссылка: Microsoft SQL Server 2005 TPC-C Trace Flags

Флаг Трассировки: 1229

Назначение: Enable lock partitioning. By default, lock partitioning is enabled when a server has 16 or more CPUs. Otherwise, lock partitioning is disabled. Trace flag 1228 enables lock partitioning for 2 or more CPUs. Trace flag 1229 disables lock partitioning. Trace flag 1229 overrides trace flag 1228 if trace flag 1228 is also set. Lock partitioning is useful on multiple-CPU servers where some tables have very high lock rates. You can turn on trace flag 1228 and trace flag 1229 only at startup.
Ссылка: Trace Flag 1228 and 1229
Ссылка: Microsoft SQL Server 2005 TPC-C Trace Flags

Флаг Трассировки: 1236

Назначение: Enables database lock partitioning. Fixes performance problem in scenarios with high lock activity in SQL 2012 and SQL 2014.
Note: Beginning with SQL Server 2012 SP3 and SQL Server 2014 SP1 this behavior is controlled by the engine and trace flag 1236 has no effect.
Ссылка: https://support.microsoft.com/help/2926217
Ссылка: Docs Trace Flags
Способ применения: global only

Флаг Трассировки: 1237

Назначение: Allows the ALTER PARTITION FUNCTION statement to honor the current user-defined session deadlock priority instead of being the likely deadlock victim by default.
Note: Starting with SQL Server 2017 and database compatibility level 140 this is the default behavior and trace flag 1237 has no effect.
Ссылка: https://support.microsoft.com/help/4025261
Ссылка: Docs Trace Flags
Способ применения: global or session or query

Флаг Трассировки: 1260

Назначение: Disabled mini-dump for non-yield condition. Disables mini-dump generation for "any of the 17883, 17884, 17887, or 17888 errors. The trace flag can be used in conjunction with trace flag –T1262. For example, you could enable –T1262 to get 10- and a 60-second interval reporting and also enable – T1260 to avoid getting mini-dumps."
Ссылка: A Topical Collection of SQL Server Flags v6
Ссылка: How To Diagnose and Correct Errors 17883, 17884, 17887, and 17888
Ссылка: Docs Trace Flags
Способ применения: global only

Флаг Трассировки: 1261

Недокументированный флаг трассировки
Назначение: SQL 8 - Disables Health reporting. Lock monitor when detects a (worker thread) resource level blocking scenario. If a SPID that owns a lock is currently queued to the scheduler, because all the assigned worker threads have been created and all the assigned worker threads are in an un-resolvable wait state, the following error message is written to the SQL Server error log: Error 1229: Process ID %d:%d owns resources that are blocking processes on scheduler %d.
Ссылка: Нет

Флаг Трассировки: 1262

Назначение: The default behavior (for 1788* errors) is for SQL to generate a mini-dump on the first occurrence, but never after. 1262 changes the behavior: “When –T1262 is enabled, a mini-dump is generated when the non-yielding condition is declared (15 seconds) and at subsequent 60-second intervals for the same non-yield occurrence. A new nonDiagCorrect17883etc; yielding occurrence causes dump captures to occur again.” In SQL 2000 this was a startup-only flag; in 2005+ it can be enabled via TRACEON. Note that the flag is also covered in Khen2005, p400, but with no new information.
Ссылка: A Topical Collection of SQL Server Flags v6
Ссылка: How To Diagnose and Correct Errors 17883, 17884, 17887, and 17888

Флаг Трассировки: 1264

Назначение: Collect process names in non-yielding scenario memory dumps
Ссылка: A Topical Collection of SQL Server Flags v6
Ссылка: https://support.microsoft.com/help/2630458/

Флаг Трассировки: 1400

Назначение: SQL 9 RTM – Enables creation of database mirroring endpoint, which is required for setting up and using database mirroring
Ссылка: Нет

Флаг Трассировки: 1439

Назначение: Trace database restart and failover messages to SQL Errorlog for mirrored databases
Ссылка: Trace flags in sql server from trace flag 902 to trace flag 1462

Флаг Трассировки: 1448

Назначение: Enables the replication log reader to move forward even if the async secondaries have not acknowledged the reception of a change. Even with this trace flag enabled the log reader always waits for the sync secondaries. The log reader will not go beyond the min ack of the sync secondaries. This trace flag applies to the instance of SQL Server, not just an availability group, an availability database, or a log reader instance. Takes effect immediately without a restart. This trace flag can be activated ahead of time or when an async secondary fails.
Ссылка: Docs Trace Flags
Способ применения: global only

Флаг Трассировки: 1449

Назначение: When you use SNAC to connect to an instance of a principal server in a database mirroring session: "The connection attempted to fail over to a server that does not have a failover partner".
Ссылка: https://support.microsoft.com/help/936179

Флаг Трассировки: 1462

Назначение: Disables log stream compression for asynchronous availability groups. This feature is enabled by default on asynchronous availability groups in order to optimize network bandwidth.
Ссылка: Tune compression for availability group
Ссылка: Docs Trace Flags
Ссылка: http://www.sqlskills.com/blogs/paul/sql-server-2008-performance-boost-for-database-mirroring
Ссылка: http://sqlblog.com/blogs/joe_chang/archive/2014/03/13/hekaton-and-benchmarks.aspx
Способ применения: global only

Флаг Трассировки: 1482

Назначение: Prints information to the Error Log (3605 is not necessary) for a variety of transaction log operations are done, including when the MinLSN value is reset, when a VLF is formatted, etc.
Ссылка: Нет

Флаг Трассировки: 1504

Назначение: Dynamic memory grant expansion can also help with parallel index build plans where the distribution of rows across threads is uneven. The amount of memory that can be consumed this way is not unlimited, however. SQL Server checks each time an expansion is needed to see if the request is reasonable given the resources available at that time. Some insight to this process can be obtained by enabling undocumented trace flag 1504, together with 3604 (for message output to the console) or 3605 (output to the SQL Server error log). If the index build plan is parallel, only 3605 is effective because parallel workers cannot send trace messages cross-thread to the console.
Ссылка: Internals of the Seven SQL Server Sorts – Part 1

Флаг Трассировки: 1603

Назначение: Use standard disk I/O (i.e. turn off asynchronous I/O)
Ссылка: Нет

Флаг Трассировки: 1604

Назначение: Once enabled at start up makes SQL Server output information regarding memory allocation requests
Ссылка: Нет

Флаг Трассировки: 1609

Назначение: Turns on the unpacking and checking of RPC information in Open Data Services. Used only when applications depend on the old behavior.
Ссылка: Нет

Флаг Трассировки: 1610

Назначение: Boot the SQL dataserver with TCP_NODELAY enabled
Ссылка: Нет

Флаг Трассировки: 1611

Назначение: If possible, pin shared memory -- check errorlog for success/failure
Ссылка: Нет

Флаг Трассировки: 1613

Назначение: Set affinity of the SQL data server engine's onto particular CPUs -- usually pins engine 0 to processor 0, engine 1 to processor 1...
Ссылка: Нет

Флаг Трассировки: 1615

Назначение: Khen2005, page 385 (paraphrased): directs SQL to use threads instead of fiber even if the “lightweight pooling” config option is on. (Apparently, sometimes SQL wouldn’t start successfully when using lightweight pooling, and so this lets you get SQL up and running, so that you can turn the config option off)
Ссылка: Нет

Флаг Трассировки: 1704

Назначение: Prints information when a temporary table is created or dropped
Ссылка: Нет

Флаг Трассировки: 1717

Назначение: MSShipped bit will be set automatically at Create time when creating stored procedures
Ссылка: Нет

Флаг Трассировки: 1800

Назначение: Enables SQL Server optimization when disks of different sector sizes are used for primary and secondary replica log files, in SQL Server AG and Log Shipping environments.
Ссылка: https://support.microsoft.com/help/3009974
Ссылка: Docs Trace Flags
Способ применения: global only

Флаг Трассировки: 1802

Назначение: SQL 9 - After detaching a database that resides on network-attached storage, you cannot reattach the SQL Server database
Ссылка: https://support.microsoft.com/help/922804

Флаг Трассировки: 1806

Назначение: Disable Instant File Initialization. Used to guarantee the physical data file space acquisition during data file creation or expansion, on a thin provisioned subsystem
Ссылка: http://technet.microsoft.com/en-au/library/cc917726.aspx
Ссылка: https://blogs.msdn.microsoft.com/sql_pfe_blog/2009/12/22/how-and-why-to-enable-instant-file-initialization
Ссылка: http://www.sqlskills.com/blogs/paul/a-sql-server-dba-myth-a-day-330-instant-file-initialization-can-be-controlled-from-within-sql-server
Ссылка: https://support.microsoft.com/help/2574695/file-initialization-takes-a-long-time-for-sql-server-database-related-operations
Ссылка: Important Trace Flags That Every DBA Should Know
Способ применения: ?

Флаг Трассировки: 1807

Назначение: Enable option to have database files on SMB share for SQL Server 2008 and 2008R2
Ссылка: http://blogs.msdn.com/b/varund/archive/2010/09/02/create-a-sql-server-database-on-a-network-shared-drive.aspx
Ссылка: https://support.microsoft.com/help/304261/description-of-support-for-network-database-files-in-sql-server

Флаг Трассировки: 1808

Назначение: Directs SQL Server to ignore auto-closing databases even if the Auto-close property is set to ON. Must be set globally. Present in Yukon forward
Ссылка: https://blogs.msdn.microsoft.com/ialonso/2012/04/11/want-your-sql-server-to-simply-ignore-the-auto_close-setting-for-all-open-databases-for-which-it-has-been-enabled

Флаг Трассировки: 1810

Назначение: Prints the file create/open/close timings
Ссылка: Нет

Флаг Трассировки: 1816

Назначение: Bob Ward briefly references this flag in his PASS 2014 SQL Server IO talk, saying that it “could provide more details around errors” that occur with IO done to SQL data files in Azure Storage.
Ссылка: Нет

Флаг Трассировки: 1851

Назначение: Anecdotally, from a JustDave’s notes on an Amanda Ford talk at SQL Relay Reading 2014: “...disables the automerge functionality for in-memory oltp”
Ссылка: https://justdaveinfo.wordpress.com/2014/10/16/october-13-microsoft-sql-relay-reading

Флаг Трассировки: 1903

Назначение: SQL 8 - When you capture a SQL Profiler trace in a file and then you try to import the trace files into tables by using the fn_trace_gettable function no rows may be returned
Ссылка: Note

Флаг Трассировки: 1905

Назначение: Unknown
Ссылка: Upgrading an expired SQL Server 2016 Evaluation Edition

Флаг Трассировки: 2301

Назначение: Trace flag 2301 enables advanced optimizations that are specific to decision support queries. This option applies to decision support processing of large data sets.
Ссылка: KB920093
Ссылка: Docs Trace Flags
Ссылка: http://www.queryprocessor.com/ce_join_base_containment_assumption
Ссылка: https://connect.microsoft.com/SQLServer/feedback/details/772232/make-optimizer-estimations-more-accurate-by-using-metadata
Способ применения: global or session or query

Флаг Трассировки: 2309

Назначение: In SQL 2014, enables output from a 3rd parameter for DBCC SHOW_STATISTICS such that the partial statistics histogram (for just one partition) is shown.
Ссылка: https://sqlperformance.com/2015/05/sql-statistics/incremental-statistics-are-not-used-by-the-query-optimizer
Ссылка: http://blog.dbi-services.com/sql-server-2014-new-incremental-statistics

Флаг Трассировки: 2312

Назначение: Enables you to set the query optimizer cardinality estimation model to the SQL Server 2014 through SQL Server 2016 versions, dependent of the compatibility level of the database.
Ссылка: KB2801413
Ссылка: New Features in SQL Server 2016 Service Pack 1
Ссылка: Docs Trace Flags
Способ применения: global or session or query

Флаг Трассировки: 2315

Назначение: Aaron: I stumbled onto this one. Seems to output memory allocations taken during the compilation process (and maybe the plan as well? “PROCHDR”), as well as memory broker states & values at the beginning and end of compilation.
Ссылка: Нет

Флаг Трассировки: 2318

Назначение: Aaron: stumbled onto this one as well. I’ve only seen one type of output so far: “Optimization Stage: HEURISTICJOINREORDER”. Maybe useful in combo with other compilation trace flags to see the timing of join reordering?
Ссылка: Нет

Флаг Трассировки: 2324

Назначение: Disables Implied Predicates
Ссылка: https://answers.sqlperformance.com/questions/2299/why-not-seek-predicate.html?utm_content=buffer9bed5&utm_medium=social&utm_source=twitter.com&utm_campaign=buffer

Флаг Трассировки: 2328

Назначение: SQL 9+ - Makes cardinality estimates upon resulting selectivity. The reasoning for this is that one or more of the constants may be statement parameters, which would change from one execution of the statement to the next.
Ссылка: https://blogs.msdn.microsoft.com/ianjo/2006/03/28/disabling-constant-constant-comparison-estimation
Ссылка: http://www.queryprocessor.ru/isnumeric_ce_bug_eng

Флаг Трассировки: 2329

Назначение: Disables “Few Outer Rows” optimization
Ссылка: http://www.queryprocessor.com/few-outer-rows-optimization

Флаг Трассировки: 2330

Назначение: Query performance decreases when sys.dm_db_index_usage_stats has large number of rows
Ссылка: http://www.brentozar.com/archive/2015/11/trace-flag-2330-who-needs-missing-index-requests/
Ссылка: https://chrisadkin.org/2015/04/14/well-known-and-not-so-well-known-sql-server-tuning-knobs-and-switches/

Флаг Трассировки: 2332

Назначение: PWhite: “Force DML Request Sort (CUpdUtil::FDemandRowsSortedForPerformance)”
Ссылка: http://sqlblog.com/blogs/paul_white/archive/2013/01/26/optimizing-t-sql-queries-that-change-data.aspx

Флаг Трассировки: 2335

Назначение: Causes SQL Server to assume a fixed amount of memory is available during query optimization. It does not limit the memory SQL Server grants to execute the query. The memory configured for SQL Server will still be used by data cache, query execution and other consumers.
Note: Please ensure that you thoroughly test this option, before rolling it into a production environment.
Ссылка: https://support.microsoft.com/help/2413549
Ссылка: Docs Trace Flags
Ссылка: http://dba.stackexchange.com/questions/53726/difference-in-execution-plans-on-uat-and-prod-server
Способ применения: global or session or query

Флаг Трассировки: 2336

Назначение: Aaron: Another one that I stumbled onto. Appears to tie memory info and cached page likelihoods with costing
Ссылка: Нет

Флаг Трассировки: 2340

Назначение: Causes SQL Server not to use a sort operation (batch sort) for optimized nested loop joins when generating a plan. Beginning with SQL Server 2016 SP1, to accomplish this at the query level, add the USE HINT query hint instead of using this trace flag.
Note: Please ensure that you thoroughly test this option, before rolling it into a production environment.
Ссылка: New Features in SQL Server 2016 Service Pack 1
Ссылка: Docs Trace Flags
Ссылка: https://blogs.msdn.microsoft.com/psssql/2010/01/11/high-cpu-after-upgrading-to-sql-server-2005-from-2000-due-to-batch-sort
Ссылка: http://www.queryprocessor.com/batch-sort-and-nested-loops
Способ применения: global or session or query

Флаг Трассировки: 2341

Назначение: Enables the use of a hash join for joins to column store indexes even when the join clause would normally be removed “during query normalization”.
Ссылка: https://support.microsoft.com/help/3146123/query-plan-generation-improvement-for-some-columnstore-queries-in-sql-server-2014-or-2016

Флаг Трассировки: 2363

Назначение: TF Selectivity
Ссылка: Cardinality Estimation Framework 2014 First Look
Ссылка: http://www.queryprocessor.com/ce-process
Ссылка: https://sqlperformance.com/2014/01/sql-plan/cardinality-estimation-for-multiple-predicates

Флаг Трассировки: 2368

Недокументированный флаг трассировки
Назначение: For one query, this resulted in a parallel plan significantly more expensive than the naturally occurring serial plan. Could be related to trace flag 3651.
Ссылка: New Undocumented Trace Flags
Способ применения: ?

Флаг Трассировки: 2371

Назначение: Changes the fixed auto update statistics threshold to dynamic auto update statistics threshold.
Note: Beginning with SQL Server 2016 this behavior is controlled by the engine and trace flag 2371 has no effect.
Ссылка: https://support.microsoft.com/help/2754171
Ссылка: http://blogs.msdn.com/b/saponsqlserver/archive/2011/09/07/changes-to-automatic-update-statistics-in-sql-server-traceflag-2371.aspx
Ссылка: https://blogs.msdn.microsoft.com/axinthefield/sql-server-trace-flag-2371-for-dynamics-ax/
Ссылка: Docs Trace Flags
Способ применения: global only

Флаг Трассировки: 2372

Назначение: Displays memory utilization during the optimization process. Memory for Phases Memory before and after deriving properties and rules (verbose)
Ссылка: More Undocumented Query Optimizer Trace Flags
Ссылка: Cardinality Estimation Framework 2014 First Look
Ссылка: Query Optimizer Deep Dive - Part 4

Флаг Трассировки: 2373

Назначение: Displays memory utilization during the optimization process. Memory for Deriving Properties.
Ссылка: More Undocumented Query Optimizer Trace Flags
Ссылка: Cardinality Estimation Framework 2014 First Look

Флаг Трассировки: 2374

Недокументированный флаг трассировки
Назначение: Removes QueryHash and QueryPlanHash information from estimated query plans.
Ссылка: New Undocumented Trace Flags
Способ применения: ?

Флаг Трассировки: 2382

Назначение: SSC: “SQL 8 -Statistics collected for system tables.”
Ссылка: Нет

Флаг Трассировки: 2387

Недокументированный флаг трассировки
Назначение: There was a small change in CPU and IO costs for some operators. Full effect unknown.
Ссылка: New Undocumented Trace Flags
Способ применения: ?

Флаг Трассировки: 2388

Назначение: Changes the output of DBCC SHOW_STATISTICS. Instead of the normal Header/Vector/Histogram output, instead we get a single row that gives information related to whether the lead column of the stat object is considered to be ascending or not. This TF is primarily helpful in watching the state of a stat object change from “Unknown”, to “Ascending” (and potentially to “Stationary”).
Ссылка: SQL Server - estimates outside of the histogram - half-baked draft

Флаг Трассировки: 2389

Назначение: Enable automatically generated quick statistics for ascending keys (histogram amendment). If trace flag 2389 is set, and a leading statistics column is marked as ascending, then the histogram used to estimate cardinality will be adjusted at query compile time.
Ссылка: KB2801413
Ссылка: http://blogs.msdn.com/b/ianjo/archive/2006/04/24/582227.aspx
Ссылка: http://www.sqlmag.com/article/tsql3/making-the-most-of-automatic-statistics-updating--96767
Ссылка: http://sqlperformance.com/2016/07/sql-statistics/trace-flag-2389-new-cardinality-estimator
Ссылка: https://www.sswug.org/sswugresearch/community/trace-flag-2389-and-the-new-cardinality-estimator/
Ссылка: New Features in SQL Server 2016 Service Pack 1
Ссылка: Docs Trace Flags
Ссылка: SQL Server - estimates outside of the histogram - half-baked draft
Способ применения: global or session or query

Флаг Трассировки: 2390

Назначение: Enable automatically generated quick statistics for ascending or unknown keys (histogram amendment). If trace flag 2390 is set, and a leading statistics column is marked as ascending or unknown, then the histogram used to estimate cardinality will be adjusted at query compile time
Ссылка: http://blogs.msdn.com/b/ianjo/archive/2006/04/24/582227.aspx
Ссылка: KB2801413
Ссылка: http://www.sqlmag.com/article/tsql3/making-the-most-of-automatic-statistics-updating--96767
Ссылка: Docs Trace Flags
Ссылка: https://blogs.msdn.microsoft.com/ianjo/2006/04/24/ascending-keys-and-auto-quick-corrected-statistics
Ссылка: SQL Server - estimates outside of the histogram - half-baked draft
Способ применения: global or session or query

Флаг Трассировки: 2392

Недокументированный флаг трассировки
Назначение: Trace Flag 2392 can be used to turn the missing index feature off completely (as a workaround to the issue that is corrected by the hotfix). This trace flag has been in the product since SQL Server 2005. The problem is, it will not disable/enable missing index stats collection unless it is enabled at startup. If you set it as a startup TF and restart SQL Server, then no missing index stats are collected. If you then subsequently disable TF 2392 while SQL Server is running, it still won’t collect any missing index stats (despite what you may expect).
Ссылка: https://www.sqlskills.com/blogs/glenn/sql-server-missing-indexes-feature-and-trace-flag-2392/
Ссылка: https://support.microsoft.com/help/4042232/fix-access-violation-when-you-cancel-a-pending-query-if-the-missing-in
Способ применения: global only

Флаг Трассировки: 2398

Назначение: Another one I stumbled upon myself...outputs info about “Smart Seek costing”: e.g.: “Smart seek costing (75.2) :: 1.34078e+154 , 1”
Ссылка: Нет

Флаг Трассировки: 2399

Недокументированный флаг трассировки
Назначение: Small changes in operator costs were observed for some queries. These were typically less than 0.01 units.
Ссылка: New Undocumented Trace Flags
Способ применения: ?

Флаг Трассировки: 2418

Недокументированный флаг трассировки
Назначение: Disables serial Batch mode processing.
Ссылка: New Undocumented Trace Flags
Способ применения: ?

Флаг Трассировки: 2422

Назначение: Enables the SQL Server Database Engine to abort a request when the maximum time set by Resource Governor REQUEST_MAX_CPU_TIME_SEC configuration is exceeded.
Note: This trace flag applies to SQL Server 2017 CU3 and higher builds.
Ссылка: https://support.microsoft.com/help/4038419
Способ применения: global only

Флаг Трассировки: 2430

Назначение: Fixes performance problem when using large numbers of locks
Ссылка: https://support.microsoft.com/help/2754301
Ссылка: https://support.microsoft.com/help/2746341/fix-high-cpu-usage-when-you-execute-an-update-statement-that-includes-a-where-current-of-cursor-clause-in-sql-server-2008

Флаг Трассировки: 2440

Назначение: SQL 10 - Parallel query execution strategy on partitioned tables. SQL 9 used single thread per partition parallel query execution strategy. In SQL 10, multiple threads can be allocated to a single partition by turning on this flag.
Ссылка: https://social.msdn.microsoft.com/Forums/sqlserver/en-US/dc010af9-afa0-4c87-937c-4343b4e1119a/trace-flag-2440

Флаг Трассировки: 2453

Назначение: Allow a table variable to trigger recompile when enough number of rows are changed with may allow the query optimizer to choose a more efficient plan.
Note: Please ensure that you thoroughly test this option, before rolling it into a production environment.
Ссылка: http://sqlperformance.com/2014/06/t-sql-queries/table-variable-perf-fix
Ссылка: https://support.microsoft.com/help/2952444
Ссылка: Docs Trace Flags
Ссылка: https://www.brentozar.com/archive/2017/02/using-trace-flag-2453-improve-table-variable-performance
Ссылка: https://www.brentozar.com/archive/2018/03/table-valued-parameters-unexpected-parameter-sniffing
Способ применения: global or session or query

Флаг Трассировки: 2456

Назначение: Relieves RESOURCE_SEMAPHORE_MUTEX contention, which may be primarily due to a bug in SQL 2005.
Ссылка: Нет

Флаг Трассировки: 2466

Назначение: When SQL Server is determining the runtime DOP for a parallel plan, this flag directs it to use logic found in “older versions” (the post doesn’t say which versions) to determine which NUMA node to place the parallel plan on. This older logic relies on a polling mechanism (roughly every 1 second), and can result in race conditions where 2 parallel plans end up on the same node. The newer logic “significantly reduces” the likelihood of this happening.
Ссылка: https://blogs.msdn.microsoft.com/psssql/2013/09/27/how-it-works-maximizing-max-degree-of-parallelism-maxdop

Флаг Трассировки: 2467

Назначение: “If target MAXDOP target is less than a single node can provide and if trace flag 2467 is enabled attempt to locate least loaded node”
Ссылка: https://blogs.msdn.microsoft.com/psssql/2013/09/27/how-it-works-maximizing-max-degree-of-parallelism-maxdop
Ссылка: SQL Server Parallel Query Placement Decision Logic

Флаг Трассировки: 2468

Недокументированный флаг трассировки
Назначение: “Find the next node that can service the DOP request. Unlike full mode, the global, resource manager keeps track of the last node used. Starting from the last position, and moving to the next node, SQL Server checks for query placement opportunities. If a node can’t support the request SQL Server continues advancing nodes and searching.”
Ссылка: SQL Server Parallel Query Placement Decision Logic

Флаг Трассировки: 2470

Недокументированный флаг трассировки
Назначение: Fixes performance problem when using AFTER triggers on partitioned tables
Ссылка: https://support.microsoft.com/help/2606883

Флаг Трассировки: 2479

Недокументированный флаг трассировки
Назначение: When SQL Server is determining the runtime DOP for a parallel plan, this flag directs it to limit the NUMA Node placement for the query to the node that the connection is associated with.
Ссылка: https://blogs.msdn.microsoft.com/psssql/2013/09/27/how-it-works-maximizing-max-degree-of-parallelism-maxdop
Ссылка: SQL Server Parallel Query Placement Decision Logic

Флаг Трассировки: 2486

Недокументированный флаг трассировки
Назначение: In SQL 2016 (CTP 3.0 at least), enables output for the “query_trace_column_values” Extended Event, allowing the value of output columns from individual plan iterators to be traced.
Ссылка: http://www.queryprocessor.com/query-trace-column-values

Недокументированный флаг трассировки

Флаг Трассировки: 2505

Назначение: SQL 7 - Prevents DBCC TRACEON 208, SPID 10 errors from appearing in the error log (Note: DBCC TRACEON(208) just means “SET QUOTED IDENTIFIER ON”)
Ссылка: Нет

Флаг Трассировки: 2508

Недокументированный флаг трассировки
Назначение: Disables parallel non-clustered index checking for DBCC CHECKTABLE
Ссылка: Нет

Флаг Трассировки: 2509

Недокументированный флаг трассировки
Назначение: Used with DBCC CHECKTABLE to see the total count of forward records in a table
Ссылка: Нет

Флаг Трассировки: 2514

Недокументированный флаг трассировки
Назначение: Verbose Merge Replication logging to msmerge_history table for troubleshooting Merger repl performance
Ссылка: http://sqlblog.com/blogs/argenis_fernandez/archive/2012/05/29/ghost-records-backups-and-database-compression-with-a-pinch-of-security-considerations.aspx

Флаг Трассировки: 2520

Недокументированный флаг трассировки
Назначение: For SQL Server prior 2005. Forces DBCC HELP to return syntax of undocumented DBCC statements. If 2520/2588 is not turned on, DBCC HELP will refuse to give you the syntax stating: "No help available for DBCC statement 'undocumented statement'". Also affects dbcc help ('?')
Ссылка: http://www.sqlskills.com/blogs/paul/dbcc-writepage/
Способ применения: session only

Флаг Трассировки: 2521

Недокументированный флаг трассировки
Назначение: SQL 7 SP2 - Facilitates capturing a Sqlservr.exe user-mode crash dump for postmortem analysis
Ссылка: Нет

Флаг Трассировки: 2469

Назначение: Enables alternate exchange for INSERT INTO ... SELECT into a partitioned columnstore index.
Ссылка: Docs Trace Flags
Ссылка: https://support.microsoft.com/help/3204769/
Способ применения: global or session or query

Флаг Трассировки: 2528

Назначение: Disables parallel checking of objects by DBCC CHECKDB, DBCC CHECKFILEGROUP, and DBCC CHECKTABLE. By default, the degree of parallelism is automatically determined by the query processor. The maximum degree of parallelism is configured just like that of parallel queries. For more information, see Configure the max degree of parallelism Server Configuration Option. Parallel DBCC should typically be left enabled. For DBCC CHECKDB, the query processor reevaluates and automatically adjusts parallelism with each table or batch of tables checked. Sometimes, checking may start when the server is almost idle. An administrator who knows that the load will increase before checking is complete may want to manually decrease or disable parallelism. Disabling parallel checking of DBCC can cause DBCC to take much longer to complete and if DBCC is run with the TABLOCK feature enabled and parallelism set off, tables may be locked for longer periods of time.
Ссылка: Docs Trace Flags
Ссылка: https://technet.microsoft.com/en-us/library/ms189094.aspx
Ссылка: http://www.sqlskills.com/blogs/paul/checkdb-from-every-angle-how-long-will-checkdb-take-to-run
Ссылка: Important Trace Flags That Every DBA Should Know
Способ применения: global or session

Флаг Трассировки: 2529

Недокументированный флаг трассировки
Назначение: Displays memory usage for DBCC commands when used with TF 3604
Ссылка: Нет

Флаг Трассировки: 2536

Недокументированный флаг трассировки
Назначение: Allows you to see inactive records in transaction log using fn_dblog. Similar to trace flag 2537 for older version than SQL Server 2008.
Ссылка: http://www.sqlsoldier.com/wp/sqlserver/day19of31daysofdisasterrecoveryhowmuchlogcanabackuplog

Флаг Трассировки: 2537

Недокументированный флаг трассировки
Назначение: Allows you to see inactive records in transaction log using fn_dblog
Ссылка: http://www.sqlsoldier.com/wp/sqlserver/day19of31daysofdisasterrecoveryhowmuchlogcanabackuplog
Ссылка: http://www.sqlskills.com/blogs/paul/finding-out-who-dropped-a-table-using-the-transaction-log
Ссылка: http://sqlserverandme.blogspot.ru/2014/03/how-to-view-transaction-log.html
Способ применения: session

Флаг Трассировки: 2540

Назначение: Unknown, but related to controlling the contents of a memory dump
Ссылка: KB917825

Флаг Трассировки: 2541

Назначение: Unknown, but related to controlling the contents of a memory dump
Ссылка: KB917825

Флаг Трассировки: 2542

Назначение: Unknown, but related to controlling the contents of a memory dump
Ссылка: KB917825
Ссылка: Controlling SQL Server memory dumps

Флаг Трассировки: 2543

Назначение: Unknown, but related to controlling the contents of a memory dump
Ссылка: KB917825

Флаг Трассировки: 2544

Назначение: Produces a full memory dump
Ссылка: KB917825
Ссылка: https://blogs.msdn.microsoft.com/askjay/2010/02/05/how-can-i-create-a-dump-of-sql-server
Ссылка: https://social.msdn.microsoft.com/Forums/sqlserver/en-US/13ce4292-b8a7-41fa-a173-645693957d70/sqldumper?forum=sqldisasterrecovery&forum=sqldisasterrecovery

Флаг Трассировки: 2545

Назначение: Unknown, but related to controlling the contents of a memory dump
Ссылка: KB917825

Флаг Трассировки: 2546

Назначение: Dumps all threads for SQL Server in the dump file
Ссылка: KB917825
Ссылка: https://blogs.msdn.microsoft.com/askjay/2010/02/05/how-can-i-create-a-dump-of-sql-server
Ссылка: https://social.msdn.microsoft.com/Forums/sqlserver/en-US/13ce4292-b8a7-41fa-a173-645693957d70/sqldumper?forum=sqldisasterrecovery&forum=sqldisasterrecovery
Ссылка: https://blogs.msdn.microsoft.com/psssql/2008/09/12/sql-server-2000-2005-2008-recoveryrollback-taking-longer-than-expected

Флаг Трассировки: 2547

Назначение: Unknown, but related to controlling the contents of a memory dump
Ссылка: KB917825

Флаг Трассировки: 2548

Назначение: Shrink will run faster with this trace flag if there are LOB pages that need conversion and/or compaction, because that actions will be skipped.
Ссылка: http://blogs.msdn.com/b/psssql/archive/2008/03/28/how-it-works-sql-server-2005-dbcc-shrink-may-take-longer-than-sql-server-2000.aspx

Thanks to: Andrzej Kukula

Флаг Трассировки: 2549

Назначение: Runs the DBCC CHECKDB command assuming each database file is on a unique disk drive. DBCC CHECKDB command builds an internal list of pages to read per unique disk drive across all database files. This logic determines unique disk drives based on the drive letter of the physical file name of each file.
Note: Do not use this trace flag unless you know that each file is based on a unique physical disk. Although this trace flag improve the performance of the DBCC CHECKDB commands which target usage of the PHYSICAL_ONLY option, some users may not see any improvement in performance. While this trace flag improves disk I/O resources usage, the underlying performance of disk resources may limit the overall performance of the DBCC CHECKDB command.
Ссылка: http://blogs.msdn.com/b/saponsqlserver/archive/2011/12/22/faster-dbcc-checkdb-released-in-sql-2008-r2-sp1-traceflag-2562-amp-2549.aspx
Ссылка: https://support.microsoft.com/help/2634571
Ссылка: https://support.microsoft.com/help/2732669
Ссылка: Docs Trace Flags
Способ применения: global only

Флаг Трассировки: 2550

Назначение: Unknown, but related to controlling the contents of a memory dump
Ссылка: KB917825

Флаг Трассировки: 2551

Назначение: Produces a filtered memory dump
Ссылка: KB917825
Ссылка: https://connect.microsoft.com/SQLServer/feedback/details/477863/sql-server-is-terminating-because-of-fatal-exception-c0150014

Флаг Трассировки: 2552

Назначение: Unknown, but related to controlling the contents of a memory dump
Ссылка: KB917825

Флаг Трассировки: 2553

Назначение: Unknown, but related to controlling the contents of a memory dump
Ссылка: KB917825

Флаг Трассировки: 2554

Назначение: Unknown, but related to controlling the contents of a memory dump
Ссылка: KB917825

Флаг Трассировки: 2555

Назначение: Unknown, but related to controlling the contents of a memory dump
Ссылка: KB917825

Флаг Трассировки: 2556

Назначение: Unknown, but related to controlling the contents of a memory dump
Ссылка: KB917825

Флаг Трассировки: 2557

Назначение: Unknown, but related to controlling the contents of a memory dump
Ссылка: KB917825

Флаг Трассировки: 2558

Назначение: Disables integration between CHECKDB and Watson
Ссылка: KB917825
Ссылка: Controlling SQL Server memory dumps

Флаг Трассировки: 2559

Назначение: Unknown, but related to controlling the contents of a memory dump
Ссылка: KB917825

Флаг Трассировки: 2562

Назначение: Runs the DBCC CHECKDB command in a single "batch" regardless of the number of indexes in the database. By default, the DBCC CHECKDB command tries to minimize tempdb resources by limiting the number of indexes or "facts" that it generates by using a "batches" concept. This trace flag forces all processing into one batch. One effect of using this trace flag is that the space requirements for tempdb may increase. Tempdb may grow to as much as 5% or more of the user database that is being processed by the DBCC CHECKDB command.
Note: Although this trace flag improve the performance of the DBCC CHECKDB commands which target usage of the PHYSICAL_ONLY option, some users may not see any improvement in performance. While this trace flag improves disk I/O resources usage, the underlying performance of disk resources may limit the overall performance of the DBCC CHECKDB command.
Ссылка: http://blogs.msdn.com/b/saponsqlserver/archive/2011/12/22/faster-dbcc-checkdb-released-in-sql-2008-r2-sp1-traceflag-2562-amp-2549.aspx
Ссылка: https://support.microsoft.com/help/2634571
Ссылка: https://support.microsoft.com/help/2732669
Ссылка: Docs Trace Flags
Способ применения: global only

Флаг Трассировки: 2566

Назначение: Runs the DBCC CHECKDB command without data purity check unless DATA_PURITY option is specified.
Note: Column-value integrity checks are enabled by default and do not require the DATA_PURITY option. For databases upgraded from earlier versions of SQL Server, column-value checks are not enabled by default until DBCC CHECKDB WITH DATA_PURITY has been run error free on the database at least once. After this, DBCC CHECKDB checks column-value integrity by default.
Ссылка: Docs Trace Flags
Ссылка: https://sqlperformance.com/2012/11/io-subsystem/minimize-impact-of-checkdb
Ссылка: https://support.microsoft.com/help/2888996/fix-data-purity-corruption-in-sys.sysbinobjs-table-in-master-database-when-you-log-on-to-sql-server-by-using-the-sa-account-and-then-run-dbcc-checkdb
Способ применения: global only

Флаг Трассировки: 2588

Назначение: For SQL Server since 2005. Forces DBCC HELP to return syntax of undocumented DBCC statements. If 2520/2588 is not turned on, DBCC HELP will refuse to give you the syntax stating: "No help available for DBCC statement 'undocumented statement'". Also affects dbcc help ('?')
Ссылка: http://www.sqlskills.com/blogs/paul/dbcc-writepage/
Способ применения: session only

Флаг Трассировки: 2701

Назначение: SQL 6.5 - Sets the @@ERROR system function to 50000 for RAISERROR messages with severity levels of 10 or less. When disabled, sets the @@ERROR system function to 0 for RAISERROR messages with severity levels of 10 or less
Ссылка: Нет

Флаг Трассировки: 2861

Назначение: Keep zero cost plans in cache. Tip: Avoid Using Trace Flag 2861 to Cache Zero-Cost Query Plan
Ссылка: Нет

Флаг Трассировки: 2880, 2881

Назначение: Both 2880 and 2881 are related to a SQL 2000 hotfix introduced to solve problems where ad-hoc queries would cause the procedure cache to get too big
Ссылка: Нет

Флаг Трассировки: 3001

Назначение: Stops sending backup entries into MSDB
Ссылка: https://bytes.com/topic/sql-server/answers/162385-how-do-i-prevent-sql-2000-posting-message-event-viewer-application-log

Флаг Трассировки: 3004

Назначение: Returns more info about Instant File Initialization. Shows information about backups and file creations use with 3605 to direct to error log. Can be used to ensure that SQL Server has been configured to take advantage of IFI correctly.
Ссылка: https://blogs.msdn.microsoft.com/psssql/2008/01/23/how-it-works-what-is-restorebackup-doing/
Ссылка: Important Trace Flags That Every DBA Should Know
Ссылка: https://blogs.msdn.microsoft.com/sql_pfe_blog/2009/12/22/how-and-why-to-enable-instant-file-initialization/
Способ применения: session

Флаг Трассировки: 3014

Назначение: Returns more info about backups to the errorlog: Backup activity, Restore activity , File creation.
Ссылка: Important Trace Flags That Every DBA Should Know
Ссылка: https://blogs.msdn.microsoft.com/psssql/2008/02/06/how-it-works-how-does-sql-server-backup-and-restore-select-transfer-sizes
Способ применения: session

Флаг Трассировки: 3023

Назначение: Enables CHECKSUM option as default for BACKUP command
Note: Beginning with SQL Server 2014 this behavior is controlled by setting the backup checksum default configuration option. For more information, see Server Configuration Options (SQL Server).
Ссылка: https://support.microsoft.com/help/2656988
Ссылка: Docs Trace Flags
Способ применения: global or session

Флаг Трассировки: 3028

Назначение: Enables a hotfix for a problem encountered when backing up to tape with specific backup options
Ссылка: Нет

Флаг Трассировки: 3031

Назначение: SQL 9 - Will turn the NO_LOG and TRUNCATE_ONLY options into checkpoints in all recovery modes
Ссылка: http://www.sqlskills.com/blogs/paul/backup-log-with-no_log-use-abuse-and-undocumented-trace-flags-to-stop-it

Флаг Трассировки: 3034

Назначение: Overrides the server default, and thus always forces backup compression unless the backup command had the no_compression clause explicitly present.
Ссылка: https://blogs.msdn.microsoft.com/ialonso/2012/02/24/vdi-backups-and-backup-compression-default

Флаг Трассировки: 3035

Назначение: Overrides the server default to always avoid compression, unless the backup command explicitly uses the compression clause. If both 3034 and 3035 are enabled, 3035 takes precedence
Ссылка: https://blogs.msdn.microsoft.com/ialonso/2012/02/24/vdi-backups-and-backup-compression-default

Флаг Трассировки: 3039

Назначение: As long as the SQL edition supports backup compression, this will allow VDI backups to be affected by the default compression setting just as non-VDI BACKUP commands are affected.
Ссылка: https://blogs.msdn.microsoft.com/ialonso/2012/02/24/vdi-backups-and-backup-compression-default

Флаг Трассировки: 3042

Назначение: Bypasses the default backup compression pre-allocation algorithm to allow the backup file to grow only as needed to reach its final size. This trace flag is useful if you need to save on space by allocating only the actual size required for the compressed backup. Using this trace flag might cause a slight performance penalty (a possible increase in the duration of the backup operation). For more information about the pre-allocation algorithm, see Backup Compression (SQL Server).
Ссылка: Docs Trace Flags
Ссылка: https://support.microsoft.com/help/2001026/inf-space-requirements-for-backup-devices-in-sql-server
Ссылка: https://blogs.msdn.microsoft.com/psssql/2011/08/11/how-compressed-is-your-backup/
Ссылка: https://technet.microsoft.com/en-us/library/bb964719.aspx
Способ применения: global only

Флаг Трассировки: 3051

Назначение: Enables SQL Server Backup to URL logging to a specific error log file.
Ссылка: Docs Trace Flags
Ссылка: https://msdn.microsoft.com/en-us/library/jj919149.aspx
Способ применения: global only

Флаг Трассировки: 3057

Назначение: Enables functionality after a hotfix that allows a log backup that was taken on a t-logfile hosted on a drive with “Bytes per physical sector”=512 to be restored onto a log file/drive that has “Bytes per physical sector”=4096
Ссылка: https://support.microsoft.com/help/2987585/restore-log-with-standby-mode-on-an-advanced-format-disk-may-cause-a-9004-error-in-sql-server-2008-r2-or-sql-server-2012

Флаг Трассировки: 3101

Назначение: Fix performance problems when restoring database with CDC
Ссылка: https://support.microsoft.com/help/2567366/

Флаг Трассировки: 3104

Назначение: Causes SQL Server to bypass checking for free space
Ссылка: http://sqlblogcasts.com/blogs/martinbell/archive/2011/07/06/Mount-point-Permission-Issues.aspx
Ссылка: http://www.databasejournal.com/features/mssql/article.php/1547551/Troubleshooting-SQL-Server-BackupRestore-Problems.htm

Флаг Трассировки: 3106

Назначение: Required to move sys databases
Ссылка: Нет

Флаг Трассировки: 3111

Назначение: “FIX: Backup or Restore Using Large Transaction Logs May Return Error 3241” Causes LogMgr::ValidateBackedupBlock to be skipped during backup and restore operations, allowing backups of very large T-logs to succeed.
Ссылка: Нет

Флаг Трассировки: 3117

Назначение: QL 9 - SQL Server 2005 tries to restore the log files and the data files in a single step which some third-party snapshot backup utilities do not support. Turing on 3117 does things the SQL 8 way multiple-step restore process.
Ссылка: Нет

Флаг Трассировки: 3205

Назначение: Disable HW compression for backup to tape drives
Ссылка: Docs Trace Flags
Способ применения: global

Флаг Трассировки: 3207

Назначение: Fixes SQL 6.5 so that tape drives work correctly with DUMP and LOAD statements
Ссылка: Нет

Флаг Трассировки: 3210

Назначение: According to Bob Ward’s PASS 2014 talk on SQL Server IO, prints information about “collisions and wait times” that occur between the various “Asynchronous Disk Pool” threads during BACKUP (what about RESTORE?) operations.
Ссылка: Нет

Флаг Трассировки: 3212

Назначение: Prints “Backup stats” to the SQL log
Ссылка: https://blogs.msdn.microsoft.com/ialonso/2012/10/24/why-does-restoring-a-database-needs-tempdb

Флаг Трассировки: 3213

Назначение: Output buffer info for backups to ERRORLOG
Ссылка: https://blogs.msdn.microsoft.com/psssql/2008/02/06/how-it-works-how-does-sql-server-backup-and-restore-select-transfer-sizes
Ссылка: https://blogs.msdn.microsoft.com/psssql/2008/01/28/how-it-works-sql-server-backup-buffer-exchange-a-vdi-focus/

Флаг Трассировки: 3216

Назначение: Prints quite a lot of info about RESTORE internals. Only seems to print to the error log (TF 3605 is required).
Ссылка: http://jamessql.blogspot.ru/2013/07/trace-flag-for-backup-and-restore.html

Флаг Трассировки: 3222

Назначение: Disables the read ahead that is used by the recovery operation during roll forward operations
Ссылка: TECHNET List Of SQL Server Trace Flags

Флаг Трассировки: 3226

Назначение: By default, every successful backup operation adds an entry in the SQL Server error log and in the system event log. If you create very frequent log backups, these success messages accumulate quickly, resulting in huge error logs in which finding other messages is problematic. With this trace flag, you can suppress these log entries. This is useful if you are running frequent log backups and if none of your scripts depend on those entries.
Ссылка: Docs Trace Flags
Ссылка: http://www.sqlskills.com/blogs/paul/fed-up-with-backup-success-messages-bloating-your-error-logs
Ссылка: https://blogs.msdn.microsoft.com/sqlserverstorageengine/2007/10/30/when-is-too-much-success-a-bad-thing
Ссылка: Important Trace Flags That Every DBA Should Know
Способ применения: global only

Флаг Трассировки: 3231

Назначение: SQL 8/9 - Will turn the NO_LOG and TRUNCATE_ONLY options into no-ops in FULL/BULK_LOGGED recovery mode, and will clear the log in SIMPLE recovery mode. When set, BACKUP LOG with TRUNCATE_ONLY and BACKUP LOG with NO_LOG do not allow a log backup to run if the database's recovery model is FULL or BULK_LOGGED.
Ссылка: http://www.sqlskills.com/blogs/paul/backup-log-with-no_log-use-abuse-and-undocumented-trace-flags-to-stop-it
Ссылка: http://www.sqlskills.com/blogs/kimberly/understanding-backups-and-log-related-trace-flags-in-sql-server-20002005-and-2008
Способ применения: ?

Флаг Трассировки: 3282

Недокументированный флаг трассировки
Назначение: SQL 6.5 - Used after backup restoration fails
Способ применения: ?

Флаг Трассировки: 3400

Назначение: Prints the recovery timings
Ссылка: https://connect.microsoft.com/SQLServer/feedback/details/392158/recovery-portion-of-sql-2008-restore-takes-much-longer-than-normal-when-restoring-from-sql-2005-backup

Флаг Трассировки: 3408

Назначение: This forces SQL Server startup to use a single thread when recovering all DBs at SQL Server startup, instead of running through its algorithm for determining how many threads to allocate to DB recovery
Ссылка: https://blogs.msdn.microsoft.com/ialonso/2012/10/08/how-much-is-crash-recovery-parallelized-in-which-order-are-databases-recovered/

Флаг Трассировки: 3412

Недокументированный флаг трассировки
Назначение: The KB article refers to SQL 6.5, but it is possible that the TF still prints out info to the SQL error log, so leaving it here for now. KB: “...reports when each transaction is rolled forward or back [examine the error log for progress]. However, you will not see any progress if SQL Server is rolling a large transaction forward or back. Additionally, this trace flag duplicates the sp_configure setting Recovery flags..."
Ссылка: Нет

Флаг Трассировки: 3422

Назначение: Cause auditing of transaction log records as they're read (during transaction rollback or log recovery). This is useful because there is no equivalent to page checksums for transaction log records and so no way to detect whether log records are being corrupted e careful with these trace flags - I don't recommend using them unless you are experiencing corruptions that you can't diagnose. Turning them on will cause a big CPU hit because of the extra auditing that's happening.
Ссылка: https://support.microsoft.com/help/215458
Ссылка: http://www.sqlskills.com/blogs/paul/how-to-tell-if-the-io-subsystem-is-causing-corruptions
Ссылка: http://technet.microsoft.com/en-au/library/cc917726.aspx
Ссылка: Important Trace Flags That Every DBA Should Know
Способ применения: ?

Флаг Трассировки: 3427

Назначение: Enables fix for issue when many consecutive transactions inserting data into temp table in SQL Server 2016 consume more CPU than in SQL Server 2014.
Ссылка: Docs Trace Flags
Ссылка: https://support.microsoft.com/help/3216543
Способ применения: global only

Флаг Трассировки: 3448

Назначение: Introduced in the KB to fix a race condition leading to a hung database in mirroring failover situations. “ This trace flag forces new connections to keep checking for database state every two seconds instead of waiting for a lock for infinite time. It helps ending the connection tasks faster as the mirroring reac hes the start of the recovery phase and releasing more worker threads to be used by database mirroring.”
Ссылка: https://support.microsoft.com/help/2970421/

Флаг Трассировки: 3449

Назначение: If you enable global TF 3449 (and you are on SQL Server 2012 SP3 CU3 or later or SQL Server 2014 SP1 CU7 or later), you will get much better performance by avoiding a FlushCache call in a number of different common scenarios, such as backup database, backup transaction log, create database, add a file to a database, restore a transaction log, recover a database, shrink a database file, and a SQL Server “graceful” shutdown. Ссылка: https://support.microsoft.com/help/3158396/
Ссылка: https://blogs.msdn.microsoft.com/psssql/2017/06/29/sql-server-large-ram-and-db-checkpointing/
Ссылка: Hidden Performance & Manageability Improvements in SQL Server 2012 / 2014
Способ применения: global only

Флаг Трассировки: 3459

Назначение: Disables parallel redo. Assume that you use an Always On availability group (AG) that contains heap tables. Starting in SQL Server 2016, parallel thread for redo operations is used in secondary replicas. In this case, heap tables redo operation may generate a runtime assert dump or the SQL Server may crash with an access violation error in some cases.
Note: This trace flag applies to SQL Server 2016 (13.x) and SQL Server 2017 (14.x).
Ссылка: Docs Trace Flags
Ссылка: https://support.microsoft.com/help/3200975/
Ссылка: https://support.microsoft.com/help/4101554/
Способ применения: global only

Флаг Трассировки: 3468

Назначение: Disables indirect checkpoints on tempdb.
Note: This trace flag applies to SQL Server 2016 (13.x) SP1 CU5, SQL Server 2017 (14.x) CU1 and higher builds.
Ссылка: Docs Trace Flags
Способ применения: global only

Флаг Трассировки: 3499

Недокументированный флаг трассировки
Назначение: Provides a workaround for doing a rolling upgrade from SQL 2005 to SQL 2008 with a DB that has a full-text index
Ссылка: Нет

Флаг Трассировки: 3502

Назначение: Writes info about checkpoints to error log.
Ссылка: Important Trace Flags That Every DBA Should Know
Ссылка: https://blogs.msdn.microsoft.com/joaol/2008/11/20/sql-server-checkpoint-problems/
Ссылка: http://www.sqlskills.com/blogs/paul/a-sql-server-dba-myth-a-day-1530-checkpoint-only-writes-pages-from-committed-transactions/
Способ применения: session

Флаг Трассировки: 3503

Назначение: Indicates whether the checkpoint at the end of automatic recovery was skipped for a database (this applies only to read-only databases)
Ссылка: http://www.sql-server-performance.com/2002/traceflags/

Флаг Трассировки: 3504

Назначение: For internal testing. Will raise a bogus log-out-of-space condition from checkpoint
Ссылка: https://blogs.msdn.microsoft.com/joaol/2008/11/20/sql-server-checkpoint-problems/
Ссылка: http://www.sqlskills.com/blogs/paul/a-sql-server-dba-myth-a-day-1530-checkpoint-only-writes-pages-from-committed-transactions/

Флаг Трассировки: 3505

Назначение: Disables automatic checkpoints. Setting trace flag 3505 may increase recovery time and can prevent log space reuse until the next checkpoint is issued. Make sure to issue manual checkpoints on all read/write databases at appropriate time intervals. "For high availability systems, such as clusters, Microsoft recommends that you do not change the recovery interval because it may affect data safety and availability."
Ссылка: http://www.sqlskills.com/blogs/paul/benchmarking-1-tb-table-population-part-2-optimizing-log-block-io-size-and-how-log-io-works/
Ссылка: Important Trace Flags That Every DBA Should Know
Способ применения: ?

Флаг Трассировки: 3601

Назначение: Appears to disable CPU instruction prefetching. The Blog post to the right uses it, in concert with 3603, to enable SQL 2000 to run on a machine with a # of processors that is not a power of 2
Ссылка: https://blogs.msdn.microsoft.com/sqlserverfaq/2009/05/27/info-sql-2000-msde-installation-will-fail-if-you-have-number-of-cpus-on-a-box-which-is-not-in-power-of-2

Флаг Трассировки: 3602

Назначение: Records all error and warning messages sent to the client
Ссылка: https://support.microsoft.com/help/199037/

Флаг Трассировки: 3603

Назначение: Disables “Simultaneous Multithreading Processor check”. Used in concern with TF 3601 in the blog post to the right to enable SQL 2000 to run on a machine with a # of processors that is not a power of 2
Ссылка: https://blogs.msdn.microsoft.com/sqlserverfaq/2009/05/27/info-sql-2000-msde-installation-will-fail-if-you-have-number-of-cpus-on-a-box-which-is-not-in-power-of-2

Флаг Трассировки: 3604

Назначение: Enables the output from a large number of trace flags and DBCC commands to be sent back to the client. The Connect issue notes that problems can occur when using 3604 with a query that executes across a linked server. This CSS page points out that 3604 is necessary for DBCC DumpTrigger(‘display’)
Ссылка: http://blogs.msdn.com/b/askjay/archive/2011/01/21/why-do-we-need-trace-flag-3604-for-dbcc-statements.aspx
Ссылка: Internals of the Seven SQL Server Sorts – Part 1
Ссылка: https://connect.microsoft.com/SQLServer/feedback/details/306380/trace-flag-issue-7300-3604
Ссылка: How to Find the Statistics Used to Compile an Execution Plan Ссылка: A Row Goal Riddle

Флаг Трассировки: 3605

Назначение: Sends a variety of types of information to the SQL Server error log instead of to the user console. Often referenced in KB and blog articles in the context of other trace flags (e.g. 3604).
Ссылка: https://blogs.msdn.microsoft.com/askjay/2011/01/21/why-do-we-need-trace-flag-3604-for-dbcc-statements/

Флаг Трассировки: 3607

Назначение: Skip recovery on startup
Ссылка: http://sqlkbs.blogspot.se/2008/01/trace-flag.html
Ссылка: https://blogs.msdn.microsoft.com/ialonso/2012/10/24/why-does-restoring-a-database-needs-tempdb/

Флаг Трассировки: 3608

Назначение: Prevents SQL Server from automatically starting and recovering any database except the master database. If activities that require tempdb are initiated, then model is recovered and tempdb is created. Other databases will be started and recovered when accessed. Some features, such as snapshot isolation and read committed snapshot, might not work. Use for Move System Databases and Move User Databases.
Note: Do not use during normal operation.
Ссылка: Docs Trace Flags
Ссылка: Importance of Performing DBCC CHECKDB on all SQL Server Databases
Ссылка: https://blogs.msdn.microsoft.com/ialonso/2012/10/24/why-does-restoring-a-database-needs-tempdb
Способ применения: global only

Флаг Трассировки: 3609

Назначение: Recovering all databases, but not clearing tempdb
Ссылка: http://basitaalishan.com/2012/02/20/essential-trace-flags-for-recovery-debugging/
Ссылка: Importance of Performing DBCC CHECKDB on all SQL Server Databases
Ссылка: https://blogs.msdn.microsoft.com/ialonso/2012/10/24/why-does-restoring-a-database-needs-tempdb
Способ применения: global only

Флаг Трассировки: 3610

Назначение: SQL 9 - Divide by zero to result in NULL instead of error
Ссылка: Нет

Флаг Трассировки: 3614

Назначение: Modifies the order of startup operations so that SQL Server can successfully start up even if many user connections are being attempted during SQL startup
Ссылка: Нет

Флаг Трассировки: 3625

Назначение: Limits the amount of information returned to users who are not members of the sysadmin fixed server role, by masking the parameters of some error messages using '**'. This can help prevent disclosure of sensitive information.
Ссылка: Docs Trace Flags
Способ применения: global only

Флаг Трассировки: 3626

Назначение: Turns on tracking of the CPU data for the sysprocesses table.
Ссылка: Нет

Флаг Трассировки: 3628

Назначение: CSS’s mysterious description: “Includes ‘other errors’ in the dump based on a severity.”
Ссылка: Controlling SQL Server memory dumps

Флаг Трассировки: 3629

Назначение: CSS: A memory dump will “include messages marked to include with this trace flag enabled.”
Ссылка: Controlling SQL Server memory dumps

Флаг Трассировки: 3635

Назначение: Print diagnostic information. Trace Flag 3635 Diagnostics are written to the console that started it. There are not written to the errorlog, even if 3605 is turned on.
Ссылка: Нет

Флаг Трассировки: 3640

Назначение: Eliminates sending DONE_IN_PROC messages to client for each statement in stored procedure. This is similar to the session setting of SET NOCOUNT ON, but when set as a trace flag, every client session is handled this way.
Ссылка: https://blogs.msdn.microsoft.com/selvar/2010/07/13/delete-operation-from-a-reporting-service-2005-report-manager-fails-with-internalcatalogexception-and-throws-watson-mini-dump

Флаг Трассировки: 3651

Недокументированный флаг трассировки
Назначение: Can cause stack dumps. For one query, this resulted in a parallel plan significantly more expensive than the naturally occurring serial plan.
Ссылка: New Undocumented Trace Flags
Способ применения: ?

Флаг Трассировки: 3654

Назначение: Apparently increases info found in the sys.dm_os_memory_allocations DMV (which appears to have replaced the DBCC MEMOBJLIST command) Bob Ward also discusses it in his PASS 2013 session, saying that it turns on tracing for all memory allocations done by “Memory Objects” (a specific SQLOS memory term). This flag will have a significant impact on system performance.
Ссылка: https://blogs.msdn.microsoft.com/psssql/2012/11/12/how-can-reference-counting-be-a-leading-memory-scribbler-cause
Ссылка: https://blogs.msdn.microsoft.com/slavao/2005/08/30/talking-points-around-memory-manager-in-sql-server-2005
Ссылка: https://support.microsoft.com/help/2888658/

Флаг Трассировки: 3656

Назначение: Enables resolve of all call stacks in extended events
Ссылка: http://sqlcat.com/sqlcat/b/msdnmirror/archive/2010/05/11/resolving-dtc-related-waits-and-tuning-scalability-of-dtc.aspx
Ссылка: Controlling SQL Server memory dumps
Ссылка: http://www.sqlskills.com/blogs/paul/determine-causes-particular-wait-type

Флаг Трассировки: 3659

Назначение: Enables logging all errors to error log during server startup
Ссылка: http://spaghettidba.com/2011/05/20/trace-flag-3659/
Ссылка: Change SQL Server Collation – Back to Basics
Способ применения: global only

Флаг Трассировки: 3660

Назначение: W/o this flag, for DBs that have Auto_Close=true and for DBs on Express Edition, DB recovery is normally deferred until first user access when SQL starts up. This TF forces DB recovery to always run (well, only for DBs that actually need recovery done) at SQL Server startup.
Ссылка: https://blogs.msdn.microsoft.com/ialonso/2012/10/08/how-much-is-crash-recovery-parallelized-in-which-order-are-databases-recovered

Флаг Трассировки: 3663

Назначение: CSS: “By default [SQL Server] allows system cache involvement [with writing to the SQL Error log] to avoid some of the performance issues you might be suspecting, but you can force it to use FILE_FLAG_WRITE_THROUGH” with TF 3663
Ссылка: http://blogs.msdn.com/b/psssql/archive/2011/01/07/discussion-about-sql-server-i-o.aspx

Флаг Трассировки: 3688

Назначение: Removes messages to error log about traces started and stopped
Ссылка: https://support.microsoft.com/help/922578

Флаг Трассировки: 3689

Назначение: Logs extended errors to errorlog when network disconnect occurs, turned off by default. Will dump out the socket error code this can sometimes give you a clue as to the root cause.
Ссылка: https://support.microsoft.com/help/922578

Флаг Трассировки: 3701

Назначение: Unknown
Ссылка: Upgrading an expired SQL Server 2016 Evaluation Edition

Флаг Трассировки: 3801

Назначение: Prohibits use of USE DB statement
Ссылка: Нет

Флаг Трассировки: 3861

Назначение: This flag allows the SQL Server DB startup code to move system tables to the primary filegroup. Introduced due to behavior in the SQL 2014 upgrade process, where system tables could be created in a secondary filegroup (if that FG was the default).
Ссылка: https://support.microsoft.com/help/3003760/

Флаг Трассировки: 3913

Назначение: SQL 7/8 - SQL Server does not update the rowcnt column of the sysindexes system table until the transaction is committed. When turned on the optimizer gets row count information from in-memory metadata that is saved to sysindexes system table when the transaction commits.
Ссылка: Нет

Флаг Трассировки: 3917

Назначение: According to Bob Ward’s PASS 2014 SQL Server IO talk, enables trace output (3605 is required) for the Eager Write functionality that is used with bulk logged operations (such as SELECT INTO)
Ссылка: Нет

Флаг Трассировки: 3923

Назначение: Let SQL Server throw an exception to the application when the 3303 warning message is raised
Ссылка: https://support.microsoft.com/help/3014867

Флаг Трассировки: 3924

Назначение: Enables a fix where “XA” transactions started within a JDBC-connected Java app are not closed properly and stay open indefinitely.
Ссылка: https://support.microsoft.com/help/3145492/

Флаг Трассировки: 3940

Назначение: According to Bob Ward’s PASS 2014 SQL Server IO talk, forces the Eager Write functionality to throttle at 1024 outstanding eager writes.
Ссылка: Нет

Флаг Трассировки: 4001

Назначение: Very verbose logging of each login attempt to the error log. Includes tons of information
Ссылка: Нет

Флаг Трассировки: 4010

Назначение: Allows only shared memory connections to the SQL Server. Meaning, you will only be able to connect from the server machine itself. Client connections over TCP/IP or named pipes will not happen.
Ссылка: https://blogs.msdn.microsoft.com/sqlserverfaq/2011/05/11/inf-hey-my-sql-server-service-is-not-starting-what-do-i-do
Ссылка: https://blogs.msdn.microsoft.com/psssql/2008/09/05/sql-server-2005-setup-fails-in-wow-x86-on-computer-with-more-than-32-cpus
Ссылка: Upgrading an expired SQL Server 2016 Evaluation Edition

Флаг Трассировки: 4013

Назначение: Log each new connection the error log
Ссылка: http://sqlkbs.blogspot.se/2008/01/trace-flag.html

Флаг Трассировки: 4020

Назначение: Boot without recover
Ссылка: Нет

Флаг Трассировки: 4022

Назначение: Directs the SQL instance to ignore stored procedures that have been configured as “auto-start” procedures. Their auto-start configuration is not affected, so the next time the instance is started w/o this flag they will return to their normal behavior.
Ссылка: https://blogs.msdn.microsoft.com/sqlserverfaq/2011/05/11/inf-hey-my-sql-server-service-is-not-starting-what-do-i-do/
Ссылка: Upgrading an expired SQL Server 2016 Evaluation Edition
Ссылка: Change SQL Server Collation – Back to Basics
Способ применения: global only

Флаг Трассировки: 4029

Назначение: Logs extended errors to errorlog when network disconnect occurs, turned off by default. Will dump out the socket error code this can sometimes give you a clue as to the root cause.
Ссылка: https://blogs.msdn.microsoft.com/sql_protocols/2005/12/19/vss-sql-server-does-not-exist-or-access-denied

Флаг Трассировки: 4030

Назначение: Prints both a byte and ASCII representation of the receive buffer. Used when you want to see what queries a client is sending to SQL Server. You can use this trace flag if you experience a protection violation and want to determine which statement caused it. Typically, you can set this flag globally or use SQL Server Enterprise Manager. You can also use DBCC INPUTBUFFER.
Ссылка: Нет

Флаг Трассировки: 4031

Назначение: Prints both a byte and ASCII representation of the send buffers (what SQL Server sends back to the client). You can also use DBCC OUTPUTBUFFER.
Ссылка: Нет

Флаг Трассировки: 4032

Назначение: Traces the SQL commands coming in from the client. When enabled with 3605 it will direct those all to the error log.
Ссылка: https://support.microsoft.com/help/199037/
Ссылка: https://support.microsoft.com/help/140895/

Флаг Трассировки: 4044

Назначение: SA account can be unlocked by rebooting server with trace flag. If sa (or sso_role) password is lost, add this to your RUN_serverfile. This will generate new password when server started.
Ссылка: Нет

Флаг Трассировки: 4052

Назначение: SQL 9+ Prints TDS packets sent to the client (output) to console. Startup only.
Ссылка: Нет

Флаг Трассировки: 4055

Назначение: SQL 9+ Prints TDS packets received from the client to console. Startup only.
Ссылка: Нет

Флаг Трассировки: 4101

Назначение: “FIX: Reorder outer joins with filter criteria before non-selective joins and outer joins” Enabling this flag may increase the chance that selective filter criteria on an OUTER JOIN will influence the OJ earlier in the plan, rather than the more typical behavior of INNER JOINs being prioritized before OJs. Note that 4101 is also required to enable KB942444.
Ссылка: https://support.microsoft.com/help/318530/

Флаг Трассировки: 4102

Назначение: SQL 9 - Query performance is slow if the execution plan of the query contains semi join operators Typically, semi join operators are generated when the query contains the IN keyword or the EXISTS keyword. Enable flag 4102 and 4118 to overcome this.
Ссылка: https://support.microsoft.com/help/946020/

Флаг Трассировки: 4103

Назначение: “FIX: A query may take longer to run in SQL Server 2005 SP1 than it takes to run in the original release version of SQL Server 2005 or in SQL Server 2000” Applies particularly to queries that contain subqueries with “many column joins”.
Ссылка: Нет

Флаг Трассировки: 4104

Назначение: SQL 9 - Overestimating cardinality of JOIN operator. When additional join predicates are involved, this problem may increase the estimated cost of the JOIN operator to the point where the query optimizer chooses a different join order. When the query optimizer chooses a different join order, SQL 9 system performance may be slow.
Ссылка: Нет

Флаг Трассировки: 4105

Назначение: “FIX: The SQL Server 2005 query optimizer may incorrectly estimate the cardinality for a query that has a predicate that contains an index union alternative”
Ссылка: Нет

Флаг Трассировки: 4106

Назначение: “FIX: A query may take a long time to compile when the query contains several JOIN clauses against a SQL Server 2005 database”
Ссылка: Нет

Флаг Трассировки: 4107

Назначение: SQL 9 - When you run a query that references a partitioned table, query performance may decrease
Ссылка: Нет

Флаг Трассировки: 4108

Назначение: “FIX: The query performance is very slow when you use a fast forward-only cursor to run a query in SQL Server 2005”
Ссылка: Нет

Флаг Трассировки: 4109

Назначение: “FIX: Error message when you run a query that uses a fast forward-only cursor in SQL Server 2005: "Query processor could not produce a query plan because of the hints defined in this query”
Ссылка: https://support.microsoft.com/help/926773/

Флаг Трассировки: 4110

Назначение: “FIX: The query performance is slow when you run a query that uses a user-defined scalar function against an instance of SQL Server 2005”
Ссылка: Нет

Флаг Трассировки: 4111

Назначение: Fixes a cardinality estimate issue with an unnamed builtin function. The KB article title shows that the issue was initially hit due to timeouts with the Replication Merge agent, but the problem was ultimately a poor query plan.
Ссылка: Нет

Флаг Трассировки: 4112

Назначение: Enables a fix for a problem that occurs when a linked server from 2005 or 2008 targets SQL 2000: “This problem occurs because SQL Server 2005 generates an execution plan that has a remote query. SQL Server 2005 must execute the remote query against SQL Server 2000 to retrieve the required data. SQL Server 2000 cannot handle the remote query. Therefore, error 107 occurs in SQL Server 2000. Then, error 107 is propagated back to SQL Server 2005. Therefore, error 107 occurs in SQL Server 2005, and error 8180 occurs in SQL Server 2005.”
Ссылка: https://support.microsoft.com/help/936223/

Флаг Трассировки: 4115

Назначение: “FIX: A query that you run by using a FORWARD_ONLY cursor takes alonger time to run in Microsoft SQL Server 2005 than in SQL Server 2000 ”The fix apparently increases the likelihood that a certain type of cursor will use an index seek (as it did in SQL 2000) rather than regressing to a scan for each Fetch. The notes also contain some interesting info about sp_cursoropen
Ссылка: Нет

Флаг Трассировки: 4116

Назначение: SQL 9 - Query runs slowly when using joins between a local and a remote table
Ссылка: Нет

Флаг Трассировки: 4117

Назначение: “FIX: A blocking issue occurs when you update rows in a table in SQL Server 2005...[A] problem occurs because the positioned update in a transaction performs a table scan on all involved tables. This behavior causes many update locks to be generated on many rows in the table. Additionally, SQL Server tries to add an update lock on the ow that has already been granted an exclusive lock by another transaction. Therefore, a blocking issue occurs.”
Ссылка: Нет

Флаг Трассировки: 4119

Назначение: “FIX: The query performance is slower when you run the query in SQL Server 2005 than when you run the query in SQL Server 2000” The example given in the KB article indicates that selective LIKE predicates may not be considered fully when less-selective “comparison” (e.g. =, >, etc) predicates are done on the same parameter (or variable?) value as the LIKE predicate.
Ссылка: Нет

Флаг Трассировки: 4120

Назначение: “FIX: Error message when you perform an update operation by using a cursor in SQL Server 2005: Transaction (Process ID ) was deadlocked on lock resources with another process and has been chosen as the deadlock victim” This issue is apparently due to deadlock issues related to upgrading a U lock to an X lock.
Ссылка: https://support.microsoft.com/help/953948/

Флаг Трассировки: 4121

Назначение: SQL 9 - Query that involves an outer join operation runs very slowly. However, if you use the FORCE ORDER query hint in the query, the query runs much faster. Additionally, the execution plan of the query contains the following text in the Warnings column: NO JOIN PREDICATE.
Ссылка: Нет

Флаг Трассировки: 4123

Назначение: Query that has many outer joins takes a long time to compile in SQL Server 2005
Ссылка: Нет

Флаг Трассировки: 4124

Назначение: “FIX: A query performance issue occurs when you run a query against a column of the bigint data type in SQL Server 2005... If the All Density column [of SHOW_STATISTICS] displays incorrect values of 1, you are encountering this problem”
Ссылка: Нет

Флаг Трассировки: 4125

Назначение: SQL 9 - Query may take more time to finish if using an inner join to join a derived table that uses DISTINCT keyword
Ссылка: Нет

Флаг Трассировки: 4126

Назначение: “FIX: The synchronization process is slow, and the CPU usage is high on the computer that is configured as the Distributor in SQL Server 2005” The problem manifested as a replication performance issue, but the following phrase found in the KB article indicates that it is a query processor issue: “the query that performs poorly shows that a join predicate is not pushed down to a Clustered Index Seek operator.”
Ссылка: https://support.microsoft.com/help/959013/

Флаг Трассировки: 4127

Назначение: SQL 9 - Compilation time of some queries is very long in an x64-based version. Basically its more than execution time because more memory allocations are necessary in the compilation process.
Ссылка: Note

Флаг Трассировки: 4128

Назначение: “FIX: When you update rows by using a cursor in SQL Server 2005, the update may take a long time to finish”
Ссылка: https://support.microsoft.com/help/957872/

Флаг Трассировки: 4129

Назначение: “FIX: The values of the datetime column are not same for the rows that are copied when you copy data to a table by using the GETDATE() function in Microsoft SQL Server 2005”
Ссылка: Нет

Флаг Трассировки: 4130

Назначение: XML performance fix
Ссылка: Нет

Флаг Трассировки: 4131

Назначение: “FIX: When you run a query that contains a JOIN operation in SQL Server 2005 or SQL Server 2008, and the ON clause of the JOIN operator contains a LIKE predicate, the query runs slower than in SQL Server 2000”
Ссылка: Нет

Флаг Трассировки: 4133

Назначение: “FIX: The size of the SQL Server 2005 error log file or of the SQL Server 2008 error log file grows very quickly when query notifications are created and destroyed in a high ratio” & “FIX: The restore operation takes a long time when you restore a database that has query notification enabled in SQL Server 2005 or in SQL Server 2008”
Ссылка: https://support.microsoft.com/help/958006/

Флаг Трассировки: 4134

Назначение: Bugfix for error: parallel query returning different results every time The trace flag disables an optimization in the query optimizer. The optimization caused the issue described in the KB article when you try to insert into a table by selecting from the table itself. As turning on the trace flag could result in a perf degradation, you only should use it if you run into the issue described in the KB article.
Ссылка: https://support.microsoft.com/help/2546901
Ссылка: http://sql-sasquatch.blogspot.se/2014/04/whaddayaknow-bout-sqlserver-trace-flag.html
Ссылка: https://social.msdn.microsoft.com/Forums/sqlserver/en-US/9ea718c2-e0e0-40cf-b12b-3269130448b7/trace-flag-4135-sql-server-2008?forum=sqldatabaseengine

Флаг Трассировки: 4135

Назначение: Bugfix for error inserting to temp table
Ссылка: https://support.microsoft.com/help/960770
Ссылка: https://connect.microsoft.com/SQLServer/feedback/details/541352/tempdb-errors-during-statistics-auto-update

Флаг Трассировки: 4136

Назначение: Disables parameter sniffing unless OPTION(RECOMPILE), WITH RECOMPILE or OPTIMIZE FOR value is used. To accomplish this at the database level, see ALTER DATABASE SCOPED CONFIGURATION (Transact-SQL). To accomplish this at the query level, add the OPTIMIZE FOR UNKNOWN query hint. Beginning with SQL Server 2016 SP1, to accomplish this at the query level, add the USE HINT query hint instead of using this trace flag. Note: Please ensure that you thoroughly test this option, before rolling it into a production environment.
Ссылка: http://blogs.msdn.com/b/axinthefield/archive/2010/11/04/sql-server-trace-flags-for-dynamics-ax.aspx
Ссылка: New Features in SQL Server 2016 Service Pack 1
Ссылка: Docs Trace Flags
Ссылка: http://kejser.org/trace-flag-4136-2/
Способ применения: global or session or query

Флаг Трассировки: 4137

Назначение: Causes SQL Server to generate a plan using minimum selectivity when estimating AND predicates for filters to account for correlation, under the query optimizer cardinality estimation model of SQL Server 2012 and earlier versions
Beginning with SQL Server 2016 SP1, to accomplish this at the query level, add the USE HINT query hint instead of using this trace flag. Note: Please ensure that you thoroughly test this option, before rolling it into a production environment.
Ссылка: https://support.microsoft.com/help/2658214
Ссылка: New Features in SQL Server 2016 Service Pack 1
Ссылка: Docs Trace Flags
Способ применения: global or session or query

Флаг Трассировки: 4138

Назначение: Causes SQL Server to generate a plan that does not use row goal adjustments with queries that contain TOP, OPTION (FAST N), IN, or EXISTS keywords
Beginning with SQL Server 2016 SP1, to accomplish this at the query level, add the USE HINT query hint instead of using this trace flag. Note: Please ensure that you thoroughly test this option, before rolling it into a production environment.
Ссылка: https://support.microsoft.com/help/2667211
Ссылка: New Features in SQL Server 2016 Service Pack 1
Ссылка: Docs Trace Flags
Ссылка: https://answers.sqlperformance.com/questions/1609/trying-to-figure-out-how-to-resolve-the-data-skew.html
Ссылка: http://dba.stackexchange.com/questions/55198/huge-slowdown-to-sql-server-query-on-adding-wildcard-or-top
Способ применения: global or session or query

Флаг Трассировки: 4139

Назначение: Enable automatically generated quick statistics (histogram amendment) regardless of key column status. If trace flag 4139 is set, regardless of the leading statistics column status (ascending, descending, or stationary), the histogram used to estimate cardinality will be adjusted at query compile time
Beginning with SQL Server 2016 SP1, to accomplish this at the query level, add the USE HINT query hint instead of using this trace flag. Note: Please ensure that you thoroughly test this option, before rolling it into a production environment.
Ссылка: https://support.microsoft.com/help/2952101
Ссылка: Docs Trace Flags
Ссылка: SQL Server - estimates outside of the histogram - half-baked draft
Ссылка: Parallelism in Hekaton (In-Memory OLTP)
Ссылка: Important Trace Flags That Every DBA Should Know
Ссылка: https://support.microsoft.com/help/974006
Способ применения: global or session or query

Флаг Трассировки: 4199

Назначение: Enables query optimizer (QO) changes released in SQL Server Cumulative Updates and Service Packs. QO changes that are made to previous releases of SQL Server are enabled by default under the latest database compatibility level in a given product release, without trace flag 4199 enabled.
The following table summarizes the behavior when using specific database compatibility levels and trace flag 4199:

Database compatibility level TF 4199 QO changes from previous database compatibility levels QO changes for current version post-RTM
100 to 120 Off
On
Disabled
Enabled
Disabled
Enabled
130 Off
On
Enabled
Enabled
Disabled
Enabled
140 Off
On
Enabled
Enabled
Disabled
Enabled

To enable this at the database level, see ALTER DATABASE SCOPED CONFIGURATION (Transact-SQL).
Note: Starting with SQL Server 2016 SP1, to accomplish this at the query level, add the USE HINT query hint instead of using this trace flag.
Ссылка: https://support.microsoft.com/help/974006
Ссылка: New Features in SQL Server 2016 Service Pack 1
Ссылка: Docs Trace Flags
Ссылка: https://support.microsoft.com/help/974006/
Ссылка: https://sqlworkbooks.com/2017/04/selectively-enabletrace-flag-4199-and-query_optimizer_hotfixes-in-sql-server-2016/
Ссылка: https://sqlworkbooks.com/2017/04/trace-flag-4199-no-per-session-override-if-you-enable-it-globally/
Способ применения: global or session or query

Флаг Трассировки: 4606

Назначение: Over comes SA password by startup. Disables password policy check during server startup.
Ссылка: https://blogs.msdn.microsoft.com/sqlserverfaq/2011/05/11/inf-hey-my-sql-server-service-is-not-starting-what-do-i-do
Ссылка: https://blogs.msdn.microsoft.com/sqlserverfaq/2008/07/31/upgrade-of-sql-server-2000-instance-to-sql-server-2005-fails-with-error-similar-to-enforce-password-policy

Флаг Трассировки: 4610

Назначение: When you use trace flag 4618 together with trace flag 4610, the number of entries in the cache store is limited to 8,192. When the limit is reached, SQL 2005 removes some entries from the TokenAndPermUserStore cache store.
Ссылка: https://support.microsoft.com/help/959823
Ссылка: Docs Trace Flags
Ссылка: https://blogs.msdn.microsoft.com/psssql/2008/06/16/query-performance-issues-associated-with-a-large-sized-security-cache/
Способ применения: global only

Флаг Трассировки: 4612

Назначение: Disable the ring buffer logging - no new entries will be made into the ring buffer
Ссылка: http://blogs.msdn.com/b/lcris/archive/2007/02/19/sql-server-2005-some-new-security-features-in-sp2.aspx

Флаг Трассировки: 4613

Назначение: Generate a minidump file whenever an entry is logged into the ring buffer
Ссылка: http://blogs.msdn.com/b/lcris/archive/2007/02/19/sql-server-2005-some-new-security-features-in-sp2.aspx

Флаг Трассировки: 4614

Назначение: Enables SQL Server authenticated logins that use Windows domain password policy enforcement to log on to the instance even though the SQL Server service account is locked out or disabled on the Windows domain controller.
Ссылка: https://support.microsoft.com/help/925744

Флаг Трассировки: 4616

Назначение: Makes server-level metadata visible to application roles. In SQL Server, an application role cannot access metadata outside its own database because application roles are not associated with a server-level principal. This is a change of behavior from earlier versions of SQL Server. Setting this global flag disables the new restrictions, and allows for application roles to access server-level metadata.
Ссылка: Docs Trace Flags
Ссылка: https://support.microsoft.com/help/906549/
Способ применения: global only

Флаг Трассировки: 4618

Назначение: Limits number of entries per user cache store to 1024. It may incur a small CPU overhead as when removing old cache entries when new entries are inserted. It performs this action to limit the size of the cache store growth. However, the CPU overhead is spread over time. When used together with trace flag 4610 increases the number of entries in the TokenAndPermUserStore cache store to 8192
Ссылка: Docs Trace Flags
Ссылка: https://support.microsoft.com/help/933564
Ссылка: https://support.microsoft.com/help/959823/
Способ применения: global only

Флаг Трассировки: 4620

Назначение: According to the Connect item, causes permission checking to be done on a global cache instead of the per-user caches that were introduced in SQL 2008. The thread includes some interesting information on the cache stores, especially as they relate to TokenPermAndUserStore.
Ссылка: https://connect.microsoft.com/SQLServer/feedback/details/467661/sql-server-2008-has-incorrect-cache-names-in-sys-dm-os-memory-cache-counters

Флаг Трассировки: 4621

Назначение: SQL 9 – After 4610 & 4618 you can still customize the quota for TokenAndPermUserStore cache store that is based on the current workload
Ссылка: https://support.microsoft.com/help/959823

Флаг Трассировки: 5004

Назначение: Pauses TDE encryption scan and causes encryption scan worker to exit without doing any work. The database will continue to be in encrypting state (encryption in progress). To resume re-encryption scan, disable trace flag 5004 and run ALTER DATABASE SET ENCRYPTION ON.
Ссылка: Docs Trace Flags
Способ применения: global only

Флаг Трассировки: 5101

Назначение: Forces all I/O requests to go through engine 0. This removes the contention between processors but could create a bottleneck if engine 0 becomes busy with non-I/O tasks.
Ссылка: http://dba.fyicenter.com/Interview-Questions/SYBASE/What_is_Trace_Flag_Definitions_in_Sybase.html#1.3.4#1.3.4

Флаг Трассировки: 5102

Назначение: Prevents engine 0 from running any non-affinitied tasks.
Ссылка: http://dba.fyicenter.com/Interview-Questions/SYBASE/What_is_Trace_Flag_Definitions_in_Sybase.html#1.3.4#1.3.4

Флаг Трассировки: 5302

Назначение: Alters default behavior of select…INTO (and other processes) that lock system tables for the duration of the transaction. This trace flag disables such locking during an implicit transaction.
Ссылка: https://support.microsoft.com/help/153096/

Флаг Трассировки: 6498

Назначение: Enables more than one large query compilation to gain access to the big gateway when there is sufficient memory available. It is based on the 80 percentage of SQL Server Target Memory, and it allows for one large query compilation per 25 gigabytes (GB) of memory.
Note: Beginning with SQL Server 2014 SP2 and SQL Server 2016 this behavior is controlled by the engine and trace flag 6498 has no effect.
Ссылка: https://support.microsoft.com/help/3024815
Ссылка: Docs Trace Flags
Ссылка: http://blogs.msdn.com/b/sql_server_team/archive/2015/10/09/query-compile-big-gateway-policy-changes-in-sql-server.aspx
Способ применения: global only

Флаг Трассировки: 6527

Назначение: Disables generation of a memory dump on the first occurrence of an out-of-memory exception in CLR integration. By default, SQL Server generates a small memory dump on the first occurrence of an out-of-memory exception in the CLR. The behaviour of the trace flag is as follows: If this is used as a startup trace flag, a memory dump is never generated. However, a memory dump may be generated if other trace flags are used. If this trace flag is enabled on a running server, a memory dump will not be automatically generated from that point on. However, if a memory dump has already been generated due to an out-of-memory exception in the CLR, this trace flag will have no effect.
Ссылка: Docs Trace Flags
Способ применения: global

Флаг Трассировки: 6530

Назначение: Enables a hotfix for “ FIX: Slow performance in SQL Server 2012 or SQL Server 2014 when you build an index on a spatial data type of a large table”
Ссылка: https://blogs.msdn.microsoft.com/psssql/2013/11/19/spatial-indexing-from-4-days-to-4-hours
Ссылка: https://support.microsoft.com/help/2896720/

Флаг Трассировки: 6531

Назначение: Enables adjustment in the SQLOS scheduling layer to handle queries that issue many short-duration calls to spatial data (which is implemented via CLR functions): “ This fix introduces the trace flag 6531 to indicate to the SQLOS hosting layer that the spatial data type should avoid preemptive protections. This can reduce the CPU consumption and improve the overall performance for spatial activities. Only use this trace flag if the individual, spatial method invocations (per row and column) take less than ~4ms. Longer invocations without preemptive protection could lead to scheduler concurrency issues and SQLCLR punishment messages logged to the error log.”
Ссылка: https://support.microsoft.com/help/3005300/

Флаг Трассировки: 6532

Назначение: Enables performance improvement of query operations with spatial data types in SQL Server 2012 and SQL Server 2014. The performance gain will vary, depending on the configuration, the types of queries, and the objects.
Ссылка: KB3107399
Ссылка: Docs Trace Flags
Способ применения: global or session

Флаг Трассировки: 6533

Назначение: Enables performance improvement of query operations with spatial data types in SQL Server 2012 and SQL Server 2014. The performance gain will vary, depending on the configuration, the types of queries, and the objects.
Ссылка: KB3107399
Ссылка: Docs Trace Flags
Способ применения: global or session

Флаг Трассировки: 6534

Назначение: Enables performance improvement of query operations with spatial data types in SQL Server 2012, SQL Server 2014 and SQL Server 2016. The performance gain will vary, depending on the configuration, the types of queries, and the objects.
Ссылка: https://support.microsoft.com/help/3054180
Ссылка: KB3107399
Ссылка: https://blogs.msdn.microsoft.com/bobsql/2016/06/03/sql-2016-it-just-runs-faster-native-spatial-implementations/
Ссылка: Docs Trace Flags
Способ применения: global or session

Флаг Трассировки: 6545

Назначение: Enables "CLR strict security" behavior (introduced in SQL Server 2017) in SQL Server 2012, SQL Server 2014, and SQL Server 2016. When enabled, this option will require that all assemblies, regardless of PERMISSION_SET, be signed, have an associated signature-based Login, and that the associated Login be granted the UNSAFE ASSEMBLY permission.
Please note:

  1. This TF can only be specified as a startup parameter!
  2. This TF is only available in instances that have been updated / patched with a Service Pack (SP), Cumulative Update (CU), or GDR that was released on or after 2017-08-08.

Ссылка: SQLCLR vs. SQL Server 2012 & 2014 & 2016, Part 7: “CLR strict security” – The Problem Continues … in the Past (Wait, What?!?)
Ссылка: Update adds the "CLR strict security" feature to SQL Server 2016 ( KB4018930 )
Способ применения: global

Флаг Трассировки: 7103

Недокументированный флаг трассировки
Назначение: Disable table lock promotion for text columns
Ссылка: Нет

Флаг Трассировки: 7300

Назначение: Outputs extra info about linked server errors
Ссылка: https://support.microsoft.com/help/314530
Ссылка: https://support.microsoft.com/help/280106/
Ссылка: https://support.microsoft.com/help/280102/
Ссылка: https://connect.microsoft.com/SQLServer/feedback/details/306380/trace-flag-issue-7300-3604

Флаг Трассировки: 7301

Назначение: Fixes a problem in SQL 6.5 where SELECT INTO queries with text/image types were not bulk-logged.
Ссылка: Нет

Флаг Трассировки: 7311

Назначение: Offers a new alternative to handling the tricky problem of converting Oracle NUMBER types (across OLEDB linked server queries) with unknown precision/scale to a valid SQL Server data type, by treating all such types as NUMERIC(38,10).
Ссылка: https://support.microsoft.com/help/3051993/

Флаг Трассировки: 7314

Назначение: Forces NUMBER values with unknown precision/scale to be treated as double values with OLE DB provider
Ссылка: Docs Trace Flags
Ссылка: https://support.microsoft.com/help/3051993
Способ применения: global or session

Флаг Трассировки: 7352

Назначение: Show the optimizer output and the post-optimization rewrite in action
Ссылка: Internals of the Seven SQL Server Sorts – Part 1
Ссылка: http://sqlblog.com/blogs/paul_white/archive/2013/08/31/sql-server-internals-nested-loops-prefetching.aspx
Ссылка: http://www.queryprocessor.com/batch-sort-and-nested-loops
Ссылка: Query Optimizer Deep Dive - Part 4

Флаг Трассировки: 7356

Недокументированный флаг трассировки
Назначение: Added a probe residual to an adaptive join. Full effect unknown.
Ссылка: New Undocumented Trace Flags
Способ применения: ?

Флаг Трассировки: 7357

Назначение: Outputs info re: hashing operators, including role reversal, recursion levels, whether the Unique Hash optimization could be used, info about the hash-related bitmap, etc. Dima’s article is a must-read. For parallel query plans, 7357 does NOT send output to the console window. However, output to the SQL Server error log can be enabled by enabling 3605.
Ссылка: http://www.queryprocessor.com/hash-join-execution-internals
Ссылка: Query Optimizer Deep Dive - Part 4

Флаг Трассировки: 7359

Назначение: Disables the bitmap associated with hash matching. This bitmap is used for “bit-vector filtering” and can reduce the amount of data written to TempDB during hash spills.
Ссылка: www.queryprocessor.com/hash-join-execution-internals

Флаг Трассировки: 7398

Недокументированный флаг трассировки
Назначение: Changed a nested loop join to have ordered prefetch.
Ссылка: New Undocumented Trace Flags
Способ применения: ?

Флаг Трассировки: 7470

Назначение: Fixes a problem where under certain (unknown) conditions, a sort spill occurs for large sorts
Ссылка: https://support.microsoft.com/help/3088480/

Флаг Трассировки: 7412

Назначение: Enables the lightweight query execution statistics profiling infrastructure. unless your server is already CPU bound, like you’re running all the time with 95% CPU, unless you are at that point, turn on this trace flag at any server you have. This would be my advice here because this enables that lightweight profiling infrastructure there and then you’ll see in a few minutes what it unleashes here. So one thing that happens when I enable the lightweight profiling is that the sys.dm_exec_query_profiles DMV, which is something that actually populates the live query stats ability or feature of SSMS, now also is also populated with this lightweight profiling, which means that for all essence, we are now able to run a live query stats on all fashions at any given point in time, and this is extremely useful for let’s say a production DBA that someone calls and says, “Hey, you have a problem. To tap into running system and look at what it’s doing.”
Ссылка: Docs Trace Flags
Ссылка: https://support.microsoft.com/help/3170113
Ссылка: https://www.brentozar.com/archive/2017/10/get-live-query-plans-sp_blitzwho/
Ссылка: https://groupby.org/conference-session-abstracts/enhancements-that-will-make-your-sql-database-engine-roar-2016-sp1-edition/
Способ применения: global only

Флаг Трассировки: 7470

Назначение: Fix for sort operator spills to tempdb in SQL Server 2012 or SQL Server 2014 when estimated number of rows and row size are correct
Ссылка: https://support.microsoft.com/help/3088480

Флаг Трассировки: 7471

Назначение: Running multiple UPDATE STATISTICS for different statistics on a single table concurrently
Ссылка: https://support.microsoft.com/help/3156157
Ссылка: http://sqlperformance.com/2016/05/sql-performance/parallel-rebuilds

Флаг Трассировки: 7497

Назначение: Behavior and intended purpose unknown, but in this post Paul White uses it in concert with 7498 to disable “optimized bitmaps”.
Ссылка: https://sqlperformance.com/2015/11/sql-plan/hash-joins-on-nullable-columns

Флаг Трассировки: 7498

Назначение: Behavior and intended purpose unknown, but in this post Paul White uses it in concert with 7497 to disable “optimized bitmaps”.
Ссылка: https://sqlperformance.com/2015/11/sql-plan/hash-joins-on-nullable-columns

Флаг Трассировки: 7501

Назначение: Dynamic cursors are used by default on forward-only cursors. Dynamic cursors are faster than in earlier versions and no longer require unique indexes. This flag disables the dynamic cursor enhancements and reverts to version 6.0 behavior.
Ссылка: Нет

Флаг Трассировки: 7502

Назначение: Disable cursor plan caching for extended stored procedures
Ссылка: http://basitaalishan.com/2012/02/20/essential-trace-flags-for-recovery-debugging/

Флаг Трассировки: 7505

Назначение: Enables version 6.x handling of return codes when calling dbcursorfetchex and the resulting cursor position follows the end of the cursor result set
Ссылка: Нет

Флаг Трассировки: 7525

Назначение: SQL 8 - Reverts to ver 7 behavior of closing nonstatic cursors regardless of the SET CURSOR_CLOSE_ON_COMMIT state
Ссылка: Нет

Флаг Трассировки: 7601, 7603, 7604, 7605

Назначение: Helps in gathering more information in full text search by turning on full text tracing which gathers information on indexing process using the error log. Also 7603, 7604, 7605 trace flags.
Ссылка: https://connect.microsoft.com/SQLServer/feedback/details/526343/looking-for-documentation-on-trace-flags-7601-7603-7604-and-7605

Флаг Трассировки: 7608

Назначение: Performance fix for slow full text population with a composite clustered index
Ссылка: Нет

Флаг Трассировки: 7613

Назначение: SQL 9 - Search results are missing when performing a full-text search operation on Win SharePoint Services 2.0 site after upgrading
Ссылка: Нет

Флаг Трассировки: 7614

Назначение: SQL 9 - Full-text index population for the indexed view is very slow
Ссылка: Нет

Флаг Трассировки: 7646

Назначение: SQL 10 - Avoids blocking when using full text indexing. An issue we experienced that full text can be slow when there is a high number of updates to the index and is caused by blocking on the docidfilter internal table.
Ссылка: Нет

Флаг Трассировки: 7745

Назначение: Forces Query Store to not flush data to disk on database shutdown.
Note: Using this trace may cause Query Store data not previously flushed to disk to be lost in case of shutdown. For a SQL Server shutdown, the command SHUTDOWN WITH NOWAIT can be used instead of this trace flag to force an immediate shutdown.
Ссылка: Docs Trace Flags
Ссылка: Query Store Trace Flags
Способ применения: global only

Флаг Трассировки: 7752

Назначение: Enables asynchronous load of Query Store.
Note: Use this trace flag if SQL Server is experiencing high number of QDS_LOADDB waits related to Query Store synchronous load (default behavior).
Ссылка: Docs Trace Flags
Ссылка: Query Store Trace Flags
Способ применения: global only

Флаг Трассировки: 7806

Назначение: Enables a dedicated administrator connection (DAC) on SQL Server Express. By default, no DAC resources are reserved on SQL Server Express.
Ссылка: Docs Trace Flags
Ссылка: https://msdn.microsoft.com/en-us/library/ms189595.aspx
Ссылка: https://sqlperformance.com/2012/08/sql-memory/test-your-dac-connection
Способ применения: global only

Флаг Трассировки: 7826

Назначение: Disable Connectivity ring buffer
Ссылка: http://blogs.msdn.com/b/sql_protocols/archive/2008/05/20/connectivity-troubleshooting-in-sql-server-2008-with-the-connectivity-ring-buffer.aspx

Флаг Трассировки: 7827

Назначение: Record connection closure info in ring buffer
Ссылка: http://blogs.msdn.com/b/sql_protocols/archive/2008/05/20/connectivity-troubleshooting-in-sql-server-2008-with-the-connectivity-ring-buffer.aspx
Ссылка: https://connect.microsoft.com/SQLServer/feedback/details/518158/-packet-error-a-fatal-error-occurred-while-reading-the-input-stream-from-the-network

Флаг Трассировки: 7833

Назначение: SQL 2012 SP2 CU8 introduced a fix for a “silent error” condition in the sqlcmd tool. The CU also included this flag to allow customers to revert to pre-CU fix behavior.
Ссылка: https://support.microsoft.com/help/3082877/

Флаг Трассировки: 8001

Назначение: Khen2005, p2: “For SQL Server 2005, the SQL Server product team opted not to include some wait types that fall under one of the following three categories:

Флаг Трассировки: 8002

Назначение: Changes CPU Affinity behaviour
Ссылка: https://blogs.msdn.microsoft.com/psssql/2011/11/11/sql-server-clarifying-the-numa-configuration-information

Флаг Трассировки: 8004

Назначение: SQL server to create a mini-dump once you enable 2551 and a out of memory condition is hit
Ссылка: https://connect.microsoft.com/SQLServer/feedback/details/342691/not-enough-memory-was-available-for-trace-error-when-attempting-to-profile-sql-2008

Флаг Трассировки: 8008

Недокументированный флаг трассировки
Назначение: Force the scheduler hint to be ignored. Always assign to the scheduler with the least load (pool based on SQL 2012 EE SKU or Load Factor for previous versions and SKUs.)
Ссылка: How It Works: SQL Server 2012 Database Engine Task Scheduling
Ссылка: https://blogs.msdn.microsoft.com/psssql/2013/08/13/how-it-works-sql-server-2012-database-engine-task-scheduling
Ссылка: http://www.stillhq.com/sqldownunder/archives/msg05089.html

Флаг Трассировки: 8009

Недокументированный флаг трассировки
Назначение: Enables the “idle state behavior” (see IO Basics, Chapter 2 document) that a SQL instance can enter under certain conditions.
Ссылка: https://technet.microsoft.com/en-us/library/cc917726.aspx

Флаг Трассировки: 8010

Назначение: Disables the “idle state” behavior that a SQL instance can enter (see TF 8009). Fixes problem that SQL Server services can not be stopped
Ссылка: https://support.microsoft.com/help/2633271 Ссылка: https://technet.microsoft.com/en-us/library/cc917726.aspx

Флаг Трассировки: 8011

Назначение: Trace flag 8011 disables the collection of additional diagnostic information for Resource Monitor. You can use the information in this ring buffer to diagnose out-of-memory conditions. Trace flag 8011 always applies across the server and has global scope. You can turn on trace flag 8011 at startup or in a user session.
Ссылка: KB920093
Ссылка: Docs Trace Flags
Способ применения: global or session

Флаг Трассировки: 8012

Назначение: Disable the ring buffer for schedulers. SQL Server records an event in the schedule ring buffer every time that one of the following events occurs: a scheduler switches context to another worker, a worker is suspended, a worker is resumed, a worker enters the preemptive mode or the non-preemptive mode. You can use the diagnostic information in this ring buffer to analyze scheduling problems. For example, you can use the information in this ring buffer to troubleshoot problems when SQL Server stops responding. Trace flag 8012 disables recording of events for schedulers. You can turn on trace flag 8012 only at startup. The exception ring buffer records the last 256 exceptions that are raised on a node. Each record contains some information about the error and contains a stack trace. A record is added to the ring buffer when an exception is raised.
Ссылка: KB920093
Ссылка: Docs Trace Flags
Способ применения: global only

Флаг Трассировки: 8015

Назначение: Disable auto-detection and NUMA setup
Ссылка: Docs Trace Flags
Ссылка: http://sql-sasquatch.blogspot.se/2013/04/startup-trace-flags-i-love.html
Ссылка: Upgrading an expired SQL Server 2016 Evaluation Edition
Способ применения: global only

Флаг Трассировки: 8016

Недокументированный флаг трассировки
Назначение: Force load balancing to be ignored. Always assign to the preferred scheduler.
Ссылка: How It Works: SQL Server 2012 Database Engine Task Scheduling

Флаг Трассировки: 8017

Назначение: Upgrade version conflict
Ссылка: http://social.msdn.microsoft.com/Forums/eu/sqlexpress/thread/dd6fdc16-9d8d-4186-9549-85ba4c322d10
Ссылка: http://connect.microsoft.com/SQLServer/feedback/details/407692/indicateur-de-trace-8017-reported-while-upgrading-from-ssee2005-to-ssee2008
Ссылка: http://dba.stackexchange.com/questions/48580/trace-flag-and-which-need-to-be-turned-off-and-why

Флаг Трассировки: 8018

Назначение: Disables the creation of the ring buffer, and no exception information is recorded. Disabling the exception ring buffer makes it more difficult to diagnose problems that are related to internal server errors.
Ссылка: KB920093
Ссылка: Docs Trace Flags
Способ применения: global only

Флаг Трассировки: 8019

Назначение: Disable stack collection for the exception ring buffer Disables stack collection during the record creation. Trace flag 8019 has no effect if trace flag 8018 is turned on.
Ссылка: KB920093
Ссылка: Docs Trace Flags
Способ применения: global only

Флаг Трассировки: 8020

Назначение: Disable working set monitoring. SQL Server uses the size of the working set when SQL Server interprets the global memory state signals from the operating system. Trace flag 8020 removes the size of the working set from consideration when SQL Server interprets the global memory state signals. If you use this trace flag incorrectly, heavy paging occurs, and the performance is poor. Therefore, contact Microsoft Support before you turn on trace flag 8020.
Ссылка: KB920093
Ссылка: Docs Trace Flags
Способ применения: global only

Флаг Трассировки: 8021

Назначение: On some lower end hardware we used to get reported that each CPU has its own NUMA node. This was usually incorrect and when we detected only a single CPU per NODE we would assume NO NUMA. Trace flag 8021 disables this override.
Ссылка: https://blogs.msdn.microsoft.com/psssql/2011/11/11/sql-server-clarifying-the-numa-configuration-information/

Флаг Трассировки: 8022

Назначение: This flag gives more information about the conditions when a non-yielding scheduler/situation was encountered. The whitepaper linked to on the right gives example output for this flag
Ссылка: Нет

Флаг Трассировки: 8024

Назначение: When this TF is on, it affects the mini-dump generation logic for the 1788* errors: "To capture a mini-dump, one of the following checks must also be met.

  1. The non-yielding workers CPU utilization must be > 40 percent.
  2. The SQL Server process is not starved for overall CPU resource utilization. Additional check #1 is targeted at runaway CPU users. Additional check #2 is targeted at workers with lower utilizations that are probably stuck in an API call or similar activity."
    Ссылка: How To Diagnose and Correct Errors 17883, 17884, 17887, and 17888

Флаг Трассировки: 8025

Назначение: SQL on NUMA normally does most of its allocation on Node 1, because usually Windows and other programs will allocate from Node 0. However, if you want SQL to do its resource allocation on the default node (node 0), turn on this flag.
Ссылка: https://blogs.msdn.microsoft.com/psssql/2011/11/11/sql-server-clarifying-the-numa-configuration-information

Флаг Трассировки: 8026

Назначение: SQL Server will clear a dump trigger after generating the dump once
Ссылка: KB917825
Ссылка: Controlling SQL Server memory dumps

Флаг Трассировки: 8030

Назначение: Fix for performance bug
Ссылка: https://support.microsoft.com/help/917035

Флаг Трассировки: 8032

Назначение: Alters cache limit settings
Warning: Trace flag 8032 can cause poor performance if large caches make less memory available for other memory consumers, such as the buffer pool.
Ссылка: Docs Trace Flags
Способ применения: global only

Флаг Трассировки: 8033

Назначение: Suppresses messages of the form “The time stamp counter of CPU on scheduler id 1 is not synchronized with other CPUs” from being placed in the SQL Error log when CPU drift is noticed
Warning: SQL 9 - Disable the reporting of CPU Drift errors in the SQL Server error log like time stamp counter of CPU on scheduler id 1 is not synchronized with other CPUs.
Ссылка: https://support.microsoft.com/help/931279/
Ссылка: https://blogs.msdn.microsoft.com/psssql/2007/08/19/sql-server-2005-rdtsc-truths-and-myths-discussed

Флаг Трассировки: 8038

Назначение: Will drastically reduce the number of context switches when running SQL 2005 or 2008
Ссылка: KB972767
Ссылка: http://forum.proxmox.com/threads/15844-Win7-x64-guest-with-SQLServer-2012-High-CPU-usage
Ссылка: TECHNET List Of SQL Server Trace Flags

Флаг Трассировки: 8040

Назначение: Disables Resource Governor
Ссылка: http://www.sqlservergeeks.com/blogs/AmitBansal/sql-server-bi/64/sql-server-disabling-resource-governor-permanently-somewhat

Флаг Трассировки: 8048

Note: Beginning with SQL Server 2014 SP2 and SQL Server 2016 this behavior is controlled by the engine and trace flag 8048 has no effect.
Назначение: Converts NUMA partitioned memory objects into CPU partitioned
Ссылка: http://sql-sasquatch.blogspot.se/2013/04/startup-trace-flags-i-love.html
Ссылка: https://support.microsoft.com/help/2809338
Ссылка: http://blogs.msdn.com/b/psssql/archive/2012/12/20/how-it-works-cmemthread-and-debugging-them.aspx
Ссылка: Docs Trace Flags
Ссылка: http://blogs.msdn.com/b/psssql/archive/2011/09/01/sql-server-2008-2008-r2-on-newer-machines-with-more-than-8-cpus-presented-per-numa-node-may-need-trace-flag-8048.aspx
Ссылка: Hidden Performance & Manageability Improvements in SQL Server 2012 / 2014
Related to: 8015, 9024
Способ применения: global only

Флаг Трассировки: 8049

Назначение: SQL 9+ Startup only – Allows use of 1ms times even when patched. Check 8038 for details.
Ссылка: KB972767
Ссылка: https://blogs.msdn.microsoft.com/psssql/2010/08/18/how-it-works-timer-outputs-in-sql-server-2008-r2-invariant-tsc

Флаг Трассировки: 8050

Назначение: Causes "optional" wait types (see the CSS article) to be excluded when querying sys.dm_os_wait_stats
Ссылка: https://blogs.msdn.microsoft.com/psssql/2009/11/02/the-sql-server-wait-type-repository/

Флаг Трассировки: 8075

Назначение: Enables a fix (after applying the appropriate CU) for x64 VAS exhaustion.
Ссылка: https://support.microsoft.com/help/3074434/

Флаг Трассировки: 8079

Назначение: Allows SQL Server 2014 SP2 to interrogate the hardware layout and automatically configure Soft-NUMA on systems reporting 8 or more CPUs per NUMA node. The automatic Soft-NUMA behavior is Hyperthread (HT/logical processor) aware. The partitioning and creation of additional nodes scales background processing by increasing the number of listeners, scaling and network and encryption capabilities. When Trace Flag 8079 is enabled during startup, SQL Server 2012 SP4 will interrogate the hardware layout and automatically configure Soft NUMA on systems reporting 8 or more CPUs per NUMA node. It is recommended to first test the performance of workload with Auto-Soft NUMA before it is turned ON in production. Note: This trace flag applies to SQL Server 2014 SP2 and SQL Server 2012 SP4. Beginning with SQL Server 2016 this behavior is controlled by the engine and trace flag 8048 has no effect.
Ссылка: KB972767
Ссылка: Docs Trace Flags
Ссылка: https://blogs.msdn.microsoft.com/sqlreleaseservices/sql-server-2012-service-pack-4-sp4-released/
Ссылка: Hidden Performance & Manageability Improvements in SQL Server 2012 / 2014
Способ применения: global only

Флаг Трассировки: 8202

Назначение: Used to replicate UPDATE as DELETE/INSERT pair at the publisher. i.e. UPDATE commands at the publisher can be run as an "on-page DELETE/INSERT" or a "full DELETE/INSERT". If the UPDATE command is run as an "on-page DELETE/INSERT," the Logreader send UDPATE command to the subscriber, If the UPDATE command is run as a "full DELETE/INSERT," the Logreader send UPDATE as DELETE/INSERT Pair. If you turn on trace flag 8202, then UPDATE commands at the publisher will be always send to the subscriber as DELETE/INSERT pair.
Ссылка: Нет

Флаг Трассировки: 8203

Назначение: Display statement and transaction locks on a deadlock error
Ссылка: Нет

Флаг Трассировки: 8206

Назначение: SQL 8 - Supports stored procedure execution with a user specified owner name for SQL Server subscribers or without owner qualification for heterogeneous subscribers
Ссылка: Нет

Флаг Трассировки: 8207

Назначение: Enables singleton updates for Transactional Replication. Updates to subscribers can be replicated as a DELETE and INSERT pair. This might not meet business rules, such as firing an UPDATE trigger. With trace flag 8207 an update to a unique column that affects only one row (a singleton update) is replicated as an UPDATE and not as a DELETE or INSERT pair. If the update affects a column on which has a unique constraint or if the update affects multiple rows, the update is still replicated as a DELETE or INSERT pair.
Ссылка: https://blogs.msdn.microsoft.com/psssql/2009/11/02/the-sql-server-wait-type-repository/
Ссылка: Docs Trace Flags
Способ применения: global only

Флаг Трассировки: 8209

Назначение: Output extra information to error log regarding replication of schema changes in SQL Server Replication
Ссылка: Нет

Флаг Трассировки: 8218

Назначение: Determine whether trace flag to bypass proc generation has been set. Referenced in the system procedure [master].[sys].[sp_cdc_vupgrade]
Ссылка: Нет

Флаг Трассировки: 8295

Назначение: Creates a secondary index on the identifying columns on the change tracking side table at enable time
Ссылка: https://social.msdn.microsoft.com/forums/sqlserver/en-US/00250311-7991-47b0-b788-7fae2e102254/trace-flag-8295
Ссылка: https://support.microsoft.com/help/2476322/
Ссылка: https://www.brentozar.com/archive/2014/06/performance-tuning-sql-server-change-tracking
Ссылка: https://blogs.technet.microsoft.com/smartinez/2013/03/06/sql-server-for-configmgr-2012-ebook-and-top-10-database-issues
Thanks to: Wilfred van Dijk

Флаг Трассировки: 8446

Назначение: Databases in SQL 8 do not have a Service Broker ID. If you restore these databases on SQL 9 by using the WITH NORECOVERY option, these databases will not be upgraded causing mirroring & log-shipping configurations to fail.
Ссылка: https://support.microsoft.com/help/959008

Флаг Трассировки: 8501

Назначение: Writes detailed information about Ms-DTC context & state changes to the log
Ссылка: Нет

Флаг Трассировки: 8599

Назначение: Allows you to use a save-point within a distributed transaction
Ссылка: Нет

Флаг Трассировки: 8602

Назначение: Ignore index hints that are specified in query/procedure.
Ссылка: http://download.microsoft.com/download/6/e/5/6e52bf39-0519-42b7-b806-c32905f4a066/eim_perf_flowchart_final.pdf
Ссылка: http://sqlblog.com/blogs/kalen_delaney/archive/2008/02/26/lost-without-a-trace.aspx
Способ применения: global only

Флаг Трассировки: 8605

Недокументированный флаг трассировки
Назначение: Displays logical and physical trees used during the optimization process
Ссылка: More Undocumented Query Optimizer Trace Flags
Ссылка: Yet another X-Ray for the QP
Ссылка: Query Optimizer Deep Dive - Part 4

Флаг Трассировки: 8606

Недокументированный флаг трассировки
Назначение: Show LogOp Trees
Ссылка: Cardinality Estimation Framework 2014 First Look
Ссылка: Yet another X-Ray for the QP
Ссылка: Query Optimizer Deep Dive - Part 4

Флаг Трассировки: 8607

Назначение: Displays the optimization output tree during the optimization process
Ссылка: Internals of the Seven SQL Server Sorts – Part 1
Ссылка: More Undocumented Query Optimizer Trace Flags
Ссылка: Yet another X-Ray for the QP
Ссылка: Query Optimizer Deep Dive - Part 4

Флаг Трассировки: 8608

Назначение: Shows the initial Memo structure
Ссылка: http://www.queryprocessor.ru/optimizer-part-3-full-optimiztion-optimization-search0
Ссылка: http://www.benjaminnevarez.com/2012/04/inside-the-query-optimizer-memo-structure
Ссылка: http://sqlblog.com/blogs/paul_white/archive/2012/04/29/query-optimizer-deep-dive-part-3.aspx
Ссылка: Query Optimizer Deep Dive - Part 4

Флаг Трассировки: 8609

Назначение: PWhite: “Task and operation type counts”
Ссылка: Query Optimizer Deep Dive - Part 4
Ссылка: http://www.queryprocessor.ru/good-enough-plan

Флаг Трассировки: 8612

Назначение: Add Extra Info to the Trees Output
Ссылка: Cardinality Estimation Framework 2014 First Look
Ссылка: http://sqlblog.com/blogs/paul_white/archive/2013/06/11/hello-operator-my-switch-is-bored.aspx

Флаг Трассировки: 8615

Недокументированный флаг трассировки
Назначение: Display the final memo structure
Ссылка: http://www.benjaminnevarez.com/2012/04/inside-the-query-optimizer-memo-structure/
Ссылка: http://www.somewheresomehow.ru/optimizer-part-3-full-optimiztion-optimization-search0/
Ссылка: A Row Goal Riddle
Способ применения: session only

Флаг Трассировки: 8619

Недокументированный флаг трассировки
Назначение: Show Applied Transformation Rules
Ссылка: http://sqlblog.com/blogs/paul_white/archive/2013/02/06/incorrect-results-with-indexed-views.aspx
Ссылка: Cardinality Estimation Framework 2014 First Look
Ссылка: Yet another X-Ray for the QP
Ссылка: A Row Goal Riddle
Способ применения: session only

Флаг Трассировки: 8620

Недокументированный флаг трассировки
Назначение: Add memo arguments to trace flag 8619
Ссылка: Query Optimizer Deep Dive - Part 4
Ссылка: Yet another X-Ray for the QP
Ссылка: A Row Goal Riddle
Способ применения: session only

Флаг Трассировки: 8621

Недокументированный флаг трассировки
Назначение: Rule with resulting tree
Ссылка: Query Optimizer Deep Dive - Part 4
Ссылка: Yet another X-Ray for the QP
Ссылка: A Row Goal Riddle
Способ применения: session only

Флаг Трассировки: 8628

Недокументированный флаг трассировки
Назначение: When used with TF 8666, causes extra information about the transformation rules applied to be put into the XML showplan.
Ссылка: Yet another X-Ray for the QP

Флаг Трассировки: 8633

Назначение: PWhite: “Enable prefetch (CUpdUtil::FPrefetchAllowedForDML and CPhyOp_StreamUpdate::FDoNotPrefetch)”
Ссылка: http://sqlblog.com/blogs/paul_white/archive/2013/01/26/optimizing-t-sql-queries-that-change-data.aspx

Флаг Трассировки: 8649

Назначение: Set Cost Threshold for parallelism from 1 to 0
Ссылка: http://sqlblog.com/blogs/paul_white/archive/2011/12/23/forcing-a-parallel-query-execution-plan.aspx
Ссылка: http://sqlblog.com/blogs/adam_machanic/archive/2013/07/11/next-level-parallel-plan-porcing.aspx
Ссылка: What You Need to Know about the Batch Mode Window Aggregate Operator in SQL Server 2016: Part 1

Флаг Трассировки: 8665

Недокументированный флаг трассировки
Назначение: Disables local/global aggregation.
Ссылка: New Undocumented Trace Flags
Способ применения: ?

Флаг Трассировки: 8666

Недокументированный флаг трассировки
Назначение: Included in execution plans are the names of the stats it used to come up with the plan. Using a bit o' XML magic and over time, it allows you to clearly identify which stats are actually in use so that you can delete unused stats. CQScanPartitionSortNew is one of only two sort classes that sets the Soft Sort property exposed when Sort operator execution plan properties are generated with undocumented trace flag 8666 enabled
Ссылка: Internals of the Seven SQL Server Sorts – Part 1
Ссылка: Yet another X-Ray for the QP
Ссылка: https://blogfabiano.com/2012/07/03/statistics-used-in-a-cached-query-plan
Ссылка: http://dataidol.com/davebally/2014/04/12/reasons-why-your-plans-suck-no-56536
Ссылка: https://www.mssqltips.com/sqlservertip/4269/how-to-identify-useful-sql-server-table-statistics/

Флаг Трассировки: 8671

Недокументированный флаг трассировки
Назначение: According to Dima, disables the logic that prunes the memo and prevents the optimization process from stopping due to “Good Enough Plan found”. Can significantly increase the amount of time, CPU, and memory used in the compilation process
Ссылка: http://www.queryprocessor.ru/optimizer_unleashed_2

Флаг Трассировки: 8675

Назначение: Displays the query optimization phases for a specific optimization
Ссылка: More Undocumented Query Optimizer Trace Flags
Ссылка: http://sqlblog.com/blogs/paul_white/archive/2012/04/29/query-optimizer-deep-dive-part-3.aspx
Ссылка: https://sqlperformance.com/2013/06/sql-indexes/recognizing-missed-optimizations

Флаг Трассировки: 8677

Недокументированный флаг трассировки
Назначение: Skips “Search 1” phase of query optimization, and only Search 0 and Search 2 execute.
Ссылка: https://sqlbits.com/Sessions/Event12/Query_Optimizer_Internals_Traceflag_fun

Флаг Трассировки: 8678

Недокументированный флаг трассировки
Назначение: For one query this changed a bushy plan to a left deep one. There was no change in cost. Full effect unknown.
Ссылка: New Undocumented Trace Flags
Способ применения: ?

Флаг Трассировки: 8679

Недокументированный флаг трассировки
Назначение: Prevents the SQL Server optimizer from using a Hash Match Team operator
Ссылка: Нет

Флаг Трассировки: 8687

Недокументированный флаг трассировки
Назначение: Prevents the SQL Server optimizer from using a Hash Match Team operator
Ссылка: Нет

Флаг Трассировки: 8688

Недокументированный флаг трассировки
Назначение: Disables parallel scans.
Ссылка: New Undocumented Trace Flags
Способ применения: ?

Флаг Трассировки: 8690

Недокументированный флаг трассировки
Назначение: Disable the spool on the inner side of nested loop. Spools improve performance in majority of the cases. But it’s based on estimates. Sometimes, this can be incorrect due to unevenly distributed or skewed data, causing slow performance. But in vast majority of situations, you don’t need to manually disable spool with this trace flag.
Ссылка: https://blogs.msdn.microsoft.com/psssql/2015/12/15/spool-operator-and-trace-flag-8690/
Ссылка: http://dba.stackexchange.com/questions/52552/index-not-making-execution-faster-and-in-some-cases-is-slowing-down-the-query
Ссылка: http://connect.microsoft.com/SQL/feedback/ViewFeedback.aspx?FeedbackID=453982

Флаг Трассировки: 8691

Недокументированный флаг трассировки
Назначение: 'performance spool' optimization to the RegEx execution, reduces the number of executions of the RegEx function.
Ссылка: Splitting Strings Based on Patterns
Способ применения: ?

Флаг Трассировки: 8692

Назначение: Force optimizer to use an Eager Spool for Halloween Protection
Ссылка: http://www.sqlperformance.com/2013/02/sql-plan/halloween-problem-part-4
Ссылка: https://sqlperformance.com/2016/03/sql-plan/changes-to-a-writable-partition-may-fail

Флаг Трассировки: 8719

Назначение: In SQL 2000, apparently would show IO prefetch on loop joins and bookmarks. I (Aaron) was unable to replicate the query plan behavior on SQL 2012 using the same test, so this flag may be obsolete.
Ссылка: http://www.hanlincrest.com/SQLServerLockEscalation.htm

Флаг Трассировки: 8720

Назначение: In SQL 2000, apparently would have the same effect as OPTION(KEEPFIXED PLAN)
Ссылка: http://www.hanlincrest.com/SQLserverStoredProcRecompiles.htm

Флаг Трассировки: 8721

Назначение: Reports to the error log when auto-update statistics executes
Ссылка: https://support.microsoft.com/help/195565
Ссылка: Docs Trace Flags
Способ применения: global only

Флаг Трассировки: 8722

Назначение: Disable all hints except locking hints
Ссылка: http://sqlmag.com/sql-server/investigating-trace-flags

Флаг Трассировки: 8738

Назначение: (Apparently) disables an optimization where rows are sorted before a Key Lookup operator. (The optimization is meant to promote Sequential IO rather than the random nature of IO from Key Lookups). Note that the context in which this flag is described means that the above description may not be very precise, or even the only use of this flag.
Ссылка: https://answers.sqlperformance.com/questions/603/why-is-the-sort-operator-needed-in-this-plan.html

Флаг Трассировки: 8739

Назначение: Dima: “Group Optimization Info”
Ссылка: http://www.queryprocessor.ru/good-enough-plan

Флаг Трассировки: 8741

Недокументированный флаг трассировки
Назначение: Resulted in a different join order for some queries with a higher estimated cost. Perhaps this disables Transitive Predicates? Full effect unknown.
Ссылка: New Undocumented Trace Flags
Способ применения: ?

Флаг Трассировки: 8742

Недокументированный флаг трассировки
Назначение: Resulted in a different join order for some queries. Full effect unknown.
Ссылка: New Undocumented Trace Flags
Способ применения: ?

Флаг Трассировки: 8744

Назначение: Disable pre-fetching for the Nested Loop operator. Incorrect use of this trace flag may cause additional physical reads when SQL Server executes plans that contain the Nested Loops operator.
Ссылка: KB920093
Ссылка: Docs Trace Flags
Ссылка: http://sqlblog.com/blogs/paul_white/archive/2013/03/08/execution-plan-analysis-the-mystery-work-table.aspx
Ссылка: https://connect.microsoft.com/SQLServer/feedback/details/780194/make-dbcc-trace-flags-available-as-option-querytraceon
Способ применения: global or session

Флаг Трассировки: 8746

Назначение: Whatever else it does, one effect is to disable the “rowset sharing” optimization described in the 2 PWhite posts.
Ссылка: https://sqlperformance.com/2016/03/sql-plan/changes-to-a-writable-partition-may-fail

Флаг Трассировки: 8750

Недокументированный флаг трассировки
Назначение: Skips search 0 optimization phase and moves to search 1.
Ссылка: New Undocumented Trace Flags
Способ применения: ?

Флаг Трассировки: 8755

Назначение: Disable all locking hints
Ссылка: http://sqlmag.com/sql-server/investigating-trace-flags

Флаг Трассировки: 8757

Назначение: Skip trivial plan optimization and force a full optimization
Ссылка: More Undocumented Query Optimizer Trace Flags
Ссылка: http://sqlblog.com/blogs/paul_white/archive/2012/04/28/query-optimizer-deep-dive-part-1.aspx

Флаг Трассировки: 8758

Назначение: “A [workaround to the MERGE bug described] is to apply Trace Flag 8758 –unfortunately this disables a number of optimisations, not just the one above, so it’s not really recommended for long term use.” “Disable rewrite to a single operator plan (CPhyOp_StreamUpdate::PqteConvert)”
Ссылка: http://sqlblog.com/blogs/paul_white/archive/2010/08/04/another-interesting-merge-bug.aspx
Ссылка: http://sqlblog.com/blogs/paul_white/archive/2013/01/26/optimizing-t-sql-queries-that-change-data.aspx

Флаг Трассировки: 8765

Назначение: Allows use of variable length data, from ODBC driver; fixes the issue of a field returning the wrong data length
Ссылка: http://jacob.steelsmith.org/content/sql-server-and-ole-db
Ссылка: https://bugs.mysql.com/bug.php?id=46857

Флаг Трассировки: 8780

Назначение: Give the optimizer more time to find a better plan
Ссылка: http://www.queryprocessor.ru/optimizer_unleashed_1

Флаг Трассировки: 8783

Назначение: Allows DELETE, INSERT, and UPDATE statements to honor the SET ROWCOUNT ON setting when enabled
Ссылка: Нет

Флаг Трассировки: 8790

Назначение: PWhite: “Undocumented trace flag 8790 forces a wide update plan for any data-changing query (remember that a wide update plan is always possible)”
Ссылка: https://support.microsoft.com/help/956718/
Ссылка: http://sqlblog.com/blogs/paul_white/archive/2012/12/10/merge-bug-with-filtered-indexes.aspx
Ссылка: https://sqlperformance.com/2014/06/sql-plan/filtered-index-side-effect

Флаг Трассировки: 8795

Назначение: PWhite: “Disable DML Request Sort (CUpdUtil::FDemandRowsSortedForPerformance)”
Ссылка: http://sqlblog.com/blogs/paul_white/archive/2013/01/26/optimizing-t-sql-queries-that-change-data.aspx
Ссылка: https://sqlperformance.com/2014/10/t-sql-queries/performance-tuning-whole-plan

Флаг Трассировки: 8799

Недокументированный флаг трассировки
Назначение: Forces unordered scans.
Ссылка: New Undocumented Trace Flags
Способ применения: ?

Флаг Трассировки: 8809

Назначение: Extended Page Heap Activities. Referenced in passing in the CSS article in relation to debugging memory scribbler problems.
Ссылка: https://blogs.msdn.microsoft.com/psssql/2012/11/12/how-can-reference-counting-be-a-leading-memory-scribbler-cause/

Флаг Трассировки: 8816

Назначение: Logs every two-digit year conversion to a four-digit year
Ссылка: Нет

Флаг Трассировки: 8901

Назначение: Enables new (in 7.0) code to correct a problem with the SHRINK command and empty text or image extents
Ссылка: Нет

Флаг Трассировки: 8903

Назначение: Allows SQL Server to use a specific API (SetFileIoOverlappedRange) when Locked Pages in Memory is enabled.
Ссылка: https://blogs.msdn.microsoft.com/psssql/2012/03/20/setfileiooverlappedrange-can-lead-to-unexpected-behavior-for-sql-server-2008-r2-or-sql-server-2012-denali
Ссылка: https://support.microsoft.com/help/2679255/
Ссылка: https://blogs.msdn.microsoft.com/psssql/2013/10/16/every-time-i-attach-database-sql-logs-error-1314-for-setfileiooverlappedrange

Флаг Трассировки: 9024

Назначение: Converts a global log pool memory object into NUMA node partitioned memory object
Note: Beginning with SQL Server 2012 SP3 and SQL Server 2014 SP1 this behavior is controlled by the engine and trace flag 9024 has no effect.
Ссылка: https://support.microsoft.com/help/2809338
Ссылка: Docs Trace Flags
Способ применения: global only
Related to: 8048

Флаг Трассировки: 9050

Назначение: “FIX: The compile time for a query that uses at least one outer join may be greater for SQL Server post-SP3 builds”
Ссылка: Нет

Флаг Трассировки: 9052

Назначение: “FIX: Queries that join a view may run slowly if the view contains outer joins”
Ссылка: Нет

Флаг Трассировки: 9054

Назначение: “FIX: SQL Server 2000 Service Pack 1 (SP1) and later builds may not generate an execution plan for a query, and you receive error message 8623”
Ссылка: Нет

Флаг Трассировки: 9055

Назначение: “FIX: The performance of a DML operation that fires a trigger may decrease when the trigger execution plan recompiles repeatedly”
Ссылка: Нет

Флаг Трассировки: 9056

Назначение: “FIX: A user-defined function returns results that are not correct for a query”
Ссылка: Нет

Флаг Трассировки: 9059

Назначение: SQL 8 - Turns back behavior to SP3 after a SP4 installation, this allows to choose an index seek when comparing numeric columns or numeric constants that are of different precision or scale; else would have to change schema/code.
Ссылка: Нет

Флаг Трассировки: 9061

Назначение: “FIX: Build 8.00.0837: A query that contains a correlated subquery runs slowly”
Ссылка: Нет

Флаг Трассировки: 9062

Назначение: “FIX: Some complex queries are slower after you install SQL Server 2000 Service Pack 2 or SQL Server 2000 Service Pack 3”
Ссылка: Нет

Флаг Трассировки: 9063

Назначение: “FIX: Query performance may be slower if the query contains both a GROUP BY clause and a DISTINCT keyword on the same column”
Ссылка: Нет

Флаг Трассировки: 9065

Назначение: “FIX: The query plan may take longer than expected to compile, and you may receive error message 701, error message 8623, or error message 8651 in SQL Server 2000”
Ссылка: Нет

Флаг Трассировки: 9068

Назначение: “FIX: A query may run more slowly against SQL Server 2000 post-SP3 hotfix build 8.00.0988 than a query that you run against SQL Server 2000 post-SP3 hotfix builds that are earlier than build 8.00.0988”
Ссылка: Нет

Флаг Трассировки: 9079

Назначение: “FIX: The query performance may be slow when you query data from a view in SQL Server 2000”
Ссылка: Нет

Флаг Трассировки: 9082

Назначение: SQL 9 - Stored procedure using views, perform slow compared to ver 8 if views use JOIN operator and contain sub queries
Ссылка: Нет

Флаг Трассировки: 9109

Назначение: Used to workaround a problem with query notifications and restoring a DB with the NEW_BROKER option enabled.
Ссылка: https://support.microsoft.com/help/2483090/

Флаг Трассировки: 9114

Недокументированный флаг трассировки
Назначение: Implemented a (SELECT 1) = 1 predicate as a join instead of optimizing it away.
Ссылка: New Undocumented Trace Flags
Способ применения: ?

Флаг Трассировки: 9115

Назначение: PWhite: “Disable prefetch (CUpdUtil::FPrefetchAllowedForDML)” Dima: “Disables both [NLoop Implicit Batch Sort {TF 2340} and NL Prefetching {TF 8744}], and not only on the Post Optimization, but the explicit Sort also”
Ссылка: http://sqlblog.com/blogs/paul_white/archive/2013/01/26/optimizing-t-sql-queries-that-change-data.aspx
Ссылка: http://www.hanlincrest.com/SQLServerLockEscalation.htm
Ссылка: http://www.queryprocessor.com/batch-sort-and-nested-loops

Флаг Трассировки: 9130

Назначение: Disables the particular copy out stage rewrite from Filter + (Scan or Seek) to (Scan or Seek) + Residual Predicate. Enabling this flag retains the Filter in the final execution plan, resulting in a SQL Server 2008+ plan that mirrors the 2005 version.
Ссылка: http://sqlblog.com/blogs/paul_white/archive/2012/10/15/cardinality-estimation-bug-with-lookups-in-sql-server-2008-onward.aspx
Ссылка: http://sqlblogcasts.com/blogs/sqlandthelike/archive/2012/12/06/my-new-favourite-traceflag.aspx
Ссылка: http://sqlblog.com/blogs/paul_white/archive/2013/06/11/hello-operator-my-switch-is-bored.aspx
Ссылка: https://connect.microsoft.com/SQLServer/feedback/details/767395/cardinality-estimation-error-with-pushed-predicate-on-a-lookup
Ссылка: http://www.theboreddba.com/Categories/FunWithFlags/Revealing-Predicates-in-Execution-Plans-(TF-9130).aspx

Флаг Трассировки: 9134

Назначение: SQL 8 - Does additional reads to test if the page is allocated & linked correctly this checks IAM & PFS. Fixes error 601 for queries under Isolation level read uncommitted. In case performance is affected (because of a bug) apply SP4.
Ссылка: https://support.microsoft.com/help/815008/

Флаг Трассировки: 9136

Назначение: “PRB: You receive error message 8623 when you try to run a query that joins multiple tables”
Ссылка: Нет

Флаг Трассировки: 9164

Недокументированный флаг трассировки
Назначение: Disables hash joins.
Ссылка: New Undocumented Trace Flags
Способ применения: ?

Флаг Трассировки: 9165

Недокументированный флаг трассировки
Назначение: Removed an index recommendation from a plan.
Ссылка: New Undocumented Trace Flags
Способ применения: ?

Флаг Трассировки: 9182

Недокументированный флаг трассировки
Назначение: Resulted in a very strange cost change to a clustered index delete.
Ссылка: New Undocumented Trace Flags
Способ применения: ?

Флаг Трассировки: 9183

Недокументированный флаг трассировки
Назначение: Resulted in a very strange cost change to a clustered index delete.
Ссылка: New Undocumented Trace Flags
Способ применения: ?

Флаг Трассировки: 9185

Назначение: Cardinality estimates for literals that are outside the histogram range are very low
Ссылка: Нет Related to: 9205

Флаг Трассировки: 9204

Назначение: Output Statistics used by Query Optimizer. When enabled and a plan is compiled or recompiled there is a listing of statistics which is being fully loaded & used to produce cardinality and distribution estimates for some plan alternative or other.
Ссылка: How to Find the Statistics Used to Compile an Execution Plan
Related to: 9292

Флаг Трассировки: 9205

Назначение: Cardinality estimates for literals that are outside the histogram range are very low for tables that have parent-child relationships
Ссылка: Нет Related to: 9185

Флаг Трассировки: 9207

Назначение: Fixes that SQL Server underestimates the cardinality of a query expression and query performance may be slow
Ссылка: Нет

Флаг Трассировки: 9209

Назначение: “FIX: Some queries that have a left outer join and an IS NULL filter run slower after you install SQL Server 2000 post-SP3 hotfix”
Ссылка: Нет

Флаг Трассировки: 9210

Назначение: “FIX: A query filter condition that has a LEFT OUTER JOIN clause may cause an incorrect row count estimate in the query execution plan”
Ссылка: Нет

Флаг Трассировки: 9236

Недокументированный флаг трассировки
Назначение: Resulted in a different join order for some queries. Full effect unknown.
Ссылка: New Undocumented Trace Flags
Способ применения: ?

Флаг Трассировки: 9251

Недокументированный флаг трассировки
Назначение: Change in cardinality estimates for some queries. It might only work with the legacy CE. Full effect unknown.
Ссылка: New Undocumented Trace Flags
Способ применения: ?

Флаг Трассировки: 9259

Назначение: Disables Project Normalization step
Note: Please, don’t use TF 9259 that disables Project Normalization step in a real production system, besides it is undocumented and unsupported, it may hurt your performance.
Ссылка: http://www.queryprocessor.com/sudf-ce/

Флаг Трассировки: 9260

Недокументированный флаг трассировки
Назначение: Adds an explicit sort before creation of an index spool. Almost doesn’t change the total estimated cost. Might be identical plans with just more detail shown at that step.
Ссылка: New Undocumented Trace Flags
Способ применения: ?

Флаг Трассировки: 9268

Назначение: SQL 8 - When SQL Server runs a parameterized query that contains several IN clauses, each with a large number of values, SQL Server may return the following error message after a minute or more of high CPU utilization: KB 325658. Server: Msg 8623, Level 16, State 1. Internal Query Processor Error: The query processor could not produce a query plan. Contact your primary support provider for more information.
Ссылка: Нет

Флаг Трассировки: 9275

Назначение: “FIX: A DML Operation on a Large Table Can Cause Performance Problems” Enables SQL 2000 optimizations that sort data in DML statements before the changes are applied to a clustered index
Ссылка: Нет

Флаг Трассировки: 9284

Недокументированный флаг трассировки
Назначение: Changed the order of a scalar operator comparison in a single join for certain queries. Full effect unknown.
Ссылка: New Undocumented Trace Flags
Способ применения: ?

Флаг Трассировки: 9287

Недокументированный флаг трассировки
Назначение: Appears to disable partial aggreation.
Ссылка: New Undocumented Trace Flags
Способ применения: ?

Флаг Трассировки: 9288

Недокументированный флаг трассировки
Назначение: Effects around local and global aggregates - choose coerce partial and global aggregation over scalar aggregation.
Ссылка: https://github.com/ktaranov/sqlserver-kit/issues/93
Способ применения: local only

Флаг Трассировки: 9292

Назначение: Output Statistics considered to be used by Query Optimizer
Ссылка: How to Find the Statistics Used to Compile an Execution Plan
Related to: 9204

Флаг Трассировки: 9341

Недокументированный флаг трассировки
Назначение: Resulted in a rather odd plan for a COUNT(DISTINCT) query against a CCI.
Ссылка: New Undocumented Trace Flags
Способ применения: ?

Флаг Трассировки: 9346

Недокументированный флаг трассировки
Назначение: Appears to disable batch mode window aggregates.
Ссылка: New Undocumented Trace Flags
Способ применения: ?

Флаг Трассировки: 9347

Назначение: Disables batch mode for sort operator. SQL Server 2016 introduces a new batch mode sort operator that boosts performance for many analytical queries.
Ссылка: https://support.microsoft.com/help/3172787
Ссылка: Docs Trace Flags
Ссылка: Niko Neugebauer Columnstore Indexes – part 86
Способ применения: global only

Флаг Трассировки: 9348

Назначение: Sets a row limit (based on cardinality estimates) that controls whether a bulk insert is attempted or not (assuming conditions are met for a bulk insert). Introduced as a workaround for memory errors encountered with bulk insert.
Ссылка: https://support.microsoft.com/help/2998301/

Флаг Трассировки: 9349

Назначение: Disables batch mode for top N sort operator. SQL Server 2016 introduces a new batch mode top sort operator that boosts performance for many analytical queries.
Ссылка: Docs Trace Flags
Ссылка: Niko Neugebauer Columnstore Indexes – part 86
Ссылка: https://support.microsoft.com/help/3172787
Способ применения: global or session or query

Флаг Трассировки: 9354

Недокументированный флаг трассировки
Назначение: Disable aggregate pushdown operations for columnstore indexes. The number of rows aggregated at the level of the scan is displayed in the new property plan Actual Number Of Locally Aggregated Rows. TF 9354 can be used to disable the push of aggregation, the difference can be observed by the runtime, according to the number of rows in the plan Actual Number Of Locally Aggregated Rows and number Actual Number Of Rows output from the scan operator.
Example:

use AdventureworksDW2016CTP3;
set nocount on;
go
-- Undocumented TF 9354 disables this optimization, run to see Aggregation Pushdown Performance Gain
set statistics xml, time on;
select count_big(*) from dbo.FactResellerSalesXL_CCI;
select count_big(*) from dbo.FactResellerSalesXL_CCI option(querytraceon 9354); -- undocumented/unsupported TF 9354 to disable aggregate pushdown
set statistics xml, time off;

Флаг Трассировки: 9358

Назначение: Disable batch mode sort operations in a complex parallel query. For example, this flag could apply if the query contains merge join operations.
Ссылка: Niko Neugebauer Columnstore Indexes – part 86
Ссылка: https://support.microsoft.com/help/3171555

Флаг Трассировки: 9384

Недокументированный флаг трассировки
Назначение: Very slightly changed the memory grant of a query with a batch mode window aggregate.
Ссылка: New Undocumented Trace Flags
Способ применения: ?

Флаг Трассировки: 9389

Назначение: Enables dynamic memory grant for batch mode operators. If a query does not get all the memory it needs, it spills data to tempdb, incurring additional I/O and potentially impacting query performance. If the dynamic memory grant trace flag is enabled, a batch mode operator may ask for additional memory and avoid spilling to tempdb if additional memory is available.
Ссылка: Niko Neugebauer Columnstore Indexes – part 86
Ссылка: Docs Trace Flags
Способ применения: global or session

Флаг Трассировки: 9390

Недокументированный флаг трассировки
Назначение: Resulted in plan changes including parallelism for queries that shouldn’t have been eligible for parallelism based on CTFP. Full effect unknown.
Ссылка: New Undocumented Trace Flags
Способ применения: ?

Флаг Трассировки: 9394

Назначение: Apparently enables a fix for an access violation when a table with Japanese characters has an indexed changed.
Ссылка: https://support.microsoft.com/help/3142595/
Ссылка: https://support.microsoft.com/help/3138659/

Флаг Трассировки: 9398

Недокументированный флаг трассировки
Назначение: Disable adaptive join.
Ссылка: SQL Server 2017: Adaptive Join Internals
Способ применения: ?

Флаг Трассировки: 9399

Недокументированный флаг трассировки
Назначение: Optimization adaptive threshold rows. The adaptive threshold to the minimum estimate.
Ссылка: SQL Server 2017: Adaptive Join Internals
Способ применения: ?

Флаг Трассировки: 9410

Недокументированный флаг трассировки
Назначение: Fix slowly query runs when SQL Server uses hash aggregate in the query plan.
Ссылка: https://support.microsoft.com/help/3167159/
Способ применения: ?

Флаг Трассировки: 9412

Недокументированный флаг трассировки
Назначение: Removes the new OptimizerStatsUsage information from estimated query plans.
Ссылка: New Undocumented Trace Flags
Способ применения: ?

Флаг Трассировки: 9415

Недокументированный флаг трассировки
Назначение: Optimization adaptive join internals.
Ссылка: SQL Server 2017: Adaptive Join Internals
Способ применения: ?

Флаг Трассировки: 9447

Недокументированный флаг трассировки
Назначение: Forces query plans to use the new referential integrity operator when validating UPDATE and DELETE queries against foreign key parent tables.
Ссылка: New Undocumented Trace Flags
Способ применения: ?

Флаг Трассировки: 9448

Недокументированный флаг трассировки
Назначение: Disables the referential integrity operator.
Ссылка: https://orderbyselectnull.com/2017/12/05/the-referential-integrity-operator/

Флаг Трассировки: 9453

Назначение: Disables Batch Mode in Parallel Columnstore query plans. (Note that a plan using batch mode appears to require a recompile before the TF takes effect) Sunil Agarwal also used this trace flag in demo scripts for a PASS 2014 session on column store indexing
Ссылка: Niko Neugebauer Columnstore Indexes – part 35
Ссылка: What You Need to Know about the Batch Mode Window Aggregate Operator in SQL Server 2016: Part 1

Флаг Трассировки: 9471

Назначение: Causes SQL Server to generate a plan using minimum selectivity for single-table filters, under the query optimizer cardinality estimation model of SQL Server 2014 through SQL Server 2016 versions. Beginning with SQL Server 2016 SP1, to accomplish this at the query level, add the USE HINT query hint instead of using this trace flag.
Note: Please ensure that you thoroughly test this option, before rolling it into a production environment.
Ссылка: New Features in SQL Server 2016 Service Pack 1
Ссылка: Docs Trace Flags
Способ применения: global or session or query

Флаг Трассировки: 9472

Назначение: Assumes independence for multiple WHERE predicates in the SQL 2014 cardinality estimation model. Predicate independence was the default for versions prior to SQL Server 2014, and thus this flag can be used to more closely emulate pre-SQL 2014 cardinality estimate behavior in a more specific fashion than TF 9481.
Ссылка: https://sqlperformance.com/2014/01/sql-plan/cardinality-estimation-for-multiple-predicates
Ссылка: https://connect.microsoft.com/SQLServer/feedback/details/801908/sql-server-2014-cardinality-estimation-regression

Флаг Трассировки: 9473

Недокументированный флаг трассировки
Назначение: Allowing the outer join to keep a zero-row inner-side estimate (instead of raising to one row) (so all outer rows qualify) gives a 'bug-free' join estimation with either calculator. If you're interested in exploring this, the undocumented trace flag is 9473 (alone).
Ссылка: https://dba.stackexchange.com/a/141533/107045
Способ применения: ?

Флаг Трассировки: 9474

Недокументированный флаг трассировки
Назначение: Change in cardinality estimates for some joins in certain queries. Full effect unknown.
Ссылка: New Undocumented Trace Flags
Способ применения: ?

Флаг Трассировки: 9476

Назначение: Causes SQL Server to generate a plan using the Simple Containment assumption instead of the default Base Containment assumption, under the query optimizer cardinality estimation model of SQL Server 2014 through SQL Server 2016 versions. Beginning with SQL Server 2016 SP1, to accomplish this at the query level, add the USE HINT query hint instead of using this trace flag. Note: Please ensure that you thoroughly test this option, before rolling it into a production environment.
Ссылка: https://support.microsoft.com/help/3189675
Ссылка: New Features in SQL Server 2016 Service Pack 1
Ссылка: Docs Trace Flags
Способ применения: global or session or query

Флаг Трассировки: 9477

Недокументированный флаг трассировки
Назначение: Slight change in ratio of EstimateRebinds and EstimateRewinds was observed. Full effect unknown.
Ссылка: New Undocumented Trace Flags
Способ применения: ?

Флаг Трассировки: 9478

Недокументированный флаг трассировки
Назначение: Change in cardinality estimates for some joins in certain queries. Full effect unknown.
Ссылка: New Undocumented Trace Flags
Способ применения: ?

Флаг Трассировки: 9479

Недокументированный флаг трассировки
Назначение: Forces the optimizer to use Simple Join [estimation] even if a histogram is available. Will force optimizer to use a simple join estimation algorithm, it may be CSelCalcSimpleJoinWithDistinctCounts, CSelCalcSimpleJoin or CSelCalcSimpleJoinWithUpperBound, depending on the compatibility level and predicate comparison type.
Ссылка: Statistics and Cardinality Estimation
Способ применения: ?

Флаг Трассировки: 9480

Недокументированный флаг трассировки
Назначение: Reduced the selectivity of a bitmap filter from 0.001 to 0.000001. Full effect unknown.
Ссылка: New Undocumented Trace Flags
Способ применения: ?

Флаг Трассировки: 9481

Назначение: Enables you to set the query optimizer cardinality estimation model to the SQL Server 2012 and earlier version independent of the compatibility level of the database. To accomplish this at the database level, see ALTER DATABASE SCOPED CONFIGURATION (Transact-SQL). To accomplish this at the query level, add the QUERYTRACEON query hint
Ссылка: New Features in SQL Server 2016 Service Pack 1
Ссылка: https://sqlserverscotsman.wordpress.com/2016/11/28/a-guide-on-forcing-the-legacy-ce/
Ссылка: Docs Trace Flags
Ссылка: KB2801413
Способ применения: global or session or query

Флаг Трассировки: 9482

Недокументированный флаг трассировки
Назначение: Implements a “model variation” in the SQL 2014 cardinality estimator. The flag turns off the “overpopulated primary key” adjustment that the optimizer might use when determining that a “dimension” table (the schema could be OLTP as well) has many more distinct values than the “fact” table. (The seminal example is where a Date dimension is populated out into the future, but the fact table only has rows up to the current date). Since join cardinality estimation occurs based on the contents of the histograms of the joined columns, an “overpopulated primary key” can result in higher selectivity estimates, causing rowcount estimates to be too low.
Ссылка: http://www.queryprocessor.com/ce_opk

Флаг Трассировки: 9483

Недокументированный флаг трассировки
Назначение: Implements a “model variation” in the SQL 2014 cardinality estimator. The flag will force the optimizer to create (if possible) a filtered statistics object based on a predicate in the query. This filtered stat object is not persisted and thus would be extremely resource intensive for frequent compilations. In Dima’s example, the filtered stat object is actually created on the join column...i.e. “CREATE STATISTICS [filtered stat obj] ON [table] (Join column) WHERE (predicate column = ‘literal’)”
Ссылка: http://www.queryprocessor.com/ce_filteredstats

Флаг Трассировки: 9484

Недокументированный флаг трассировки
Назначение: Slight change in estimated number of rewinds. Full effect unknown.
Ссылка: New Undocumented Trace Flags
Способ применения: ?

Флаг Трассировки: 9485

Назначение: Disables SELECT permission for DBCC SHOW_STATISTICS
Ссылка: https://support.microsoft.com/help/2683304
Ссылка: Docs Trace Flags
Ссылка: http://www.benjaminnevarez.com/2013/02/dbcc-show_statistics-works-with-select-permission
Способ применения: global only

Флаг Трассировки: 9488

Недокументированный флаг трассировки
Назначение: Implements a “model variation” in the SQL 2014 cardinality estimator. This flag reverts the estimation behavior for multi-statement TVFs back to 1 row (instead of the 100-row estimate behavior that was adopted in SQL 2014).
Ссылка: http://www.queryprocessor.com/ce_mtvf

Флаг Трассировки: 9489

Недокументированный флаг трассировки
Назначение: Implements a “model variation” in the SQL 2014 cardinality estimator and turns off the new logic that handles ascending keys.
Ссылка: http://www.queryprocessor.com/ce_asckey

Флаг Трассировки: 9490

Недокументированный флаг трассировки
Назначение: Change in cardinality estimate. Full effect unknown.
Ссылка: New Undocumented Trace Flags
Способ применения: ?

Флаг Трассировки: 9494

Недокументированный флаг трассировки
Назначение: The behaviour of the join cardinality estimation with CSelCalcExpressionComparedToExpression can also be modified to not account for `bId with another undocumented variation flag (9494)
Ссылка: https://dba.stackexchange.com/a/141533/107045
Способ применения: ?

Флаг Трассировки: 9495

Назначение: Disables parallelism during insertion for INSERT...SELECT operations and it applies to both user and temporary tables
Ссылка: https://support.microsoft.com/help/3180087
Ссылка: Docs Trace Flags
Способ применения: global or session

Флаг Трассировки: 9532

Назначение: SQL 11 CTP3 - to get more than 1 availability group replica in CTP3 Scope Startup
Ссылка: http://connect.microsoft.com/SQLServer/feedback/details/682581/denali-hadron-read-only-routing-url-is-not-yet-implemente

Флаг Трассировки: 9559

Недокументированный флаг трассировки
Назначение: For AGs, “when enabled on the secondary ignores the redo target provided from the primary progress message and always set the redo target at the Max LSN value.”
Ссылка: https://blogs.msdn.microsoft.com/alwaysonpro/2013/12/04/recovery-on-secondary-lagging-shared-redo-target

Флаг Трассировки: 9567

Назначение: Enables compression of the data stream for availability groups during automatic seeding. Compression can significantly reduce the transfer time during automatic seeding and will increase the load on the processor.
Ссылка: Docs Trace Flags
Ссылка: https://www.mssqltips.com/sqlservertip/4537/sql-server-2016-availability-group-automatic-seeding/
Ссылка: https://msdn.microsoft.com/en-us/library/mt735149.aspx
Ссылка: Tune compression for availability group
Способ применения: global or session

Флаг Трассировки: 9591

Назначение: Disables log block compression in Always On Availability Groups. Log block compression is the default behavior used with both synchronous and asynchronous replicas in SQL Server 2012 and SQL Server 2014. In SQL Server 2016, compression is only used with asynchronous replica.
Ссылка: Docs Trace Flags
Способ применения: global or session

Флаг Трассировки: 9592

Назначение: Enables log stream compression for synchronous availability groups. This feature is disabled by default on synchronous availability groups because compression adds latency.
Ссылка: Docs Trace Flags
Ссылка: Tune compression for availability group
Способ применения: global or session

Флаг Трассировки: 9706

Недокументированный флаг трассировки
Назначение: Software Usage Metrics is disabled.
Ссылка: Bad Idea Jeans: Finding Undocumented Trace Flags

Флаг Трассировки: 9806

Недокументированный флаг трассировки
Назначение: Unknown. Is turned on on SQL Server 2014 CTP1 standard installation in Windows Azure VM
Ссылка: Нет

Флаг Трассировки: 9807

Недокументированный флаг трассировки
Назначение: Unknown. Is turned on on SQL Server 2014 CTP1 standard installation in Windows Azure VM
Ссылка: Нет

Флаг Трассировки: 9808

Недокументированный флаг трассировки
Назначение: Unknown. Is turned on on SQL Server 2014 CTP1 standard installation in Windows Azure VM
Ссылка: Нет

Флаг Трассировки: 9830

Недокументированный флаг трассировки
Назначение: Activate the trace flag before creating a natively compiled procedure. If you now open up the SQL Server error log you should see the compilation process for the natively compiled procedure. This is an undocumented trace flag so please don’t use this on a production system.
Ссылка: https://web.archive.org/web/20160327221828/http://speedysql.com/2015/10/28/new-trace-flag-for-in-memory-oltp-hekaton/

Флаг Трассировки: 9837

Недокументированный флаг трассировки
Назначение: According to Bob Ward’s PASS 2014 talk on SQL Server IO, enables “extra tracing but massive output” for Hekaton checkpoint files.
Ссылка: Нет

Флаг Трассировки: 9850

Недокументированный флаг трассировки
Назначение: Dumps more diagnostic stuff in the log.
Ссылка: Bad Idea Jeans: Finding Undocumented Trace Flags

Флаг Трассировки: 9851

Недокументированный флаг трассировки
Назначение: For testing purposes, you might want to turn off automatic merging of files, so that you can more readily explore this metadata. You can do that by turning on the undocumented trace flag 9851. And of course, be sure to turn off the trace flag when done testing.
Ссылка: http://gsl.azurewebsites.net/Portals/0/Users/dewitt/talks/HekatonWhitePaper.pdf

Флаг Трассировки: 9929

Назначение: Enables an update that reduces the “disk footprint [of In-Memory OLTP] by reducing the In-Memory checkpoint files to 1 MB (megabytes) each.”
Ссылка: https://support.microsoft.com/help/3147012/

Флаг Трассировки: 9939

Назначение: Disables merge/recompress during columnstore index reorganization. In SQL Server 2016, when a columnstore index is reorganized, there is new functionality to automatically merge any small compressed rowgroups into larger compressed rowgroups, as well as recompressing any rowgroups that have a large number of deleted rows.
Note: Trace flag 10204 does not apply to columnstore indexes which are created on memory-optimized tables.
Ссылка: Docs Trace Flags
Ссылка: Parallelism in Hekaton (In-Memory OLTP) Способ применения: global or session

Флаг Трассировки: 9989

Назначение: In CTP2, enabled functionality for reading in-memory tables on a readable secondary
Ссылка: https://connect.microsoft.com/SQLServer/feedback/details/795360/secondary-db-gets-suspect-when-i-add-in-memory-table-to-db-which-is-part-of-alwayson-availability-group

Флаг Трассировки: 10202

Недокументированный флаг трассировки
Назначение: According to demo scripts from a Sunil Agarwal session at PASS 2014, enables a new DMV named sys.dm_db_column_store_row_group_physical_stats. This DMV is not in SQL 2014 RTM and Sunil did not perform this demo during the session, so this DMV appears to be in a future (or internal) version of SQL Server.
Ссылка: Нет

Флаг Трассировки: 10204

Назначение: Disables merge/recompress during columnstore index reorganization. In SQL Server 2016, when a columnstore index is reorganized, there is new functionality to automatically merge any small compressed rowgroups into larger compressed rowgroups, as well as recompressing any rowgroups that have a large number of deleted rows.
Note: Trace flag 10204 does not apply to column store indexes which are created on memory-optimized tables.
Ссылка: Docs Trace Flags
Способ применения: global or session

Флаг Трассировки: 10207

Назначение: When a Clustered Columnstore index has corrupted segments, turning on this flag suppresses errors 5288 and 5289 and allows a scan of a clustered columns store to skip corrupt segments and complete (though with results that do not include the corrupted segment(s)). This flag is helpful when attempting to copy-out data in a corrupt CCI.
Ссылка: https://support.microsoft.com/help/3067257/
Ссылка: https://blogs.msdn.microsoft.com/sqlreleaseservices/partial-results-in-a-query-of-a-clustered-columnstore-index-in-sql-server-2014

Флаг Трассировки: 10213

Недокументированный флаг трассировки
Назначение: Enables the option to configure compression delay in columnstore indexes in SQL Server 2016
Ссылка: http://www.nikoport.com/2016/02/04/columnstore-indexes-part-76-compression-delay/
Способ применения: session

Флаг Трассировки: 10264

Недокументированный флаг трассировки
Назначение: Polybase mode enabled for SqlComposable.
Ссылка: Bad Idea Jeans: Finding Undocumented Trace Flags

Флаг Трассировки: 10316

Назначение: Enables creation of additional indexes on internal memory-optimized staging temporal table, beside the default one. If you have specific query pattern that includes columns which are not covered by the default index you may consider adding additional ones.
Note: System-versioned temporal tables for Memory-Optimized Tables are designed to provide high transactional throughput. Please be aware that creating additional indexes may introduce overhead for DML operations that update or delete rows in the current table. With the additional indexes you should aim to find the right balance between performance of temporal queries and additional DML overhead.
Ссылка: Docs Trace Flags
Ссылка: https://support.microsoft.com/help/3198846
Ссылка: https://blogs.msdn.microsoft.com/sqlcat/2016/12/08/improve-query-performance-on-memory-optimized-tables-with-temporal-using-new-index-creation-enhancement-in-sp1/
Способ применения: global or session

Флаг Трассировки: 10809

Недокументированный флаг трассировки
Назначение: Force stream Aggregates for scalar aggregation in batch mode.
Ссылка: New Undocumented Trace Flags
Способ применения: ?

Флаг Трассировки: 11001

Недокументированный флаг трассировки
Назначение: Results in a different join order for some queries. Full effect unknown.
Ссылка: New Undocumented Trace Flags
Способ применения: ?

Флаг Трассировки: 11023

Назначение: Disables the use of the last persisted sample rate, for all subsequent statistics update where a sample rate is not specified explicitly as part of the UPDATE STATISTICS statement.
Ссылка: https://support.microsoft.com/help/4039284
Ссылка: Docs Trace Flags
Способ применения: global or session

Флаг Трассировки: 11024

Назначение: In Microsoft SQL Server 2017, when incremental statistics are built on the top of partitioned tables, the sum of modification counts of all partitions is stored as the modification count of the root node. When the modification count of the root node exceeds a threshold, the auto update of statistics is triggered. However, if the modification count of any single partition does not exceed the local threshold, the statistics are not updated. Additionally, the modification count of the root node is reset to zero. This may cause delay in the auto update of incremental statistics. When trace flag 11024 is enabled, the modification count of the root node is kept as the sum of modification counts of all partitions.
Note: This trace flag applies to SQL Server 2017 CU3 and higher builds.
Ссылка: https://support.microsoft.com/help/4041811
Способ применения: global or session

Флаг Трассировки: 11029

Недокументированный флаг трассировки
Назначение: Prevents new information about row goals from getting logged to the plan cache.
Ссылка: New Undocumented Trace Flags
Способ применения: ?