Microsoft SQL Server Флаги Трассировки
Полный список Microsoft SQL Server флагов трассировки (300 флагов трассировки на текущий момент).
ПОМНИТЕ: Будьте предельно осторожны с флагами трассировки, проверяйте их влияние в первую очередь в тестовой среде.
Github версия с периодической актуализацией: https://github.com/ktaranov/sqlserver-kit/blob/master/SQL%20Server%20Trace%20Flag.md
Заголовки:
- Что такое флаг трассировки в Microsoft SQL Server?
- Как включить или выключить флаги трассировки?
- Как определить какие флаги трассировки включены на текущий момент?
- Что такое правила Оптимизатора?
- Список флагов трассировки
Источники:
- Steinar Andersen великолепный пост
- Yusuf Anis таблица флагов трассировки
- MSDN Список Флагов Трассировки
- Albert van der Sel Список Флагов Трассировки
- Technet Wiki Список Флагов Трассировки
- Amit Banerjee Список Флагов Трассировки
- Paul Randal обсуждение плюсов и минусов флагов трассировки
- Если задается флаг трассировки с помощью параметра -T, используйте заглавную букву «T» для передачи номера флага трассировки.
SQL Server принимает и строчную букву «t», но в этом случае устанавливаются другие внутренние флаги трассировки, которые необходимы только инженерам службы поддержки SQL Server.
(Параметры, установленные в окне запуска в области управления, не считываются.): https://technet.microsoft.com/ru-ru/library/ms190737%28v=sql.120%29.aspx - Включение SQL Server флагов трассировки для анализа медленных запросов с использованием QUERYTRACEON
- Отключение Оптимизатора запросов SQL Server с помощью QUERYRULEOFF
Большое спасибо:
- Steinar Andersen
- Brent Ozar
- Yusuf Anis
- Lars Utterstrom
- Martin Hoglund
- Hakan Winther
- Toine Rozemeijer
- Robert L Davis aka @sqlsoldier
- sql_handle aka @sql_handle
- Andrzej Kukula
Что такое флаг трассировки в Microsoft SQL Server?
Флаги трассировки используются для временной установки определенных характеристик сервера или отключения определенного режима.
Флаги трассировки часто используются для диагностики проблем, связанных с производительностью, отладки хранимых процедур или сложных компьютерных систем.
MSDN: https://msdn.microsoft.com/ru-ru/library/ms188396(v=sql.120).aspx
Как включить или выключить флаги трассировки?
- Вы можете использовать DBCC TRACEON и DBCC TRACEOFF команды
- Вы можете использовать -T option in the startup configuration for the SQL Server Service.
- Вы можете использовать подсказку QUERYTRACEON в своих запросах: <querytraceon_hint ::= {QUERYTRACEON trace_flag_number}>
Как определить какие флаги трассировки включены на текущий момент?
Вы можете использовать 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 |
Список флагов трассировки
Всего: 300 флагов трассировки
Флаг трассировки: -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
Ссылка: http://support.microsoft.com/kb/2892633
Флаг трассировки: 102
Назначение: Verbose Merge Replication logging to msmerge_history table
for troubleshooting Merger repl performance
Ссылка: http://support.microsoft.com/kb/2892633
Флаг трассировки: 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
Назначение: This enables you to see the messages that are sent to and from the Publisher, if you are using Web Synchronization
Ссылка: 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
Ссылка: http://support.microsoft.com/kb/203787
Ссылка: https://support.microsoft.com/en-us/kb/155714
Thanks to: http://www.sqlservercentral.com
Флаг трассировки: 110
Назначение: SQL 6.5 – Turns off ANSI select characteristics
Ссылка: https://support.microsoft.com/en-us/kb/152032
Флаг трассировки: 146
Назначение: Consider using when replaying against SQL 8.0, to avoid an attempt to set an encrypted connection.
Ссылка: None
Флаг трассировки: 168
Назначение: Bugfix in ORDER BY
Ссылка: http://support.microsoft.com/kb/926292
Флаг трассировки: 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.
Ссылка: None
Флаг трассировки: 205
Назначение: Log usage of AutoStat/Auto Update Statistics
Ссылка: http://support.microsoft.com/kb/195565
Флаг трассировки: 206
Назначение: SQL 6.5 – Provides backward compatibility for the set user statement. KB 160732
Ссылка: None
Флаг трассировки: 208
Назначение: SET QUOTED IDENTIFIER ON
Ссылка: None
Флаг трассировки: 210
Назначение: SQL 9 – Error when you run a query against a view: "An error occurred while executing batch"
Ссылка: https://support.microsoft.com/en-us/kb/945892
Флаг трассировки: 212
Назначение: SQL 9 – Query may run much slower when compared to SQL 8 when you use a cursor to run the query
Ссылка: https://support.microsoft.com/en-us/kb/951184
Флаг трассировки: 237
Назначение: Tells SQL Server to use correlated sub-queries in Non-ANSI standard backward compatibility mode
Ссылка: None
Флаг трассировки: 242
Назначение: Provides backward compatibility for correlated subqueries where non-ANSI-standard results are desired
Ссылка: None
Флаг трассировки: 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.
Ссылка: None
Флаг трассировки: 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.
Ссылка: None
Флаг трассировки: 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.
Ссылка: None
Флаг трассировки: 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
Ссылка: None
Флаг трассировки: 260
Назначение: Prints versioning information about extended stored procedure dynamic-link libraries (DLLs). Scope: global or session
Ссылка: http://msdn.microsoft.com/en-us/library/ms188396.aspx
Ссылка: http://msdn.microsoft.com/en-us/library/ms164627.aspx
Scope: global
Флаг трассировки: 262
Назначение: SQL 7 – Trailing spaces are no longer truncated from literal strings in CASE statements
Ссылка: https://support.microsoft.com/en-us/kb/891116
Флаг трассировки: 272
Назначение: Generates a log record per identity increment. Can be users
to convert SQL 2012 back to old style Identity behaviour
Ссылка: 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
Флаг трассировки: 302
Назначение: Output Index Selection info
Ссылка: http://www.databasejournal.com/features/mssql/article.php/1443351/SQL-Server-65-Some-Useful-Trace-Flags.htm
Флаг трассировки: 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.
Ссылка: None
Флаг трассировки: 323
Назначение: Outputs detailed info about updates
Ссылка: http://www.databasejournal.com/features/mssql/article.php/1443351/SQL-Server-65-Some-Useful-Trace-Flags.htm
Флаг трассировки: 325
Назначение: Prints information about the cost of using a non-clustered index or a sort to process an ORDER BY clause
Ссылка: None
Флаг трассировки: 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.
Ссылка: None
Флаг трассировки: 330
Назначение: Enables full output when using the SET SHOWPLAN_ALL option, which gives detailed information about joins
Ссылка: None
Флаг трассировки: 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.
Ссылка: None
Флаг трассировки: 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
Ссылка: None
Флаг трассировки: 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.
Ссылка: None
Флаг трассировки: 610
Назначение: Minimally logged inserts to indexed tables
Ссылка: http://msdn.microsoft.com/en-us/library/dd425070%28v=SQL.100%29.aspx
Флаг трассировки: 611
Назначение: SQL 9 – When turned on, each lock escalation is recorded in the error log along with the SQL Server handle number
Ссылка: None
Флаг трассировки: 634
Назначение: Disables the background columnstore compression task
Ссылка: http://msdn.microsoft.com/en-us/library/ms188396.aspx
Scope: global
Флаг трассировки: 652
Назначение: Disable page pre-fetching scans
Ссылка: http://support.microsoft.com/kb/920093
Флаг трассировки: 653
Назначение: Disables read ahead for the current connection
Ссылка: None
Флаг трассировки: 661
Назначение: Disable the ghost record removal process
Ссылка: http://support.microsoft.com/kb/920093
Флаг трассировки: 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
Флаг трассировки: 698
Назначение: SQL 9 – Performance of INSERT operations against a table with an identity column may be slow when compared to SQL 8
Ссылка: https://support.microsoft.com/en-gb/kb/940545
Флаг трассировки: 699
Назначение: Turn off transaction logging for the entire SQL dataserver
Ссылка: None
Флаг трассировки: 806
Назначение: Turn on Page Audit functionality, to verify page validity
Ссылка: http://technet.microsoft.com/en-au/library/cc917726.aspx
Флаг трассировки: 809
Назначение: SQL 8 – Limits the amount of Lazy write activity
Ссылка: None
Флаг трассировки: 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.
Ссылка: None
Флаг трассировки: 818
Назначение: Turn on ringbuffer to store info about IO write operations.
Used to troubleshoot IO problems
Ссылка: http://support.microsoft.com/kb/826433
Флаг трассировки: 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/en-gb/kb/906121
Флаг трассировки: 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
Ссылка: None
Флаг трассировки: 831
Назначение: Protect unchanged pages in the buffer pool to catch memory corruptions
Ссылка: None
Флаг трассировки: 834
Назначение: Large Page Allocations
Ссылка: http://www.sqlservice.se/sv/start/blogg/nagra-trace-flags-for-sql-server.aspx
Ссылка: http://support.microsoft.com/kb/920093
Флаг трассировки: 835
Назначение: SQL 9 / 10 – On 64 bit SQL Server it turns off Lock pages in memory
Ссылка: None
Флаг трассировки: 836
Назначение: Use the max server memory option for the buffer pool
Ссылка: http://support.microsoft.com/kb/920093
Флаг трассировки: 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://support.microsoft.com/en-gb/kb/912322
Флаг трассировки: 842
Назначение: Use sys.dm_os_memory_node_access_stats to verify local vs. foreign memory under NUMA configurations after turning on this flag
Ссылка: None
Флаг трассировки: 845
Назначение: Enable Lock pages in Memory on Standard Edition
Ссылка: http://www.sqlservice.se/sv/start/blogg/sql-server-performance-with-dynamics-axapta.aspx
Ссылка: https://support.microsoft.com/en-gb/kb/970070
Флаг трассировки: 902
Назначение: Bypass Upgrade Scripts
Ссылка: http://www.sqlservice.se/sv/start/blogg/sql-server-2012-cu1-upgrade-step--msdb110_upgrade-sql--encountered-error-547.aspx
Ссылка: https://support.microsoft.com/en-gb/kb/2163980
Флаг трассировки: 1106
Назначение: SQL 9 — Used space in tempdb increases continuously when you run a query that creates internal objects in tempdb
Ссылка: https://support.microsoft.com/en-gb/kb/947204
Флаг трассировки: 1117
Назначение: Simultaneous Autogrowth in Multiple-file database
Ссылка: http://www.sqlservice.se/sv/start/blogg/nagra-trace-flags-for-sql-server.aspx
Ссылка: http://blogs.technet.com/technet_blog_images/b/sql_server_sizing_ha_and_performance_hints/archive/2012/02/09/sql-server-2008-trace-flag-t-1117.aspx
Флаг трассировки: 1118
Назначение: Force Uniform Extent Allocation
Ссылка: http://www.sqlservice.se/sv/start/blogg/nagra-trace-flags-for-sql-server.aspx
Ссылка: http://blogs.msdn.com/b/psssql/archive/2008/12/17/sql-server-2005-and-2008-trace-flag-1118-t1118-usage.aspx
Scope: global
Флаг трассировки: 1119
Назначение: Turns of mixed extent allocation (Similar to 1118?)
Ссылка: http://social.technet.microsoft.com/wiki/contents/articles/13105.trace-flags-in-sql-server.aspx
Флаг трассировки: 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
Ссылка: None
Флаг трассировки: 1140
Назначение: Fix for growing tempdb in special cases
Ссылка: http://support.microsoft.com/kb/2000471
Флаг трассировки: 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.
Ссылка: None
Флаг трассировки: 1197
Назначение: Applies only in the case of SQL 7 – SP3, similar with trace flag 1180
Ссылка: None
Флаг трассировки: 1200
Назначение: Prints detailed lock information as every request for a lock is made (the process ID and type of lock requested)
Ссылка: http://social.technet.microsoft.com/wiki/contents/articles/13105.trace-flags-in-sql-server.aspx
Флаг трассировки: 1202
Назначение: Insert blocked lock requests into syslocks
Ссылка: None
Флаг трассировки: 1204
Назначение: Returns info about deadlocks
Ссылка: http://msdn.microsoft.com/en-us/library/ms188396.aspx
Scope: global
Флаг трассировки: 1205
Назначение: More detailed information about the command being executed at the time of a deadlock. Documented in SQL 7 BOL.
Ссылка: None
Флаг трассировки: 1206
Назначение: Used to complement flag 1204 by displaying other locks held by deadlock parties
Ссылка: None
Флаг трассировки: 1211
Назначение: Disables Lock escalation caused by memory pressure
Ссылка: http://msdn.microsoft.com/en-us/library/ms188396.aspx
Scope: 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.
Ссылка: None
Флаг трассировки: 1222
Назначение: Returns Deadlock info in XML format
Ссылка: http://msdn.microsoft.com/en-us/library/ms188396.aspx
Scope: global
Флаг трассировки: 1224
Назначение: Disables lock escalation based on number of locks
Ссылка: http://msdn.microsoft.com/en-us/library/ms188396.aspx
Scope: global or session
Флаг трассировки: 1236
Назначение: Fixes performance problem in scenarios with high lock activity
in SQL 2012 and SQL 2014
Ссылка: http://support.microsoft.com/kb/2926217
Флаг трассировки: 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.
Ссылка: None
Флаг трассировки: 1264
Назначение: Collect process names in non-yielding scenario memory dumps
Ссылка: http://support.microsoft.com/kb/2630458/en-us
Флаг трассировки: 1400
Назначение: SQL 9 RTM – Enables creation of database mirroring endpoint, which is required for setting up and using database mirroring
Ссылка: None
Флаг трассировки: 1448
Назначение: Alters replication log reader functionality
Ссылка: http://msdn.microsoft.com/en-us/library/ms188396.aspx
Флаг трассировки: 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/en-gb/kb/936179
Флаг трассировки: 1462
Назначение: Disable Mirroring Log compression
Ссылка: http://sqlcat.com/sqlcat/b/technicalnotes/archive/2007/09/17/database-mirroring-log-compression-in-sql-server-2008-improves-throughput.aspx
Флаг трассировки: 1603
Назначение: Use standard disk I/O (i.e. turn off asynchronous I/O)
Ссылка: None
Флаг трассировки: 1604
Назначение: Once enabled at start up makes SQL Server output information regarding memory allocation requests
Ссылка: None
Флаг трассировки: 1609
Назначение: Turns on the unpacking and checking of RPC information in Open Data Services. Used only when applications depend on the old behavior.
Ссылка: None
Флаг трассировки: 1610
Назначение: Boot the SQL dataserver with TCP_NODELAY enabled
Ссылка: None
Флаг трассировки: 1611
Назначение: If possible, pin shared memory — check errorlog for success/failure
Ссылка: None
Флаг трассировки: 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...
Ссылка: None
Флаг трассировки: 1704
Назначение: Prints information when a temporary table is created or dropped
Ссылка: None
Флаг трассировки: 1717
Назначение: MSShipped bit will be set automatically at Create time when creating stored procedures
Ссылка: None
Флаг трассировки: 1802
Назначение: SQL 9 — After detaching a database that resides on network-attached storage, you cannot reattach the SQL Server database
Ссылка: https://support.microsoft.com/en-us/kb/922804
Флаг трассировки: 1806
Назначение: Disable Instant File Initialization
Ссылка: http://technet.microsoft.com/en-au/library/cc917726.aspx
Флаг трассировки: 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
Флаг трассировки: 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
Ссылка: https://support.microsoft.com/en-us/kb/911678
Флаг трассировки: 2301
Назначение: Enable advanced decision support optimizations
Ссылка: http://support.microsoft.com/kb/920093
Флаг трассировки: 2312
Назначение: Forces the query optimizer to use the SQL Server 2014 version
of the cardinality estimator when creating the query plan when running
SQL Server 2014 with database compatibility level 110
Ссылка: http://support.microsoft.com/kb/2801413
Флаг трассировки: 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.
Ссылка: None
Флаг трассировки: 2330
Назначение: Query performance decreases when sys.dm_db_index_usage_stats has large number of rows
Ссылка: https://support.microsoft.com/en-us/kb/2003031
Ссылка: http://www.brentozar.com/archive/2015/11/trace-flag-2330-who-needs-missing-index-requests/
Флаг трассировки: 2335
Назначение: Generates Query Plans optimized for less memory
Ссылка: http://support.microsoft.com/kb/2413549
Флаг трассировки: 2340
Назначение: Disable specific SORT optimization in Query Plan
Ссылка: http://support.microsoft.com/kb/2009160
Флаг трассировки: 2371
Назначение: Change threshold for auto update stats
Ссылка: http://www.sqlservice.se/sv/start/blogg/sql-server--auto-update-stats-part-2.aspx
Ссылка: https://support.microsoft.com/en-us/kb/2754171
Флаг трассировки: 2372
Назначение: Displays memory utilization during the optimization process
Ссылка: http://www.benjaminnevarez.com/2012/04/more-undocumented-query-optimizer-trace-flags/
Флаг трассировки: 2373
Назначение: Displays memory utilization during the optimization process
Ссылка: http://www.benjaminnevarez.com/2012/04/more-undocumented-query-optimizer-trace-flags/
Флаг трассировки: 2388
Назначение: Change DBCC SHOW_STATISTICS output to show stats history and lead key type such as known ascending keys
Ссылка: http://www.benjaminnevarez.com/2013/02/statistics-on-ascending-keys
Флаг трассировки: 2389
Назначение: Enable auto-quick-statistics update for known ascending keys
Ссылка: http://www.sqlservice.se/sv/start/blogg/sql-server-statistics--traceflags-2389--2390.aspx
Ссылка: 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
Флаг трассировки: 2390
Назначение: Enable auto-quick-statistics update for all columns
Ссылка: http://www.sqlservice.se/sv/start/blogg/sql-server-statistics--traceflags-2389--2390.aspx
Ссылка: 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
Флаг трассировки: 2430
Назначение: Fixes performance problem when using large numbers of locks
Ссылка: http://support.microsoft.com/kb/2754301/en-us
Флаг трассировки: 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.
Ссылка: None
Флаг трассировки: 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.
Ссылка: http://sqlperformance.com/2014/06/t-sql-queries/table-variable-perf-fix
Ссылка: http://http//support.microsoft.com/kb/2952444
Флаг трассировки: 2470
Назначение: Fixes performance problem when using AFTER triggers on partitioned tables
Ссылка: http://support.microsoft.com/kb/2606883/en-us
Флаг трассировки: 2505
Назначение: SQL 7 — Prevents DBCC TRACEON 208, SPID 10 errors from appearing in the error log
Ссылка: https://support.microsoft.com/en-us/kb/243352
Флаг трассировки: 2508
Назначение: Disables parallel non-clustered index checking for DBCC CHECKTABLE
Ссылка: None
Флаг трассировки: 2509
Назначение: Used with DBCC CHECKTABLE to see the total count of forward records in a table
Ссылка: None
Флаг трассировки: 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
Назначение: Forces DBCC HELP to return syntax of undocumented DBCC statements. If 2520 is not turned on, DBCC HELP will refuse to give you the syntax stating: "No help available for DBCC statement 'undocumented statement'". dbcc help ('?')
Ссылка: None
Флаг трассировки: 2521
Назначение: SQL 7 SP2 — Facilitates capturing a Sqlservr.exe user-mode crash dump for postmortem analysis
Ссылка: None
Флаг трассировки: 2528
Назначение: Disables parallelism in CHECKDB etc
Ссылка: http://msdn.microsoft.com/en-us/library/ms188396.aspx
Scope: global
Флаг трассировки: 2529
Назначение: Displays memory usage for DBCC commands when used with TF
3604S
Ссылка: None
Флаг трассировки: 2537
Назначение: Allows you to see inactive records in transaction log using
fn_dblog
Ссылка: http://www.sqlsoldier.com/wp/sqlserver/day19of31daysofdisasterrecoveryhowmuchlogcanabackuplog
Флаг трассировки: 2540
Назначение: Unknown, but related to controlling the contents of a memory dump
Ссылка: http://support.microsoft.com/kb/917825/en-us
Флаг трассировки: 2541
Назначение: Unknown, but related to controlling the contents of a memory dump
Ссылка: http://support.microsoft.com/kb/917825/en-us
Флаг трассировки: 2542
Назначение: Unknown, but related to controlling the contents of a memory dump
Ссылка: http://support.microsoft.com/kb/917825/en-us
Флаг трассировки: 2543
Назначение: Unknown, but related to controlling the contents of a memory dump
Ссылка: http://support.microsoft.com/kb/917825/en-us
Флаг трассировки: 2544
Назначение: Produces a full memory dump
Ссылка: http://support.microsoft.com/kb/917825/en-us
Флаг трассировки: 2545
Назначение: Unknown, but related to controlling the contents of a
memory dump
Ссылка: http://support.microsoft.com/kb/917825/en-us
Флаг трассировки: 2546
Назначение: Dumps all threads for SQL Server in the dump file
Ссылка: http://support.microsoft.com/kb/917825/en-us
Флаг трассировки: 2547
Назначение: Unknown, but related to controlling the contents of a
memory dump
Ссылка: http://support.microsoft.com/kb/917825/en-us
Флаг трассировки: 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
Назначение: Faster CHECKDB
Ссылка: http://www.sqlservice.se/sv/start/blogg/faster-dbcc-checkdb-by-using-trace-flag-2562-and-2549.aspx
Ссылка: http://blogs.msdn.com/b/saponsqlserver/archive/2011/12/22/faster-dbcc-checkdb-released-in-sql-2008-r2-sp1-traceflag-2562-amp-2549.aspx
Ссылка: http://support.microsoft.com/kb/2634571
Ссылка: http://support.microsoft.com/kb/2732669/en-us
Флаг трассировки: 2550
Назначение: Unknown, but related to controlling the contents of a
memory dump
Ссылка: http://support.microsoft.com/kb/917825/en-us
Флаг трассировки: 2551
Назначение: Produces a filtered memory dump
Ссылка: http://support.microsoft.com/kb/917825/en-us
Флаг трассировки: 2552
Назначение: Unknown, but related to controlling the contents of a
memory dump
Ссылка: http://support.microsoft.com/kb/917825/en-us
Флаг трассировки: 2553
Назначение: Unknown, but related to controlling the contents of a
memory dump
Ссылка: http://support.microsoft.com/kb/917825/en-us
Флаг трассировки: 2554
Назначение: Unknown, but related to controlling the contents of a
memory dump
Ссылка: http://support.microsoft.com/kb/917825/en-us
Флаг трассировки: 2555
Назначение: Unknown, but related to controlling the contents of a
memory dump
Ссылка: http://support.microsoft.com/kb/917825/en-us
Флаг трассировки: 2556
Назначение: Unknown, but related to controlling the contents of a
memory dump
Ссылка: http://support.microsoft.com/kb/917825/en-us
Флаг трассировки: 2557
Назначение: Unknown, but related to controlling the contents of a
memory dump
Ссылка: http://support.microsoft.com/kb/917825/en-us
Флаг трассировки: 2558
Назначение: Unknown, but related to controlling the contents of a
memory dump
Ссылка: http://support.microsoft.com/kb/917825/en-us
Флаг трассировки: 2559
Назначение: Unknown, but related to controlling the contents of a
memory dump
Ссылка: http://support.microsoft.com/kb/917825/en-us
Флаг трассировки: 2562
Назначение: Faster CHECKDB
Ссылка: http://www.sqlservice.se/sv/start/blogg/faster-dbcc-checkdb-by-using-trace-flag-2562-and-2549.aspx
Ссылка: http://blogs.msdn.com/b/saponsqlserver/archive/2011/12/22/faster-dbcc-checkdb-released-in-sql-2008-r2-sp1-traceflag-2562-amp-2549.aspx
Ссылка: http://support.microsoft.com/kb/2634571
Ссылка: http://support.microsoft.com/kb/2732669/en-us
Флаг трассировки: 2588
Назначение: Get more information about undocumented DBCC commands
Ссылка: http://www.sqlservice.se/sv/start/blogg/trace-flag--undocumented-commands.aspx
Флаг трассировки: 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
Ссылка: None
Флаг трассировки: 2861
Назначение: Keep zero cost plans in cache. Tip: Avoid Using Trace Flag 2861 to Cache Zero-Cost Query Plan
Ссылка: http://support.microsoft.com/kb/325607
Флаг трассировки: 3001
Назначение: Stops sending backup entries into MSDB
Ссылка: None
Флаг трассировки: 3004
Назначение: Returns more info about Instant File Initialization. Shows information about backups and file creations use with 3605 to direct to error log.
Ссылка: https://blogs.msdn.microsoft.com/psssql/2008/01/23/how-it-works-what-is-restorebackup-doing/
Ссылка: http://victorisakov.files.wordpress.com/2011/10/sql_pass_summit_2011-important_trace_flags_that_every_dba_should_know-victor_isakov.pdf
Флаг трассировки: 3014
Назначение: Returns more info about backups to the errorlog
Ссылка: http://victorisakov.files.wordpress.com/2011/10/sql_pass_summit_2011-important_trace_flags_that_every_dba_should_know-victor_isakov.pdf
Флаг трассировки: 3023
Назначение: How to enable the CHECKSUM option if backup utilities do not expose the option
Ссылка: https://support.microsoft.com/kb/2656988
Флаг трассировки: 3031
Назначение: SQL 9 — Will turn the NO_LOG and TRUNCATE_ONLY options into checkpoints in all recovery modes
Ссылка: None
Флаг трассировки: 3042
Назначение: Alters backup compression functionality
Ссылка: http://msdn.microsoft.com/en-us/library/ms188396.aspx
Флаг трассировки: 3101
Назначение: Fix performance problems when restoring database with CDC
Ссылка: http://support.microsoft.com/kb/2567366/
Флаг трассировки: 3104
Назначение: Causes SQL Server to bypass checking for free space
Ссылка: None
Флаг трассировки: 3106
Назначение: Required to move sys databases
Ссылка: None
Флаг трассировки: 3111
Назначение: Cause LogMgr::ValidateBackedupBlock to be skipped during backup and restore operation
Ссылка: None
Флаг трассировки: 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.
Ссылка: https://support.microsoft.com/en-us/kb/915385
Флаг трассировки: 3205
Назначение: Disable HW compression for backup to tape drives
Ссылка: http://msdn.microsoft.com/en-us/library/ms188396.aspx
Scope: global
Флаг трассировки: 3213
Назначение: Output buffer info for backups to ERRORLOG
Ссылка: http://sqlcat.com/sqlcat/b/technicalnotes/archive/2008/04/21/tuning-the-performance-of-backup-compression-in-sql-server-2008.aspx
Флаг трассировки: 3226
Назначение: Turns off ”Backup Successful” messages in errorlog
Ссылка: http://msdn.microsoft.com/en-us/library/ms188396.aspx
Scope: global
Thanks to: @lwiederstein (https://twitter.com/lwiederstein)
Флаг трассировки: 3422
Назначение: Log record auditing
Ссылка: http://technet.microsoft.com/en-au/library/cc917726.aspx
Флаг трассировки: 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.
Ссылка: None
Флаг трассировки: 3282
Назначение: SQL 6.5 — Used after backup restoration fails
Ссылка: https://support.microsoft.com/en-us/kb/215458
Флаг трассировки: 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/en-us/kb/215458
Флаг трассировки: 3502
Назначение: Writes info about checkpoints to teh errorlog
Ссылка: http://victorisakov.files.wordpress.com/2011/10/sql_pass_summit_2011-important_trace_flags_that_every_dba_should_know-victor_isakov.pdf
Флаг трассировки: 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
Ссылка: None
Флаг трассировки: 3505
Назначение: Disables automatic checkpointing
Ссылка: http://support.microsoft.com/kb/815436
Флаг трассировки: 3601
Назначение: Stack trace when error raised. Also see 3603.
Ссылка: None
Флаг трассировки: 3602
Назначение: Records all error and warning messages sent to the client
Ссылка: None
Флаг трассировки: 3603
Назначение: SQL Server fails to install on tricore, Bypass SMT check is enabled, flags are added via registry. Also see 3601.
Ссылка: None
Флаг трассировки: 3604
Назначение: Redirect DBCC command output to query window
Ссылка: http://blogs.msdn.com/b/askjay/archive/2011/01/21/why-do-we-need-trace-flag-3604-for-dbcc-statements.aspx
Ссылка: http://www.sqlservice.se/sv/start/blogg/querytraceon.aspx
Флаг трассировки: 3605
Назначение: Directs the output of some Trace Flags to the Errorlog
Ссылка: http://sqlcat.com/sqlcat/b/technicalnotes/archive/2008/04/21/tuning-the-performance-of-backup-compression-in-sql-server-2008.aspx
Флаг трассировки: 3607
Назначение: Skip recovery on startup
Ссылка: http://sqlkbs.blogspot.se/2008/01/trace-flag.html
Флаг трассировки: 3608
Назначение: Recover only Master db at startup
Ссылка: http://msdn.microsoft.com/en-us/library/ms188396.aspx
Флаг трассировки: 3609
Назначение: Do not create tempdb at startup
Ссылка: http://basitaalishan.com/2012/02/20/essential-trace-flags-for-recovery-debugging/
Флаг трассировки: 3610
Назначение: SQL 9 — Divide by zero to result in NULL instead of error
Ссылка: None
Флаг трассировки: 3625
Назначение: Masks some error messages
Ссылка: http://msdn.microsoft.com/en-us/library/ms188396.aspx
Scope: global
Флаг трассировки: 3626
Назначение: Turns on tracking of the CPU data for the sysprocesses table.
Ссылка: None
Флаг трассировки: 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.
Ссылка: None
Флаг трассировки: 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.
Ссылка: None
Флаг трассировки: 3654
Назначение:Allocations to stack
Ссылка: None
Флаг трассировки: 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
Флаг трассировки: 3659
Назначение: Enables logging all errors to error log during server startup
Ссылка: http://spaghettidba.com/2011/05/20/trace-flag-3659/
Флаг трассировки: 3688
Назначение: Removes messages to error log about traces started and stopped
Ссылка: http://support.microsoft.com/kb/922578/en-us
Флаг трассировки: 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.
Ссылка: http://support.microsoft.com/kb/922578/en-us
Флаг трассировки: 3801
Назначение: Prohibits use of USE DB statement
Ссылка: None
Флаг трассировки: 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.
Ссылка: None
Флаг трассировки: 3923
Назначение: Let SQL Server throw an exception to the application when the 3303 warning message is raised
Ссылка: https://support.microsoft.com/kb/3014867/en-us
Флаг трассировки: 4001
Назначение: Very verbose logging of each login attempt to the error log. Includes tons of information
Ссылка: None
Флаг трассировки: 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.
Ссылка: None
Флаг трассировки: 4013
Назначение: Log each new connection the error log
Ссылка: http://sqlkbs.blogspot.se/2008/01/trace-flag.html
Флаг трассировки: 4020
Назначение: Boot without recover
Ссылка: None
Флаг трассировки: 4022
Назначение: Bypass Startup procedures
Ссылка: http://www.sqlservice.se/sv/start/blogg/sql-server-2012-cu1-upgrade-step--msdb110_upgrade-sql--encountered-error-547.aspx
Флаг трассировки: 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.
Ссылка: None
Флаг трассировки: 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.
Ссылка: None
Флаг трассировки: 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.
Ссылка: None
Флаг трассировки: 4032
Назначение: Traces the SQL commands coming in from the client. When enabled with 3605 it will direct those all to the error log.
Ссылка: None
Флаг трассировки: 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.
Ссылка: None
Флаг трассировки: 4052
Назначение: SQL 9+ Prints TDS packets sent to the client (output) to console. Startup only.
Ссылка: None
Флаг трассировки: 4055
Назначение: SQL 9+ Prints TDS packets received from the client to console. Startup only.
Ссылка: None
Флаг трассировки: 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/en-us/kb/940128
Флаг трассировки: 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.
Ссылка: https://support.microsoft.com/en-us/kb/920346
Флаг трассировки: 4107
Назначение: SQL 9 — When you run a query that references a partitioned table, query performance may decrease
Ссылка: https://support.microsoft.com/en-us/kb/923849
Флаг трассировки: 4116
Назначение: SQL 9 — Query runs slowly when using joins between a local and a remote table
Ссылка: https://support.microsoft.com/en-us/kb/950880
Флаг трассировки: 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.
Ссылка: None
Флаг трассировки: 4123
Назначение: Query that has many outer joins takes a long time to compile in SQL Server 2005
Ссылка: https://support.microsoft.com/en-us/kb/943060
Флаг трассировки: 4125
Назначение: SQL 9 — Query may take more time to finish if using an inner join to join a derived table that uses DISTINCT keyword
Ссылка: https://support.microsoft.com/en-us/kb/949854
Флаг трассировки: 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.
Ссылка: https://support.microsoft.com/en-us/kb/953569
Флаг трассировки: 4130
Назначение: XML performance fix
Ссылка: http://support.microsoft.com/kb/957205
Флаг трассировки: 4134
Назначение: Bugfix for error: parallel query returning different results every time
Ссылка: http://support.microsoft.com/kb/2546901
Ссылка: http://sql-sasquatch.blogspot.se/2014/04/whaddayaknow-bout-sqlserver-trace-flag.html
Флаг трассировки: 4135
Назначение: Bugfix for error inserting to temp table
Ссылка: http://support.microsoft.com/kb/960770
Флаг трассировки: 4136
Назначение: Parameter Sniffing behaviour alteration
Ссылка: http://blogs.msdn.com/b/axinthefield/archive/2010/11/04/sql-server-trace-flags-for-dynamics-ax.aspx
Ссылка: http://www.sqlservice.se/sv/start/blogg/nagra-trace-flags-for-sql-server.aspx
Флаг трассировки: 4137
Назначение: Fix for bad performance in queries with several AND criteria
Ссылка: http://support.microsoft.com/kb/2658214
Флаг трассировки: 4138
Назначение: Fixes performance problems with certain queries that use TOP
statement
Ссылка: http://support.microsoft.com/kb/2667211
Флаг трассировки: 4199
Назначение: Turn on all optimizations
Ссылка: http://www.sqlservice.se/sv/start/blogg/one-trace-flag-to-rule-them-all.aspx
Ссылка: https://msdn.microsoft.com/en-us/library/bb510411.aspx#TraceFlag
Scope: global or session
Флаг трассировки: 4606
Назначение: Over comes SA password by startup. Disables password policy check during server startup.
Ссылка: https://support.microsoft.com/en-us/kb/936892
Флаг трассировки: 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/en-us/kb/959823
Флаг трассировки: 4612
Назначение: Disable the ring buffer logging — no new entries will be made into the ring buffer
Ссылка: None
Флаг трассировки: 4613
Назначение: Generate a minidump file whenever an entry is logged into the ring buffer
Ссылка: None
Флаг трассировки: 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/en-us/kb/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.
Ссылка: http://msdn.microsoft.com/en-us/library/ms188396.aspx
Scope: global
Флаг трассировки: 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.
Ссылка: https://support.microsoft.com/en-us/kb/933564
Флаг трассировки: 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/en-us/kb/959823
Флаг трассировки: 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.
Ссылка: None
Флаг трассировки: 5102
Назначение: Prevents engine 0 from running any non-affinitied tasks.
Ссылка: None
Флаг трассировки: 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.
Ссылка: None
Флаг трассировки: 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.
Ссылка: http://msdn.microsoft.com/en-us/library/ms188396.aspx
Scope: global
Флаг трассировки: 7103
Назначение: Disable table lock promotion for text columns
Ссылка: https://support.microsoft.com/en-us/kb/230044
Флаг трассировки: 7300
Назначение: Outputs extra info about linked server errors
Ссылка: http://support.microsoft.com/kb/314530
Флаг трассировки: 7471
Назначение: Running multiple UPDATE STATISTICS for different statistics on a single table concurrently
Ссылка: https://support.microsoft.com/en-us/kb/3156157
Ссылка: http://sqlperformance.com/2016/05/sql-performance/parallel-rebuilds
Флаг трассировки: 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
Ссылка: None
Флаг трассировки: 7525
Назначение: SQL 8 — Reverts to ver 7 behavior of closing nonstatic cursors regardless of the SET CURSOR_CLOSE_ON_COMMIT state
Ссылка: None
Флаг трассировки: 7601
Назначение: 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.
Ссылка: None
Флаг трассировки: 7608
Назначение: Performance fix for slow full text population with a composite clustered index
Ссылка: https://support.microsoft.com/en-us/kb/938672
Флаг трассировки: 7613
Назначение: SQL 9 — Search results are missing when performing a full-text search operation on Win SharePoint Services 2.0 site after upgrading
Ссылка: https://support.microsoft.com/en-us/kb/927643
Флаг трассировки: 7614
Назначение: SQL 9 — Full-text index population for the indexed view is very slow
Ссылка: https://support.microsoft.com/en-us/kb/928537
Флаг трассировки: 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.
Ссылка: None
Флаг трассировки: 7806
Назначение: SQL 9 — Enables a dedicated administrator connection on SQL Express, DAC resources are not reserved by default
Ссылка: http://msdn.microsoft.com/en-us/library/ms188396.aspx
Scope: global
Флаг трассировки: 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
Флаг трассировки: 8002
Назначение: Changes CPU Affinity behaviour
Ссылка: http://support.microsoft.com/kb/818769
Флаг трассировки: 8004
Назначение: SQL server to create a mini-dump once you enable 2551 and a out of memory condition is hit
Ссылка: None
Флаг трассировки: 8010
Назначение: Fixes problem that SQL Server services can not be stopped
Ссылка: http://support.microsoft.com/kb/2633271/en-us
Флаг трассировки: 8011
Назначение: Disable the ring buffer for Resource Monitor
Ссылка: http://support.microsoft.com/kb/920093
Scope: global
Флаг трассировки: 8012
Назначение: Disable the ring buffer for schedulers
Ссылка: http://support.microsoft.com/kb/920093
Флаг трассировки: 8015
Назначение: Ignore NUMA functionality
Ссылка: https://support.microsoft.com/en-us/kb/948450
Ссылка: http://sql-sasquatch.blogspot.se/2013/04/startup-trace-flags-i-love.html
Thanks to: @sql_handle (https://twitter.com/sql_handle)
Флаг трассировки: 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
Флаг трассировки: 8018
Назначение: Disable the exception ring buffer
Ссылка: http://support.microsoft.com/kb/920093
Флаг трассировки: 8019
Назначение: Disable stack collection for the exception ring buffer
Ссылка: http://support.microsoft.com/kb/920093
Флаг трассировки: 8020
Назначение: Disable working set monitoring
Ссылка: http://support.microsoft.com/kb/920093
Флаг трассировки: 8026
Назначение: SQL Server will clear a dump trigger after generating the dump
once
Ссылка: http://support.microsoft.com/kb/917825/en-us
Флаг трассировки: 8030
Назначение: Fix for performance bug
Ссылка: http://support.microsoft.com/kb/917035
Ссылка: http://www.sqlservice.se/sv/start/blogg/sql-server-2005-slowing-down-after-a-while.aspx
Флаг трассировки: 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.
Ссылка: http://msdn.microsoft.com/en-us/library/ms188396.aspx
Флаг трассировки: 8033
Назначение: Alters cache limit settings
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.
Ссылка: None
Флаг трассировки: 8038
Назначение: Will drastically reduce the number of context switches when running SQL 2005 or 2008
Ссылка: https://support.microsoft.com/en-us/kb/972767
Ссылка: http://forum.proxmox.com/threads/15844-Win7-x64-guest-with-SQLServer-2012-High-CPU-usage
Ссылка: http://social.technet.microsoft.com/wiki/contents/articles/13105.trace-flags-in-sql-server.aspx
Флаг трассировки: 8040
Назначение: Disables Resource Governor
Ссылка: http://www.sqlservergeeks.com/blogs/AmitBansal/sql-server-bi/64/sql-server-disabling-resource-governor-permanently-somewhat
Флаг трассировки: 8048
Назначение: NUMA CPU based partitioning
Ссылка: http://sql-sasquatch.blogspot.se/2013/04/startup-trace-flags-i-love.html
Ссылка: http://blogs.msdn.com/b/psssql/archive/2012/12/20/how-it-works-cmemthread-and-debugging-them.aspx
Ссылка: 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
Thanks to: @sql_handle (https://twitter.com/sql_handle)
Related to: 8015, 9024
Флаг трассировки: 8049
Назначение: SQL 9+ Startup only – Allows use of 1ms times even when patched. Check 8038 for details.
Ссылка: https://support.microsoft.com/en-us/kb/972767
Флаг трассировки: 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.
Ссылка: None
Флаг трассировки: 8203
Назначение: Display statement and transaction locks on a deadlock error
Ссылка: None
Флаг трассировки: 8206
Назначение: SQL 8 — Supports stored procedure execution with a user specified owner name for SQL Server subscribers or without owner qualification for heterogeneous subscribers
Ссылка: None
Флаг трассировки: 8207
Назначение: Alters Transactional Replication behaviour of UPDATE statement
Ссылка: https://support.microsoft.com/en-us/kb/302341
Ссылка: http://msdn.microsoft.com/en-us/library/ms188396.aspx
Флаг трассировки: 8209
Назначение: Output extra information to error log regarding replication of schema changes in SQL Server Replication
Ссылка: http://support.microsoft.com/kb/916706/en-us
Флаг трассировки: 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/en-us/kb/959008
Флаг трассировки: 8501
Назначение: Writes detailed information about Ms-DTC context & state changes to the log
Ссылка: None
Флаг трассировки: 8599
Назначение: Allows you to use a save-point within a distributed transaction
Ссылка: None
Флаг трассировки: 8602
Назначение: Disable Query Hints
Ссылка: http://www.sqlservice.se/sv/start/blogg/sql-server-trace-flag-8602.aspx
Флаг трассировки: 8605
Назначение: Displays logical and physical trees used during the
optimization process
Ссылка: http://www.benjaminnevarez.com/2012/04/more-undocumented-query-optimizer-trace-flags/
Флаг трассировки: 8607
Назначение: Displays the optimization output tree during the optimization
process
Ссылка: http://www.benjaminnevarez.com/2012/04/more-undocumented-query-optimizer-trace-flags/
Флаг трассировки: 8649
Назначение: Set Cost Threshold for parallelism from 1 to 0
Ссылка: http://www.sqlservice.se/sv/start/blogg/enable-parallellism-for-specific-query.aspx
Флаг трассировки: 8675
Назначение: Displays the query optimization phases for a specific optimization
Ссылка: http://www.benjaminnevarez.com/2012/04/more-undocumented-query-optimizer-trace-flags/
Флаг трассировки: 8679
Назначение: Prevents the SQL Server optimizer from using a Hash Match Team operator
Ссылка: None
Флаг трассировки: 8687
Назначение: Prevents the SQL Server optimizer from using a Hash Match Team operator
Ссылка: None
Флаг трассировки: 8690
Undocumented trace flag
Назначение: 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
Флаг трассировки: 8721
Назначение: Dumps information into the error log when AutoStat has been run
Ссылка: None
Флаг трассировки: 8722
Назначение: Disable all hints except locking hints
Ссылка: http://sqlmag.com/sql-server/investigating-trace-flags
Флаг трассировки: 8744
Назначение: Disable pre-fetching for ranges
Ссылка: http://support.microsoft.com/kb/920093
Флаг трассировки: 8755
Назначение: Disable all locking hints
Ссылка: http://sqlmag.com/sql-server/investigating-trace-flags
Флаг трассировки: 8757
Назначение: Skip trivial plan optimization and force a full optimization
Ссылка: http://www.benjaminnevarez.com/2012/04/more-undocumented-query-optimizer-trace-flags/
Флаг трассировки: 8765
Назначение: Allows use of variable length data, from ODBC driver; fixes the issue of a field returning the wrong data length
Ссылка: None
Флаг трассировки: 8780
Назначение: Give the optimizer more time to find a better plan
Ссылка: http://www.sqlservice.se/sv/start/blogg/sql-server-trace-flag--8780.aspx
Флаг трассировки: 8783
Назначение: Allows DELETE, INSERT, and UPDATE statements to honor the SET ROWCOUNT ON setting when enabled
Ссылка: None
Флаг трассировки: 8816
Назначение: Logs every two-digit year conversion to a four-digit year
Ссылка: None
Флаг трассировки: 9024
Назначение: Performance fix for AlwaysON log replication
Ссылка: http://support.microsoft.com/kb/2809338/en-us
Related to: 8048
Флаг трассировки: 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.
Ссылка: None
Флаг трассировки: 9082
Назначение: SQL 9 — Stored procedure using views, perform slow compared to ver 8 if views use JOIN operator and contain sub queries
Ссылка: https://support.microsoft.com/en-us/kb/942906
Флаг трассировки: 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.
Ссылка: None
Флаг трассировки: 9185
Назначение: Cardinality estimates for literals that are outside the
histogram range are very low
Ссылка: https://support.microsoft.com/en-us/kb/kbview/833406
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.
Ссылка: http://sqlblog.com/blogs/paul_white/archive/2011/09/21/how-to-find-the-statistics-used-to-compile-an-execution-plan.aspx
Related to: 9292
Флаг трассировки: 9205
Назначение: Cardinality estimates for literals that are outside the histogram range are very low for tables that have parent-child relationships
Ссылка: https://support.microsoft.com/en-us/kb/kbview/833406
Related to: 9185
Флаг трассировки: 9207
Назначение: Fixes that SQL Server underestimates the cardinality of a
query expression and query performance may be slow
Ссылка: https://support.microsoft.com/en-us/kb/831302
Флаг трассировки: 9259
Назначение: SQL 9/10 — An access violation occurs on running a query marked by the following message and a dump in the log folder: KB 970279 / 971490. Msg 0, Level 11, State 0, Line 0 — A severe error occurred on the current command. The results, if any, should be discarded.
Ссылка: None
Флаг трассировки: 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.
Ссылка: None
Флаг трассировки: 9292
Назначение: Output Statistics considered to be used by Query Optimizer
Ссылка: http://sqlblog.com/blogs/paul_white/archive/2011/09/21/how-to-find-the-statistics-used-to-compile-an-execution-plan.aspx
Related to: 9204
Флаг трассировки: 9481
Назначение: Forces the query optimizer to use the SQL Server 2012 version
of the cardinality estimator when creating the query plan when running
SQL Server 2014 with the default database compatibility level 120
Ссылка: http://support.microsoft.com/kb/2801413
Флаг трассировки: 9485
Назначение: Disables SELECT permission for DBCC SHOW_STATISTICS
Ссылка: https://support.microsoft.com/en-us/kb/2683304
Ссылка: http://msdn.microsoft.com/en-us/library/ms188396.aspx
Флаг трассировки: 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
Флаг трассировки: 9806
Назначение: Unknown. Is turned on on SQL Server 2014 CTP1 standard installation in Windows Azure VM
Ссылка: None
Флаг трассировки: 9807
Назначение: Unknown. Is turned on on SQL Server 2014 CTP1 standard installation in Windows Azure VM
Ссылка: None
Флаг трассировки: 9808
Назначение: Unknown. Is turned on on SQL Server 2014 CTP1 standard installation in Windows Azure VM
Ссылка: None
Флаг трассировки: 9830
Undocumented trace flag
Назначение: 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.
Ссылка: http://speedysql.com/2015/10/28/new-trace-flag-for-in-memory-oltp-hekaton/#more-1216
Комментарии (6)
fishca
14.06.2016 22:07Спасибо за флаги! Очень полезно иметь все в одном месте и под рукой.
kast218
14.06.2016 22:14Спасибо за спасибо) Если найдете неточности или какие-либо не учтенные флаги, то, пожалуйста, заведите pull request
tsklab
Каждый раз, когда SQL Server выполняет запрос он строит план выполнения Дальше можно не читать. Плюс нестерпимое количество орфографических и фактических ошибок.
kast218
Спасибо за конструктивную критику. Если хотите действительно узнать как SQL Server выполняет запросы, то крайне рекомендую к прочтению отличную статью за авторством Remus Rusanu: Understanding how SQL Server executes a query.
Данная публикация предназначена прежде всего для первичного знакомства и систематизации большинства существующих флагов трассировки в SQL Server.
BalinTomsk
---рекомендую к прочтению отличную статью
Если бы внимательно читали статью то натолкнулись бы на эту строчку:
Future similar requests can skip the optimization phase if they can find an already compiled and optimized query plan in the SQL Server internal cache.
План строится если его нету в кэше, у плохого програмиста, который не пишет параметризованные запросы действительно сервер строит план при каждом запросе, ну или если админ враг и ставит флаг серверу строить план каждый раз.
kast218
Спасибо за существенное дополнение, статью читал подробно в свое время.
Может быть кто-нибудь из комментаторов напишет подробную статью по выполнению SQL запросов в SQL Server? Или хотя бы переведет эпос от Remus Rusanu на русский язык?