Рекомендуемые обновления и параметры конфигурации для SQL Server с рабочими нагрузками с высокой производительностью
Эта статья содержит список улучшений производительности и параметров конфигурации, доступных для SQL Server 2012 и более поздних версий.
Исходная версия продукта: SQL Server 2014 г., SQL Server 2012 г.
Исходный номер базы знаний: 2964518
Применение рекомендуемых обновлений и повышение производительности SQL Server 2014 и SQL Server 2012
В этой статье описаны улучшения производительности и изменения, доступные для версий SQL Server 2014 и SQL Server 2012 через различные обновления продуктов и параметры конфигурации. Эти обновления можно применить, чтобы повысить производительность экземпляра SQL Server. Степень улучшения будет зависеть от различных факторов, включая шаблон рабочей нагрузки, точки состязания, макет процессора (количество групп процессоров, сокетов, узлов NUMA, ядер в узле NUMA) и объем памяти, присутствующих в системе. SQL Server группа поддержки использовала эти обновления и изменения конфигурации для достижения разумного повышения производительности рабочих нагрузок клиентов, которые использовали аппаратные системы с несколькими узлами NUMA и большим количеством процессоров. Группа поддержки продолжит обновлять эту статью другими обновлениями в будущем.
Высокопроизводительные системы. Высокопроизводительная система обычно имеет несколько сокетов, восемь ядер или больше на сокет, а также половину терабайта или больше памяти.
Примечание.
В SQL Server 2016 и более поздних версиях многие флаги трассировки, упомянутые в этой статье, являются поведением по умолчанию, и вам не нужно включать их в этих версиях.
Рекомендации сгруппированы в три таблицы следующим образом:
- В таблице 1 содержатся наиболее часто рекомендуемые обновления и флаги трассировки для масштабируемости в высококлассных системах.
- В таблице 2 содержатся рекомендации и рекомендации по дополнительной настройке производительности.
- В таблице 3 содержатся дополнительные исправления масштабируемости, которые были включены вместе с накопительным обновлением.
Таблица 1. Важные обновления и флаги трассировки для высококлассных систем
Просмотрите следующую таблицу и включите флаги трассировки в столбце Флаг трассировки после того, как убедитесь, что экземпляр SQL Server соответствует требованиям в столбце Применимые диапазоны версий и сборок.
Примечание.
Применимые версии и сборка указывают конкретное обновление, в котором был введен флаг изменения или трассировки. Если cu не указан, включаются все CU в пакете обновления.
Неприменимая версия и сборка указывают на конкретное обновление, в котором флаг изменения или трассировки стал поведением по умолчанию. Таким образом, просто применения этого обновления будет достаточно, чтобы получить преимущества.
Важно!
При включении исправлений с флагами трассировки в Always On средах следует учитывать, что необходимо включить флаги исправления и трассировки для всех реплик, входящих в группу доступности.
Сценарий и симптом, которые следует учитывать | Флаг трассировки | Применимые версии и диапазоны сборок | Неприменимая версия и диапазоны сборок | Статья базы знаний или ссылка на блог с дополнительными сведениями |
---|---|---|---|---|
|
T8048 |
|
|
|
|
T8079 | SQL Server 2014 с пакетом обновления 2 (SP2) до текущего sp/CU |
|
|
|
T9024 | Накопительный пакет обновления 3 для SQL Server 2012 с пакетом обновления 1 (SP1) до SP2 SQL Server 2014 RTM |
|
ИСПРАВЛЕНИЕ. Высокое значение счетчика "ожиданий записи в журнал" в экземпляре SQL Server 2012 или SQL Server 2014 |
Экземпляр SQL Server обрабатывает тысячи сбросов подключений из-за пула подключений. | T1236 | Накопительный пакет обновления 9 для SQL Server 2012 с пакетом обновления 1 (SP1) — накопительный пакет обновления 2 (SP2) для SQL Server 2014 г. |
|
|
|
T1118 |
|
|
Улучшения параллелизма для базы данных tempdb ПРИМЕЧАНИЕ Включите флаг трассировки и добавьте несколько файлов данных для базы данных tempdb. |
|
T1117 |
|
|
Рекомендации по сокращению состязания за выделение в базе данных tempdb SQL Server |
Интенсивное SOS_CACHESTORE состязание за спин-блокировку или ваши планы часто вытеснили для нерегламентированных рабочих нагрузок запросов. |
T174 |
|
Нет |
|
|
T8032 |
|
Нет |
|
Существующая статистика не часто обновляется из-за большого количества строк в таблице. | T2371 |
|
Нет | |
|
T7471 | SQL Server 2014 с пакетом обновления 1 (SP1) с накопительным пакетом обновления 6 (CU6) до текущего sp/CU | Нет | Повышение производительности статистики обновления с помощью SQL 2014 & SQL 2016 |
Команда CHECKDB занимает много времени для больших баз данных. |
|
|
Нет | |
Команда CHECKDB занимает много времени для больших баз данных. | T2566 |
|
Нет | |
Выполнение параллельных запросов хранилища данных, которые занимают много времени компиляции, приводит к RESOURCE_SEMAPHORE_QUERY_COMPILE ожиданиям. |
T6498 | Накопительный пакет обновления 6 для SQL Server 2014 с пакетом обновления 1 (SP1) |
|
|
Вы устраняете определенные проблемы с производительностью запросов, исправления оптимизатора отключены по умолчанию. | T4199 |
|
Нет | |
При использовании операций запросов с пространственными типами данных производительность снижается. |
|
|
|
|
|
T8075 |
|
|
ИСПРАВЛЕНИЕ. Ошибка нехватки памяти, когда виртуальное адресное пространство процесса SQL Server недостаточно SQL Server |
|
T3449 |
|
|
ИСПРАВЛЕНИЕ. создание базы данных SQL Server в системе с большим объемом памяти занимает больше времени, чем ожидалось |
Табл. 2. Общие рекомендации и рекомендации по повышению производительности экземпляра SQL Server
Просмотрите содержимое статьи базы знаний или электронной документации по ресурсу и рассмотрите возможность реализации рекомендаций в столбце Рекомендуемые действия.
Статья базы знаний/Ресурс электронной документации | Рекомендуемые действия |
---|---|
Настройка параметра конфигурации сервера с максимальной степенью параллелизма | Используйте хранимую процедуру sp_configure, чтобы внести изменения в конфигурацию, чтобы настроить параметр конфигурации сервера max degree of parallelism для экземпляра SQL Server согласно статье Базы знаний. |
Ограничения вычислительной емкости по выпускам SQL Server | выпуск Enterprise с лицензированием на сервер и клиентский доступ (CAL) ограничено 20 ядрами на экземпляр SQL Server. В модели лицензирования сервера на основе core не существует ограничений. Рассмотрите возможность обновления выпуска SQL Server до соответствующего номера SKU, чтобы использовать все аппаратные ресурсы. |
Низкая производительность в Windows Server при использовании сбалансированного плана управления питанием | Просмотрите статью и обратитесь к администратору Windows, чтобы реализовать одно из решений, которые указаны в разделе "Разрешение" этой статьи. |
Вручную назначьте узлы NUMA группам K. | |
Оптимизация для нерегламентированных рабочих нагрузокПРИНУДИТЕЛЬНОЙ ПАРАМЕТРИЗАЦИИ | Записи в кэше планов вытесаются из-за роста других кэшей или клерков памяти. Вы также можете столкнуться с вытеснение кэша планов, когда кэш достигает максимального количества записей. Помимо флага трассировки 8032, рассмотренного выше, рассмотрите возможность оптимизации для сервера нерегламентированных рабочих нагрузок , а также параметр базы данных FORCED PARAMETERIZATION . |
Как уменьшить разбиение памяти буферного пула на страницы в SQL ServerМемория конфигурации и изменения размера в SQL Server 2012 и более поздних версиях | Назначьте право пользователя Включить параметр Блокировки страниц в памяти (Windows) учетной записи запуска службы SQL. См. статью Включение функции "заблокированных страниц" в SQL Server 2012 г. Задайте максимальный объем памяти сервера примерно в 90 % от общего объема физической памяти. Убедитесь, что параметры конфигурации памяти сервера учитывают память только с узлов, настроенных для использования параметров сходства маски. |
SQL Server и большие страницы описано...Параметры настройки SQL Server при выполнении в высокопроизводительных рабочих нагрузках | Рассмотрите возможность включения TF 834, если у вас есть сервер с большим объемом памяти, особенно с аналитической рабочей нагрузкой или рабочей нагрузкой хранилища данных. Помните, что TF 834 не рекомендуется использовать при использовании индексов columnstore. |
Описание параметров "количество контейнеров кэша проверка доступа" и "доступ проверка квоты кэша", доступных в хранимой процедуре sp_configure | Используйте параметры конфигурации сервера проверка доступа, чтобы настроить эти значения в соответствии с рекомендациями, приведенными в статье базы знаний. Ниже приведены рекомендуемые значения для высококлассных систем. "количество контейнеров проверка доступа к кэшу": 256 "квота доступа проверка кэша": 1024 |
Инструкции запроса предоставления памятиALTER WORKLOAD GROUP | Если у вас много запросов, которые исчерпывают большие объемы памяти, уменьшите request_max_memory_grant_percent для группы рабочей нагрузки по умолчанию в конфигурации регулятора ресурсов значение по умолчанию с 25 до меньшего. В SQL Server доступны новые параметры предоставления памяти запросам (min_grant_percent и max_grant_percent ) |
Мгновенная инициализация файлов | Обратитесь к администратору Windows, чтобы предоставить учетной записи службы SQL Server право пользователя "Выполнение задач обслуживания томов", как описано в разделе электронной документации. |
Рекомендации по настройке "autogrow" и "autoshrink" в SQL Server | Проверьте текущие параметры базы данных и убедитесь, что они настроены в соответствии с рекомендациями, приведенными в статье Базы знаний. |
Контрольные точки базы данных (SQL Server) | Рассмотрите возможность включения непрямых контрольных точек в пользовательских базах данных для оптимизации поведения операций ввода-вывода в SQL Server 2012 и 2014 годах. |
ИСПРАВЛЕНИЕ. Медленная синхронизация при разных размерах секторов для файлов журналов основного и дополнительного реплика в средах группы доступности SQL Server и logshipping | Если у вас есть группа доступности, в которой журнал транзакций на основном реплика находится на диске с размером сектора 512 байт, а журнал транзакций дополнительного реплика находится на диске с размером сектора 4K, может возникнуть проблема, из-за которой синхронизация выполняется медленно. В таких случаях включение TF 1800 должно исправить проблему. Дополнительные сведения см. в разделе Флаг трассировки 1800. |
Если SQL Server еще не привязан к ЦП, а накладные расходы от 1,5 % до 2 % для рабочих нагрузок незначительны, рекомендуется включить TF 7412 в качестве флага трассировки запуска. Этот флаг обеспечивает упрощенное профилирование в SQL Server 2014 с пакетом обновления 2 (SP2) или более поздней версии, что позволяет выполнять динамическое устранение неполадок запросов в рабочих средах. |
Табл. 3. Исправления производительности, включенные в накопительное обновление
Просмотрите описание в столбце Симптомы и примените необходимые обновления в столбце Обязательное обновление в применимых средах. Дополнительные сведения о соответствующих проблемах см. в статье базы знаний. Эти рекомендации не требуют включения дополнительных флагов трассировки в качестве параметров запуска. Простое применение последнего накопительного обновления или пакета обновления, включающего эти исправления, достаточно, чтобы получить преимущество.
Примечание.
Имя cu в столбце Обязательное обновление предоставляет первое накопительное обновление SQL Server, которое устраняет эту проблему. Накопительное обновление содержит все исправления и все обновления, которые были включены в предыдущий выпуск обновления SQL Server. Поэтому для устранения проблем рекомендуется установить последнее накопительное обновление .
Важные замечания
Если все условия в таблице 1 применимы к вам:
- Руководство по SQL Server 2014. Примените по крайней мере накопительное обновление 1 для SQL Server 2014 для RTM и добавьте "-T8048 -T9024 -T1236 -T1117 -T1118" в список SQL Server запуска параметров.
- Руководство по SQL Server 2012. Примените пакет обновления 2 (SP2) и добавьте "-T8048 -T9024 -T1236 -T1117 -T1118" в список SQL Server запуска списка параметров.
Общие сведения об использовании флагов трассировки проверка в разделе DBCC TRACEON — Флаги трассировки (Transact-SQL) в электронной документации по SQL Server.
Дополнительные сведения о количестве процессоров, конфигурации NUMA и т. д. см. в разделе Просмотр журнала ошибок SQL Server в SQL Server Management Studio (SSMS).
Чтобы найти версию SQL Server, проверка следующее:
Ссылки
Как получить последний пакет обновления для SQL Server 2012 г.
SQL Server ресурсы сообщества о важных обновлениях для SQL Server
- Исправления, связанные с производительностью и стабильностью, в сборках после SQL Server 2012 с пакетом обновления 1 (SP1)
- Последние сборки SQL Server 2012 г.
- Последние сборки SQL Server 2012 с пакетом обновления 1 (SP1)
- Последние сборки SQL Server 2012 с пакетом обновления 2 (SP2)
- Последние сборки SQL Server 2014
Сфера применения
- SQL Server 2014 Enterprise
- SQL Server 2014 Enterprise Core
- SQL Server 2014 Business Intelligence
- SQL Server 2014 Developer
- SQL Server 2014 Standard
- SQL Server 2014 Web
- SQL Server 2014 Express
- Бизнес-аналитика SQL Server 2012 г.
- SQL Server 2012 Developer
- SQL Server 2012 Enterprise
- SQL Server 2012 Standard
- SQL Server 2012 Web
- SQL Server 2012 Enterprise Core
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по