Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Эта статья помогает устранить проблему, из-за которой консоль Configuration Manager работает медленно, или истекает время ожидания SQL-запроса для определенных запросов к базе данных Configuration Manager.
Исходная версия продукта: SQL Server 2022 в Windows (все выпуски), SQL Server 2019 в Windows (все выпуски), SQL Server 2017 в Windows (все выпуски), SQL Server 2016 Enterprise, SQL Server 2016 Standard, SQL Server 2014 Enterprise, SQL Server 2014 Standard, System Center Configuration Manager
Исходный номер базы знаний: 3196320
Симптомы
При работе в средах на базе SQL Server 2014, SQL Server 2016 или SQL Server 2017 на Windows может наблюдаться низкая производительность консоли Configuration Manager или необычные тайм-ауты запросов к базе данных Configuration Manager.
Причина
Изменения оценки кратности SQL Server (CE) в SQL Server 2014, SQL Server 2016 и SQL Server 2017 в Windows могут привести к проблемам с производительностью определенных запросов Configuration Manager в некоторых средах.
Резолюция
В затронутых средах Configuration Manager может работать лучше, если база данных сайта настроена на другом уровне совместимости SQL Server CE. Чтобы определить рекомендуемый уровень CE для вашей версии SQL Server, ознакомьтесь со следующей таблицей:
| Версия SQL Server | Поддерживаемые значения уровня совместимости | Рекомендуемый уровень совместимости для Configuration Manager | Рекомендуемый уровень для конкретных проблем с производительностью |
|---|---|---|---|
| SQL Server 2022 | 150, 140, 130, 120, 110 | сто пятьдесят | 110 |
| SQL Server 2019 | 150, 140, 130, 120, 110 | сто пятьдесят | 110 |
| SQL Server 2017 | 140, 130, 120, 110 | 140 | 110 |
| SQL Server 2016 | 130, 120, 110 | 130 | 110 |
| SQL Server 2014 | 120, 110 | 110 | 110 |
Начиная с версии 1810 текущей ветки Configuration Manager, когда база данных Configuration Manager работает на SQL Server 2016 SP1 или более поздней версии, все запросы, выданные консолью администрирования и поставщиком SMS, автоматически добавят подсказку USE HINT 'FORCE_LEGACY_CARDINALITY_ESTIMATION' запроса. Таким образом, производительность консоли администрирования не будет влиять при изменении уровня совместимости CE на 110 на уровне базы данных для устранения проблем с производительностью. Если вы хотите изменить это поведение, чтобы запросы из консоли администратора и поставщика SMS вместо этого использовали текущий уровень SQL Server CE, установите UseLegacyCardinality значение 0 под следующим подразделом реестра на компьютере, на котором находится поставщик SMS:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SMS\Providers
Чтобы определить, какой уровень совместимости SQL Server CE используется для базы данных Configuration Manager, выполните следующий запрос:
SELECT name, compatibility_level FROM sys.databases
В SQL Server 2014 и SQL Server 2016 RTM, чтобы определить, может ли использование SQL Server 2012 CE (110) повысить производительность запросов в Configuration Manager, найдите запрос, который выполняется медленно, и протестируйте его производительность вручную на уровне совместимости SQL Server 2012 CE. Для этого запустите запрос в SQL Server Management Studio option (querytraceon 9481) и сравните время выполнения с производительностью без флага.
Начиная с SQL Server 2016 SP1, для выполнения этого на уровне запроса добавьте USE HINT 'FORCE_LEGACY_CARDINALITY_ESTIMATION'подсказку запроса вместо использования флага трассировки 9481.
Дополнительные сведения об использовании querytraceon с флагом трассировки 9481 на уровне конкретного запроса см. в разделе "Подсказки" (Transact-SQL) — запрос. Сведения об использовании SQL Server Profiler для выявления медленных запросов см. в статье SQL Server Profiler.
См. следующий пример выполнения теста конкретного запроса на уровне CE SQL Server 2012 для SQL Server 2014:
select SMS_DeploymentSummary.ApplicationName,SMS_DeploymentSummary.AssignmentID,SMS_DeploymentSummary.CI_ID,SMS_DeploymentSummary.CollectionID,SMS_DeploymentSummary.CollectionName,SMS_DeploymentSummary.CreationTime,SMS_DeploymentSummary.DeploymentID,SMS_DeploymentSummary.DeploymentIntent,SMS_DeploymentSummary.DeploymentTime,SMS_DeploymentSummary.DesiredConfigType,SMS_DeploymentSummary.EnforcementDeadline,SMS_DeploymentSummary.FeatureType,SMS_DeploymentSummary.ModelName,SMS_DeploymentSummary.ModificationTime,SMS_DeploymentSummary.NumberErrors,SMS_DeploymentSummary.NumberInProgress,SMS_DeploymentSummary.NumberOther,SMS_DeploymentSummary.NumberSuccess,SMS_DeploymentSummary.NumberTargeted,SMS_DeploymentSummary.NumberUnknown,SMS_DeploymentSummary.ObjectTypeID,SMS_DeploymentSummary.PackageID,SMS_DeploymentSummary.PolicyModelID,SMS_DeploymentSummary.ProgramName,SMS_DeploymentSummary.SecuredObjectId,SMS_DeploymentSummary.SoftwareName,SMS_DeploymentSummary.SummarizationTime,SMS_DeploymentSummary.SummaryType from fn_DeploymentSummary(1033) AS SMS_DeploymentSummary where SMS_DeploymentSummary.DeploymentID = N'CS100012' option (querytraceon 9481)
Замечание
Указанный выше запрос и идентификатор развертывания CS100012 предназначены только для демонстрационных целей и зависят от среды.
Если приведенный выше тест указывает на то, что улучшение производительности может быть достигнуто, используйте следующую команду в SQL Server Management Studio, чтобы установить базу данных Configuration Manager на уровень совместимости с SQL Server 2012 CE.
ALTER DATABASE <CM_DB>
SET COMPATIBILITY_LEVEL = 110;
GO
Замечание
В приведенном выше примере замените <CM_DB> именем базы данных сайта Configuration Manager. Чтобы изменить уровень совместимости CE на другой уровень, измените значение в SET COMPATIBILITY_LEVEL.
Дополнительные сведения
При обновлении экземпляра SQL Server на месте с любой более ранней версии SQL Server существующие базы данных сохранят свой существующий уровень совместимости, если они находятся на минимально допустимом уровне для этой новой версии SQL Server. Обновление SQL Server с базой данных на уровне совместимости ниже допустимого уровня автоматически устанавливает базу данных на самый низкий уровень совместимости, разрешенный новой версией SQL Server.
Во время обновлений или новых установок Configuration Manager базы данных могут быть автоматически настроены для использования рекомендуемой версии совместимости SQL Server CE для этой версии SQL Server (как показано в таблице, указанной в разделе "Разрешение "). При снижении производительности после обновления обслуживания в результате возврата к рекомендуемому уровню CE по умолчанию для вашей версии SQL Server необходимо повторно определить, придется ли вручную изменить уровень CE на 110.
Дополнительные сведения о уровнях совместимости SQL Server CE см. в разделе ALTER DATABASE (Transact-SQL) Уровень совместимости.