Published on

February 11, 2020

Понимание флагов трассировки SQL Server

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

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

Флаг трассировки 1117 используется для принудительного автоматического увеличения всех файлов TempDB одновременно. Когда существует несколько файлов данных TempDB, включение этого флага трассировки гарантирует, что все файлы автоматически увеличиваются одновременно и на одинаковую величину в соответствии с настройками роста. Это помогает равномерно распределить нагрузку по файлам TempDB и может улучшить производительность в определенных сценариях.

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

Флаг трассировки 1118 используется для принудительного выделения страниц на равномерных участках вместо смешанных участков. Включение этого флага трассировки уменьшает конкуренцию на странице SGAM (Shared Global Allocation Map). При создании новых объектов этот флаг трассировки выделяет все восемь страниц на одном и том же участке, минимизируя необходимость сканирования страницы SGAM. Это может привести к улучшению производительности, особенно в сценариях с интенсивным созданием объектов.

Изменения в SQL Server 2016 и выше

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

Однако, если вы используете SQL Server 2014 или более раннюю версию, включение флагов трассировки 1117 и 1118 все равно может быть полезным для оптимизации производительности вашей базы данных TempDB.

Заключение

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

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

Click to rate this post!
[Total: 0 Average: 0]

Let's work together

Send us a message or book free introductory meeting with us using button below.