===== Флаги трассировки SQL Server для 1С =====
{{:1c:setting-up-microsoft-sql-server-for-1c-enterprise-8-3:pasted:20190417-171945.png }} Общее описание рекомендуемых для **1С:Предприятие 8.3** флагов трассировки **SQL Server** можно найти в документе [[https://its.1c.ru/db/metod8dev#content:5946:hdoc|1С:ИТС - Флаги трассировки для работы с MS SQL Server]]. Здесь краткий "отжим" относительно применимости к **SQL Server 2014** и выше.
\\
==== Флаг 4199 ====
При использовании **Microsoft SQL Server 2014** необходимо включить исправление ошибок оптимизатора ([[https://support.microsoft.com/en-us/kb/974006|KB974006]]), путём включения флага трассировки **4199**.
Включение флага трассировки можно выполнить в консоли **SQL Server Configuration Manager**, добавив в свойствах службы экземпляра на вкладке **Startup parameters** к списку параметров запуска новую строку со значением:
-T4199
Чтобы включить флаг на текущей конфигурации экземпляра SQL Server, можно выполнить запрос вида:
DBCC TRACEON (4199, -1);
GO
Для **SQL Server 2016** по умолчанию используется улучшенная логика оптимизатора запросов, поэтому включение данного флага не требуется.
Дополнительная информация по флагу:
* [[https://forum.infostart.ru/forum16/topic195479/|Форум infostart.ru - DBCC TRACEON 4199]]
* [[http://downloads.v8.1c.ru/content//Platform/8_3_9_2033/1cv8upd.htm#7c1b8dd6-9531-11e6-a3f7-0050569f678a|Возможности оптимизации на платформе 1С:Предприятие 8.3.9]]
* [[https://docs.microsoft.com/en-us/sql/t-sql/database-console-commands/dbcc-traceon-transact-sql?view=sql-server-2016|Microsoft Docs - SQL - Reference - T-SQL - DBCC - DBCC TRACEON]]
\\
==== Флаг 1118 ====
Флаг включает запрет использовать смешанные экстенты (когда страницы разных объектов располагаются в одном экстенте). Технические подробности можно найти по ссылкам:
https://support.microsoft.com/en-us/kb/2154845
https://msdn.microsoft.com/en-us/library/ms188396.aspx.
Для **SQL Server 2016** данная настройка не требуется и не имеет действия.
\\
==== Как включить флаги трассировки ====
Задать нужные флаги трассировки для экземпляра SQL Server можно с помощью консоли **SQL Server Configuration Manager**, где в свойствах службы экземпляра на вкладке **Startup Parameters** каждый флаг должен быть добавлен в отдельной строке в окно **Existing parameters**. То есть каждый флаг добавляется отдельно через кнопку **Add**.
{{ :1c:setting-up-microsoft-sql-server-for-1c-enterprise-8-3:pasted:20190417-111551.png }}
Для вступления изменений в силу требуется выполнить перезапуск службы экземпляра SQL Server.
\\
==== Как проверить активные флаги ====
Проверить действующие для экземпляра SQL Server флаги трассировки можно T-SQL запросом:
DBCC TRACESTATUS
----
Дополнительные источники информации:
* [[https://its.1c.ru/db/metod8dev#content:5946:hdoc|1С:ИТС - Флаги трассировки для работы с MS SQL Server]]
* [[http://www.gilev.ru/legacy_query_optimizer/|Gilev.ru - Как повлиять на оптимизатор запросов MS SQL Server]]
----
Проверено на следующих конфигурациях:
^ Версия SQL Server ^
| Microsoft SQL Server 2016 SP2 CU4 (13.0.5233.0) |
----
{{:user:blogroot.png?50&nolink |}} Автор первичной редакции:\\ [[user:blogroot|Алексей Максимов]] \\ Время публикации: 17.04.2019 11:17
{{tag>"SQL Server" "SQL Server 2016" Perfomance "T-SQL" Tracing "1C 8.3" "1C"}}
~~DISCUSSION~~