===== Флаги трассировки 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~~