Рекомендации по проектированию SQL ServerSQL Server Design Considerations

Важно!

Поддержка этой версии Operations Manager прекращена. Рекомендуем перейти на Operations Manager 2019.This version of Operations Manager has reached the end of support, we recommend you to upgrade to Operations Manager 2019.

System Center Operations Manager требует доступа к экземпляру сервера Microsoft SQL Server для поддержки рабочей базы данных, базы данных хранилища данных и базы данных аудита ACS.System Center Operations Manager requires access to an instance of a server running Microsoft SQL Server to support the operational, data warehouse, and ACS audit database. Базы операционных данных и базы хранилищ данных являются обязательными и создаются при развертывании первого сервера управления в группе управления, в то время как база данных ACS создается при развертывании коллектора ACS в группе управления.The operational and data warehouse databases are required and created when you deploy the first management server in your management group, while the ACS database is created when you deploy an ACS collector in your management group.

В лабораторной среде или небольших развертываниях Operations Manager сервер SQL Server можно размещать вместе с другими компонентами на первом сервере управления в группе управления.In a lab environment or small-scale deployment of Operations Manager, SQL Server can be co-located on the first management server in the management group. В средних развертываниях и распределенных развертываниях корпоративного уровня экземпляр SQL Server должен размещаться на выделенном отдельном сервере или в конфигурации высокой доступности SQL Server.In a medium to enterprise-scale distributed deployment, the SQL Server instance should be located on a dedicated standalone server or in a SQL Server high-availability configuration. В любом случае SQL Server должен уже существовать и быть доступным до начала установки первого сервера управления или коллектора ACS.In either case, SQL Server must already exist and is accessible before you start the installation of the first management server or ACS collector.

Требования к SQL ServerSQL Server requirements

В установленной версии System Center Operations Manager для размещения сервера отчетов, рабочей базы данных, хранилища данных и базы данных ACS поддерживаются следующие версии выпусков SQL Server Enterprise и Standard:The following versions of SQL Server Enterprise & Standard Edition are supported for an existing installation of System Center Operations Manager version to host Reporting Server, Operational, Data Warehouse, and ACS database:

  • SQL Server 2019 с накопительным пакетом обновления (CU) версии 8 или более поздней версии, как описано здесь.SQL Server 2019 with Cumulative Update 8 (CU8) or later, as detailed here

    Примечание

    • Operations Manager 2019 поддерживает SQL 2019 с CU версии 8 или более поздней версии, но не поддерживает SQL 2019 RTM.Operations Manager 2019 supports SQL 2019 with CU8 or later; however, it does not support SQL 2019 RTM.
    • Используйте ODBC 17.3 или более поздней версии и MSOLEDBSQL 18.2 или более поздней версии.Use ODBC 17.3 or later, and MSOLEDBSQL 18.2 or later.
  • SQL Server 2017 и накопительные пакеты обновления, как описано здесь.SQL Server 2017 and Cumulative Updates as detailed here

  • SQL Server 2016 и пакеты обновления, перечисленные здесьSQL Server 2016 and Service Packs as detailed here

В установленной версии System Center Operations Manager для размещения сервера отчетов, рабочей базы данных, хранилища данных и базы данных ACS поддерживаются следующие версии выпусков SQL Server Enterprise и Standard:The following versions of SQL Server Enterprise & Standard Edition are supported for an existing installation of System Center Operations Manager version to host Reporting Server, Operational, Data Warehouse, and ACS database:

  • SQL Server 2017 и накопительные пакеты обновления, как описано здесь.SQL Server 2017 and Cumulative Updates as detailed here
  • SQL Server 2016 и пакеты обновления, перечисленные здесьSQL Server 2016 and Service Packs as detailed here

Прежде чем обновить SQL Server, изучите сведения об обновлении до выпуска 2017 и 2019.Before upgrading SQL Server, see upgrade information for 2017, and upgrade information for 2019.

Прежде чем выполнить обновление до SQL Server 2017, изучите эти сведения об обновлении.Before upgrading to SQL Server 2017, see upgrade information for 2017.

Следующие версии SQL Server Enterprise и Standard Edition поддерживаются в новых и существующих установках System Center Operations Manager версии 1801 для размещения сервера отчетов, операций, хранилища данных и базы данных ACS:The following versions of SQL Server Enterprise & Standard Edition are supported for a new or existing installation of System Center Operations Manager version 1801 to host Reporting Server, Operational, Data Warehouse, and ACS database:

  • SQL Server 2016 и пакеты обновления, перечисленные здесьSQL Server 2016 and Service Packs as detailed here

Следующие версии SQL Server Enterprise и Standard Edition поддерживаются в новых и существующих установках System Center Operations Manager 2016 для размещения сервера отчетов, операций, хранилища данных и базы данных ACS:The following versions of SQL Server Enterprise & Standard Edition are supported for a new or existing installation of System Center 2016 - Operations Manager to host Reporting Server, Operational, Data Warehouse, and ACS database:

  • SQL Server 2016 и пакеты обновления, перечисленные здесьSQL Server 2016 and Service Packs as detailed here
  • SQL Server 2014 и пакеты обновления, перечисленные здесьSQL Server 2014 and Service Packs as detailed here
  • SQL Server 2012 и пакеты обновления, перечисленные здесьSQL Server 2012 and Service Packs as detailed here

Примечание

Для всех баз данных System Center Operations Manager должна использоваться одна и та же версия SQL Server, параметр сортировки SQL Server должен соответствовать поддерживаемым типам параметров, описанным в этом разделе, а компонент полнотекстового поиска SQL Server является обязательным как для рабочих баз данных, так и для баз данных хранилища данных.System Center Operations Manager databases must use the same version of SQL Server, the SQL Server collation setting must be one of the following supported types as described in that section, and SQL Server Full Text Search is required for both the operational and data warehouse databases. Параметры установки Windows Server 2016 (Server Core, сервер с возможностями рабочего стола и Nano Server), поддерживаемые компонентами базы данных Operations Manager, основаны на параметрах установки Windows Server, поддерживаемых службой SQL Server.The Windows Server 2016 installation options (Server Core, Server with Desktop Experience, and Nano Server) supported by Operations Manager database components, are based on what installation options of Windows Server are supported by SQL Server.

Примечание

Модуль отчетов System Center Operations Manager невозможно установить параллельно предыдущей версии роли оператора отчетов и необходимо устанавливать только в собственном режиме.System Center Operations Manager Reporting cannot be installed in a side-by-side fashion with a previous version of the Reporting role and must be installed in native mode only. (Режим интеграции SharePoint не поддерживается.)(SharePoint integrated mode is not supported.)

При планировании архитектуры необходимо учитывать несколько аспектов, связанных с оборудованием и программным обеспечением:Additional hardware and software considerations apply in your design planning:

  • Рекомендуется запускать SQL Server на компьютерах с форматом файлов NTFS.We recommend that you run SQL Server on computers with the NTFS file format.
  • Для рабочей базы данных и базы данных хранилища данных требуется не менее 1024 МБ свободного дискового пространства.There must be at least 1024 MB of free disk space for the operational and data warehouse database. Это требование реализуется на этапе создания базы данных и, вероятно, значительно увеличится в дальнейшем.It is enforced at the time of database creation, and it will likely grow significantly after setup.
  • Требуется платформа .NET Framework 4..NET Framework 4 is required.
  • Сервер отчетов не поддерживается в Windows Server Core.Reporting Server is not supported on Windows Server Core.

Дополнительные сведения см. в статье о требованиях к оборудованию и программному обеспечению для установки SQL Server 2014 и 2016.For more information, see Hardware and Software Requirements for Installing SQL Server 2014 or 2016

Примечание

В ходе первоначальной установки операционной базы данных используйте проверку подлинности Windows только на том сервере SQL Server, где размещена рабочая база данных Operations Manager.During the initial installation of the operational database, only use Windows Authentication on the SQL Server that hosts the Operations Manager operational database. Не используйте смешанный режим (проверка подлинности Windows и проверка подлинности сервера SQL одновременно), поскольку использование режима проверки подлинности сервера SQL в ходе первоначальной установки операционной базы данных может привести к проблемам.Do not use Mixed Mode (Windows Authentication and SQL Server Authentication) because using SQL Server Authentication mode during the initial installation of the operational database can cause issues. Хоте смешанный режим безопасности можно использовать на сервере SQL, где размещена операционная база данных Operations Manager, он не поддерживается, поскольку все контакты с базой данных опираются только на учетные записи Windows.Although enabling Mixed Mode security is possible on the SQL Server hosting the Operations Manager operational database, it is not supported as all contact with the database is accomplished using Windows accounts only.

Настройка параметров сортировки SQL ServerSQL Server collation setting

System Center Operations Manager поддерживает следующие типы параметров сортировки SQL Server и Windows.The following SQL Server and Windows collations are supported by System Center Operations Manager.

Примечание

Чтобы избежать проблем с совместимостью при сравнении или копировании, рекомендуется использовать одинаковые параметры сортировки для баз данных SQL и Operations Manager.To avoid any compatibility issues in comparing or copying operations, we recommend you use the same collation for the SQL and Operations Manager DB.

Параметры сортировки SQL ServerSQL Server collation

  • SQL_Latin1_General_CP1_CI_ASSQL_Latin1_General_CP1_CI_AS

Параметры сортировки WindowsWindows collation

  • Latin1_General_100_CI_ASLatin1_General_100_CI_AS
  • French_CI_ASFrench_CI_AS
  • French_100_CI_ASFrench_100_CI_AS
  • Cyrillic_General_CI_ASCyrillic_General_CI_AS
  • Chinese_PRC_CI_ASChinese_PRC_CI_AS
  • Chinese_Simplified_Pinyin_100_CI_ASChinese_Simplified_Pinyin_100_CI_AS
  • Chinese_Traditional_Stroke_Count_100_CI_ASChinese_Traditional_Stroke_Count_100_CI_AS
  • Japanese_CI_ASJapanese_CI_AS
  • Japanese_XJIS_100_CI_ASJapanese_XJIS_100_CI_AS
  • Traditional_Spanish_CI_ASTraditional_Spanish_CI_AS
  • Modern_Spanish_100_CI_ASModern_Spanish_100_CI_AS
  • Latin1_General_CI_ASLatin1_General_CI_AS
  • Cyrillic_General_100_CI_ASCyrillic_General_100_CI_AS
  • Korean_100_CI_ASKorean_100_CI_AS
  • Czech_100_CI_ASCzech_100_CI_AS
  • Hungarian_100_CI_ASHungarian_100_CI_AS
  • Polish_100_CI_ASPolish_100_CI_AS
  • Finnish_Swedish_100_CI_ASFinnish_Swedish_100_CI_AS

Если экземпляр SQL Server настроен с использованием параметров сортировки, не соответствующих указанным выше типам, задать новые параметры установки Operations Manager не удастся.If your SQL Server instance is not configured with one of the supported collations listed earlier, performing a new setup of Operations Manager setup will fail. Однако обновление на месте будет выполняться успешно.However, an in-place upgrade will complete successfully.

Настройка брандмауэраFirewall configuration

Operations Manager использует SQL Server для размещения своих баз данных и платформу отчетов для анализа и представления рабочих данных за прошлые периоды.Operations Manager depends on SQL Server to host its databases and a reporting platform to analyze and present historical operational data. Роли сервера управления, консоли управления и веб-консоли должны иметь возможность успешно взаимодействовать с сервером SQL Server; для правильной настройки среды важно понимать путь коммуникации и используемые порты.The management server, Operations, and Web console roles need to be able to successfully communicate with SQL Server, and it is important to understand the communication path and ports in order to configure your environment correctly.

При создании распределенного развертывания, которое потребует, чтобы группы доступности SQL AlwaysOn предоставили функциональные возможности отработки отказа для баз данных Operations Manager, необходимо включить в свою стратегию безопасности брандмауэра дополнительные параметры конфигурации брандмауэра.If you are designing a distributed deployment that will require SQL Always On Availability Groups to provide failover functionality for the Operations Manager databases, there are additional firewall configuration settings that need to be included in your firewall security strategy.

Следующая таблица помогает определить нужные SQL Server порты брандмауэра, которые необходимо будет разрешить (как минимум),чтобы роли сервера в группе управления Operations Manager могли успешно взаимодействовать.The following table helps you identify the firewall ports required by SQL Server that will need to be allowed at a minimum in order for server roles in your Operations Manager management group to successfully communicate.

СценарийScenario PortPort Direction (направление)Direction Роль Operations ManagerOperations Manager Role
Сервер SQL Server, на котором размещены базы данных Operations ManagerSQL Server hosting Operations Manager databases TCP 1433 *TCP 1433 * ВходящиеInbound сервер управления и веб-консоль (для советника по приложениям и диагностики приложений)management server and Web console (for Application Advisor and Application Diagnostics)
Служба обозревателя SQL ServerSQL Server Browser service UDP 1434UDP 1434 ВходящиеInbound сервер управленияmanagement server
Выделенное соединение администратора SQL ServerSQL Server Dedicated Admin Connection TCP 1434TCP 1434 ВходящиеInbound сервер управленияmanagement server
Дополнительные порты, используемые SQL ServerAdditional ports used by SQL Server
— Удаленные вызовы процедур (Майкрософт) (MS RPC)- Microsoft remote procedure calls (MS RPC)
— Инструментарий управления Windows (WMI)- Windows Management Instrumentation (WMI)
— Координатор распределенных транзакций (Майкрософт) (MS DTC)- Microsoft Distributed Transaction Coordinator (MS DTC)
TCP 135TCP 135 ВходящиеInbound сервер управленияmanagement server
Прослушиватель группы доступности SQL Server Always OnSQL Server Always On Availability Group Listener Порт, настраиваемый администраторомAdministrator configured port ВходящийInbound сервер управленияmanagement server
Службы SQL Server Reporting Services, в которых размещен сервер отчетов Operations ManagerSQL Server Reporting Services hosting Operations Manager Reporting Server TCP 80 (по умолчанию)/443 (SSL)TCP 80 (default)/443 (SSL) ВходящийInbound сервер управления и консоль управленияmanagement server and Operations console

* TCP 1433 — стандартный порт для экземпляра ядра СУБД по умолчанию. Однако если создать именованный экземпляр на автономном сервере SQL Server или развернуть группу доступности SQL AlwaysOn, будет определен пользовательский порт, который нужно зафиксировать документально, чтобы правильно настроить брандмауэры и ввести соответствующую информацию во время настройки.* While TCP 1433 is the standard port for the default instance of the Database Engine, when you create a named instance on a standalone SQL Server or have deployed a SQL Always On Availability Group, a custom port will be defined and should be documented for reference so that you properly configure your firewalls and enter this information during setup.

Более подробные сведения о требованиях брандмауэра к SQL Server см. в статье Настройка брандмауэра Windows для разрешения доступа к SQL Server.For a more detailed overview of the firewall requirements for SQL Server, see Configure the Windows Firewall to Allow SQL Server Access.

Вопросы производительности и храненияCapacity and storage considerations

база данных Operations ManagerOperations Manager database

База данных Operations Manager представляет собой базу данных SQL Server, которая содержит все данные, необходимые Operations Manager для ежедневного мониторинга.The Operations Manager database is a SQL Server database that contains all of the data needed by Operations Manager for day-to-day monitoring. Изменение размера и конфигурация сервера базы данных имеют критическое значение для общей производительности группы управления.Sizing and configuration of the database server is critical to the overall performance of the management group. Наиболее важный ресурс, используемый базой данных Operations Manager, — это подсистема хранения, однако ЦП и ОЗУ также играют важную роль.The most critical resource used by the Operations Manager database is the storage subsystem, but CPU and RAM are also significant.

Факторы, влияющие на загрузку базы данных Operations Manager, включают следующее:Factors that influence the load on the Operations Manager database include:

  • Скорость сбора рабочих данных.Rate of operational data collection. Рабочие данные состоит из всех событий, предупреждений, изменений состояния и данных производительности, собранных агентами.Operational data consists of all the events, alerts, state changes, and performance data collected by agents. Большая часть ресурсов, используемых базой данных Operations Manager, применяется для записи этих данных на диск, когда они поступают в систему.Most of the resources that are used by the Operations Manager database are used to write this data to disk as it comes into the system. Скорость сбора рабочих данных увеличивается при импорте дополнительных пакетов управления и добавлении дополнительных агентов.The rate of operational data collected tends to increase as additional management packs are imported and additional agents are added. Тип компьютера, отслеживаемого агентом, — также важный фактор при определении совокупной скорости сбора рабочих данных.The type of computer that an agent is monitoring is also an important factor used when determining the overall rate of operational data collection. Например, ожидается, что агент, который наблюдает за критически важным для бизнеса настольным компьютером, будет собирать меньше данных, чем агент, отслеживающий сервер, на котором выполняется экземпляр SQL Server с большим количеством баз данных.For example, an agent that is monitoring a business-critical desktop computer can be expected to collect less data than an agent monitoring a server that is running an instance of SQL Server with a large number of databases.
  • Скорость изменения пространства экземпляров.Rate of instance space changes. Обновление этих данных в базе данных Operations Manager достаточно затратно по сравнению с записью новых рабочих данных.Updating this data in the Operations Manager database is costly relative to writing new operational data. Кроме того, при изменении данных пространства экземпляров серверы управления отправляют дополнительные запросы в базу данных Operations Manager, чтобы вычислить изменения конфигурации и групп.In addition, when instance space data changes, the management servers make additional queries to the Operations Manager database in order to compute configuration and group changes. Скорость изменения пространства экземпляров увеличивается при импорте дополнительных пакетов управления в группу управления.The rate of instance space changes increases as you import additional management packs into a management group. Добавление новых агентов в группу управления также временно увеличивает скорость изменения пространства экземпляров.Adding new agents to a management group also temporarily increases the rate of instance space changes.
  • Количество консолей управления и других подключений SDK, работающих одновременно.Number of Operations Consoles and other SDK connections running simultaneously. Каждая консоль управления считывает данные из базы данных Operations Manager.Each Operations console reads data from the Operations Manager database. Запрос этих данных потребляет потенциально большие объемы ресурсов ввода-вывода хранилища, время ЦП и ОЗУ.Querying this data consumes potentially large amounts of storage I/O resources, CPU time, and RAM. Консоли управления, на которых отображаются большие объемы рабочих данных в представлениях "События", "Состояние", "Предупреждения" и "Данные производительности", обеспечивают наибольшую нагрузку на базу данных.Operations consoles that display large amounts of operational data in the Events View, State View, Alerts View, and Performance Data View tend to cause the largest load on the database.

База данных Operations Manager — это единственный источник сбоя для группы управления, поэтому с помощью поддерживаемых конфигураций отработки отказа (групп доступности SQL Server AlwaysOn и экземпляров отказоустойчивых кластеров) можно обеспечить высокую доступность этой базы данных.The Operations Manager database is a single source of failure for the management group, so it can be made highly available using supported failover configurations such as SQL Server Always On Availability Groups or Failover Cluster Instances.

База данных хранилища данных Operations ManagerOperations Manager data warehouse database

System Center Operations Manager вставляет данные в хранилище данных отчетов практически в режиме реального времени. На этом сервере необходимо иметь достаточно ресурсов для записи всех собираемых данных в хранилище данных отчетов.System Center – Operations Manager inserts data into the Reporting data warehouse in near-real time, it is important to have sufficient capacity on this server that supports writing all of the data that is being collected to the Reporting data warehouse. Как и в случае с базой данных Operations Manager, наиболее важный ресурс в хранилище данных отчетов — это подсистема ввода-вывода хранилища.As with the Operations Manager database, the most critical resource on the Reporting data warehouse is the storage I/O subsystem. В большинстве систем нагрузки на хранилище данных отчетов аналогичны нагрузкам на базы данных Operations Manager, но могут варьироваться.On most systems, loads on the Reporting data warehouse are similar to the Operations Manager database, but they can vary. Кроме того, рабочая нагрузка, возложенная на хранилище данных отчетов системой отчетности, отличается от нагрузки, возлагаемой на базу данных Operations Manager в ходе использования консоли управления.In addition, the workload put on the Reporting data warehouse by reporting is different than the load put on the Operations Manager database by Operations console usage.

Факторы, влияющие на нагрузку на хранилище данных отчетов, включают следующее:Factors that influence the load on the Reporting data warehouse include:

  • Скорость сбора рабочих данных.Rate of operational data collection. Чтобы обеспечить более эффективное создание отчетов, хранилище данных отчетов вычисляет и сохраняет объединенные данные в дополнение к ограниченному объему необработанных данных.To allow for more efficient reporting, the Reporting data warehouse computes and stores aggregated data in addition to a limited amount of raw data. Выполнение этой дополнительной работы означает, что сбор рабочих данных в хранилище данных отчетов может быть несколько более затратным, чем сбор в базу данных Operations Manager.Doing this extra work means that operational data collection to the Reporting data warehouse can be slightly more costly than to the Operations Manager database. Как правило, эти дополнительные затраты уравновешиваются экономией на обработке данных обнаружения в хранилище данных отчетов по сравнению с базой данных Operations Manager.This additional cost is typically balanced by the reduced cost of processing discovery data by the Reporting data warehouse versus the Operations Manager database.
  • Число одновременных пользователей отчетов или создание отчетов по расписанию.Number of concurrent reporting users or scheduled report generation. Поскольку отчеты часто содержат сводку больших объемов данных, каждый пользователь системы отчетности может добавлять на нее существенную нагрузку.Because reports frequently summarize large volumes of data, each reporting user can add a significant load on the system. Число и тип одновременно выполняемых отчетов влияют на совокупную потребность в ресурсах.The number of reports run simultaneously and the type of reports being run both affect overall capacity needs. Как правило, отчеты, запрашивающие крупные диапазоны данных или большое количество объектов, требуют дополнительных ресурсов системы.Generally, reports that query large date ranges or large numbers of objects require additional system resources.

Исходя из этого можно назвать несколько рекомендаций, которые необходимо учитывать при планировании масштабов хранилища данных отчетов:Based on these factors, there are several recommended practices to consider when sizing the Reporting data warehouse:

  • Выберите соответствующую подсистему хранения.Choose an appropriate storage subsystem. Так как хранилище данных отчетов — это неотъемлемая часть общего потока данных в группе управления, важно выбрать подходящую подсистему хранения для хранилища данных отчетов.Because the Reporting data warehouse is an integral part of the overall data flow through the management group, choosing an appropriate storage subsystem for the Reporting data warehouse is important. При работе с базой данных Operations Manager лучше всего выбрать схему RAID 0 + 1.As with the Operations Manager database, RAID 0 + 1 is often the best choice. В общем случае подсистема хранения хранилища данных отчетов должна быть схожа с подсистемой хранения для базы данных Operations Manager, и инструкции, применимые к базе данных Operations Manager, также применяются к хранилищу данных отчетов.In general, the storage subsystem for the Reporting data warehouse should be similar to the storage subsystem for the Operations Manager database, and the guidance that applies to the Operations Manager database also applies to the Reporting data warehouse.
  • Рассмотрите возможность правильного размещения журналов данных и журналов транзакций.Consider appropriate placement of data logs vs. transaction logs. Что касается базы данных Operations Manager, отделение данных SQL от журналов транзакций часто целесообразно при горизонтальном увеличении масштаба для числа агентов.As for the Operations Manager database, separating SQL data and transaction logs are often an appropriate choice as you scale up the number of agents. Если база данных Operations Manager и хранилище данных отчетов находятся на одном сервере и требуется разделить данные и журналы транзакций, необходимо поместить журналы транзакций для базы данных Operations Manager в отдельный физический том и на разные шпиндели дисков, чем хранилище данных отчетов, чтобы извлечь какие-либо преимущества.If both the Operations Manager database and Reporting data warehouse are located on the same server and you want to separate data and transaction logs, you must put the transaction logs for the Operations Manager database on a separate physical volume and disk spindles from the Reporting data warehouse to receive any benefit. Файлы данных для базы данных Operations Manager и хранилища данных отчетов могут совместно использовать один и тот же физический том при условии, что этот том имеет необходимую емкость и производительность ввода-вывода диска не оказывает негативное влияние на мониторинг и отчетность.The data files for the Operations Manager database and Reporting data warehouse can share the same physical volume as long as the volume provides adequate capacity and disk I/O performance does not negatively impact monitoring and reporting functionality.
  • Рекомендуется поместить хранилище данных отчетов на отдельный сервер от базы данных Operations Manager.Consider placing the Reporting data warehouse on a separate server from the Operations Manager database. Несмотря на то, что в развертываниях уменьшенного масштаба база данных Operations Manager и хранилище данных отчетов часто консолидируются на одном сервере, имеет смысл разделить их при вертикальном увеличении масштаба для числа агентов и объема входящих рабочих данных.Although smaller-scale deployments can often consolidate the Operations Manager database and Reporting data warehouse on the same server, it is advantageous to separate them as you scale up the number of agents and the volume of incoming operational data. Если хранилище данных отчетов и сервер отчетов находятся на одном сервере, а база данных Operations Manager — на другом, производительность отчетности повышается.When the Reporting data warehouse and Reporting Server are on a separate server from the Operations Manager database, you experience better reporting performance.

База данных хранилища данных Operations Manager — это единственный источник сбоя для группы управления, поэтому с помощью поддерживаемых конфигураций отработки отказа (групп доступности SQL Server AlwaysOn и экземпляров отказоустойчивых кластеров) можно обеспечить высокую доступность этой базы данных.The Operations Manager data warehouse database is a single source of failure for the management group, so it can be made highly available using supported failover configurations such as SQL Server Always On Availability Groups or Failover Cluster Instances.

SQL Server AlwaysOnSQL Server Always On

Группы доступности SQL Server AlwaysOn поддерживают среды отработки отказа для дискретного набора пользовательских баз данных (баз данных доступности).SQL Server Always On availability groups support failover environments for a discrete set of user databases (availability databases). Каждый набор баз данных доступности размещается в реплике доступности.Each set of availability databases is hosted by an availability replica.

В System Center 2016 Operations Manager и белее поздних версиях для обеспечения высокой доступности баз данных предпочтительнее использовать SQL AlwaysOn, нежели отказоустойчивую кластеризацию.With System Center 2016 and later - Operations Manager, SQL Always On is preferred over failover clustering to provide high availability for databases. Все базы данных, кроме установки служб отчетности в основном режиме, где для разделения постоянного и временного хранилища данных используются две базы данных, можно разместить в группе доступности AlwaysOn.All databases except the native mode Reporting Services installation, which uses two databases to separate persistent data storage from temporary storage requirements, can be hosted in an AlwaysOn Availability Group.

Для настройки группы доступности необходимо развернуть кластер отказоустойчивой кластеризации Windows Server (WSFC), в котором будет размещаться реплика доступности, и включить AlwaysOn на узлах кластера.To set up an availability group you'll need to deploy a Windows Server Failover Clustering (WSFC) cluster to host the availability replica, and enable Always On on the cluster nodes. После этого можно добавить базу данных SQL Server Operations Manager как базу данных доступности.You can then add the Operations Manager SQL Server database as an availability database.

SQL Server AlwaysOnSQL Server Always On

Группы доступности SQL Server AlwaysOn поддерживают среды отработки отказа для дискретного набора пользовательских баз данных (баз данных доступности).SQL Server Always On availability groups support failover environments for a discrete set of user databases (availability databases). Каждый набор баз данных доступности размещается в реплике доступности.Each set of availability databases is hosted by an availability replica.

В System Center 2016 Operations Manager и белее поздних версиях для обеспечения высокой доступности баз данных предпочтительнее использовать SQL AlwaysOn, нежели отказоустойчивую кластеризацию.With System Center 2016 and later - Operations Manager, SQL Always On is preferred over failover clustering to provide high availability for databases. Все базы данных, кроме установки служб отчетности в основном режиме, где для разделения постоянного и временного хранилища данных используются две базы данных, можно разместить в группе доступности AlwaysOn.All databases except the native mode Reporting Services installation, which uses two databases to separate persistent data storage from temporary storage requirements, can be hosted in an AlwaysOn Availability Group.

Для настройки группы доступности необходимо развернуть кластер отказоустойчивой кластеризации Windows Server (WSFC), в котором будет размещаться реплика доступности, и включить AlwaysOn на узлах кластера.To set up an availability group you'll need to deploy a Windows Server Failover Clustering (WSFC) cluster to host the availability replica, and enable Always On on the cluster nodes. После этого можно добавить базу данных SQL Server Operations Manager как базу данных доступности.You can then add the Operations Manager SQL Server database as an availability database.

Примечание

Развернув Operations Manager на узлах SQL Server, входящих в SQL Always On, для включения режима строгой безопасности в среде CLR запустите сценарий SQL для каждой базы данных Operations Manager.After deploying Operations Manager on the SQL server nodes participating in SQL Always On, to enable CLR strict security, run the SQL script on each Operations Manager database.

Строка с несколькими подсетямиMultisubnet string

Operations Manager не поддерживает ключевые слова строки подключения (MultiSubnetFailover=True).Operations Manager does not support the connection string key words (MultiSubnetFailover=True). Так как в группе доступности есть имя прослушивателя (также известно как имя сети или точка доступа клиента в диспетчере кластеров WSFC), зависимое от множества IP-адресов из разных подсетей, например, при развертывании в межсайтовой отказоустойчивой конфигурации, время ожидания у запросов клиентских подключений от серверов управления к прослушивателю группы доступности будет истекать.Because an availability group has a listener name (known as the network name or Client Access Point in the WSFC Cluster Manager) depending on multiple IP addresses from different subnets, such as when you deploy in a cross-site failover configuration, client-connection requests from management servers to the availability group listener will hit a connection timeout.

Если вы развернули узлы сервера в группе доступности в окружении с несколькими подсетями, рекомендуем сделать следующее для обхода этого ограничения:The recommended approach to work around this limitation when you have deployed server nodes in the availability group in a multi-subnet environment, is to do the following:

  1. Задайте в имени сети прослушивателя группы доступности регистрацию только одного активного IP-адреса в DNS.Set the network name of your availability group listener to only register a single active IP address in DNS
  2. Настройте в кластере короткий срок жизни для зарегистрированной записи DNS.Configure the cluster to use a low TTL value for the registered DNS record

Эти параметры ускоряют восстановление и разрешение имени кластера с новым IP-адресом при отработке отказа на узле в другой подсети.These settings allow, when fail over to a node in a different subnet, for quicker recovery and resolution of the cluster name with the new IP address.

Запустите следующий запрос PowerShell на любом узле SQL, чтобы изменить его параметры.Run the following PowerShell query on any one of the SQL nodes to modify its settings.

Import-Module FailoverClusters
Get-ClusterResource "Cluster Name"|Set-ClusterParameter RegisterAllProvidersIP 0
Get-ClusterResource "Cluster Name"|Set-ClusterParameter HostRecordTTL 300
Stop-ClusterResource "Cluster Name"
Start-ClusterResource "Cluster Name"

Если вы используете AlwaysOn с именем прослушивателя, следует также внести эти изменения в конфигурацию прослушивателя.If you are using Always On with a listener name, you should also make these configurations changes on the listener.

Запустите следующий запрос PowerShell на узле SQL, где сейчас размещается прослушиватель, чтобы изменить его параметры.Run the following PowerShell query on the SQL node currently hosting the listener to modify its settings.

Import-Module FailoverClusters
Get-ClusterResource <Listener Cluster Resource name> | Set-ClusterParameter RegisterAllProvidersIP 0
Get-ClusterResource <Listener Cluster Resource name> | Set-ClusterParameter HostRecordTTL 300
Stop-ClusterResource <Listener Cluster Resource name>
Start-ClusterResource <Listener Cluster Resource name>

Если для обеспечения высокой доступности используется кластеризованный экземпляр SQL или экземпляр SQL AlwaysOn, на серверах управления следует включить функцию автоматического восстановления, чтобы избежать перезапуска службы доступа к данным Operations Manager при каждой отработке отказа между узлами.When a clustered or an Always On SQL instance is used for high availability, you should enable the automatic recovery feature on your management servers to avoid the Operations Manager Data Access service restart anytime a failover between nodes occur. Сведения о том, как выполнить эту настройку, см. в статье базы знаний The System Center Management service stops responding after an instance of SQL Server goes offline (Служба управления System Center Management перестает отвечать на запросы после перехода экземпляра SQL Server в автономный режим).For information on how to configure this, see the following KB article The System Center Management service stops responding after an instance of SQL Server goes offline.

Оптимизация SQL ServerOptimizing SQL Server

В целом предыдущий опыт развертывания у клиентов показывает, что проблемы с производительностью обычно вызваны не высоким уровнем использования ресурсов (например, процессора или памяти) со стороны SQL Server, а напрямую связаны с конфигурацией подсистемы хранения.In general, previous deployment experience with customers shows that performance issues are typically not caused by high resource utilization (that is, processor or memory) with SQL Server itself; rather it is directly related to the configuration of the storage subsystem. Проблемы с производительностью чаще всего происходят из-за невыполнения инструкций и рекомендаций по конфигурации хранилища, предоставленного для экземпляра базы данных SQL Server.Performance bottlenecks are commonly attributed to not following recommended configuration guidance with the storage provisioned for the SQL Server database instance. Вот несколько примеров таких ошибок:Such examples are:

  • Недостаточное выделение шпинделей для LUN, чтобы выполнить требования Operations Manager в отношении операций ввода-вывода.Insufficient allocation of spindles for the LUNs to support the IO requirements of Operations Manager.
  • Размещение журналов транзакций и файлов базы данных в одном томе.Hosting transaction logs and database files on the same volume. Эти две рабочие нагрузки имеют разные характеристики ввода-вывода и задержки.These two workloads have different IO and latency characteristics.
  • Неверная конфигурация базы данных TempDB (размещение, размер и т. д.)Configuration of TempDB is incorrect with respect to placement, sizing, etc.
  • Неправильное размещение в разделах дисков томов, в которых находятся журналы транзакций базы данных, файлы базы данных и база данных TempDBDisk partition misalignment of volumes hosting the database transaction logs, database files, and TempDB
  • Несоблюдение базовых принципов конфигурации SQL Server, таких как использование настройки AUTOGROW для файлов журналов базы данных и транзакций, настройки MAXDOP для параллелизации запросов, создание нескольких файлов данных TempDB на ядро ЦП и т. д.Overlooking the basic SQL Server configuration such as using AUTOGROW for database and transaction log files, MAXDOP setting for query parallelism, creating multiple TempDB data files per CPU core, etc.

Конфигурация хранилища является одним из важных компонентов для развертывания сервера SQL Server для Operations Manager.Storage configuration is one of the critical components to a SQL Server deployment for Operations Manager. Серверы баз данных обычно больше зависят от операций ввода-вывода из-за активного выполнения в базе данных операций чтения и записи и обработки журналов транзакций.Database servers tend to be heavily I/O bound due to rigorous database read and write activity and transaction log processing. Типичное для Operations Manager распределение операций ввода-вывода: 80 % операций записи и 20 % операций чтения.The I/O behavior pattern of Operations Manager is typically 80% writes and 20% reads. В результате неправильная настройка подсистем ввода-вывода может привести к низкой производительности и неправильной работе систем SQL Server, что проявляется в Operations Manager.As a result, improper configuration of I/O subsystems can lead to poor performance and operation of SQL Server systems and becomes noticeable in Operations Manager.

Важно проверить архитектуру SQL Server, выполнив комплексное тестирование подсистемы ввода-вывода перед развертыванием SQL Server.It is important to test the SQL Server design by performing throughput testing of the IO subsystem prior to deploying SQL Server. Убедитесь, что в этих тестах выполняются ваши требования к вводу-выводу с приемлемой задержкой.Make sure these tests are able to achieve your IO requirements with an acceptable latency. Чтобы оценить производительность ввода-вывода подсистемы хранения, на основе которой работает SQL Server, используйте служебную программу Diskspd.Use the Diskspd Utility to evaluate the I/O capacity of the storage subsystem supporting SQL Server. В следующей статье блога, написанной одним из разработчиков файлового сервера в соответствующей группе продуктов, приводятся подробные инструкции и рекомендации по выполнению нагрузочного тестирования с помощью этого средства и определенного кода PowerShell, а также фиксации результатов с помощью PerfMon.The following blog article, authored by a member of the File Server team in the product group, provides detailed guidance and recommendations on how to go about performing stress testing using this tool with some PowerShell code, and capturing the results using PerfMon. Первоначальные инструкции также приводятся во вспомогательном приложении для изменения размера Operations Manager.You can also refer to the Operations Manager Sizing Helper for initial guidance.

Размер единицы размещения NTFSNTFS allocation unit size

Выравнивание томов, которое часто также называют выравниванием секторов, следует выполнять в файловой системе (NTFS) всякий раз при создании тома на устройстве RAID.Volume alignment, commonly referred to as sector alignment, should be performed on the file system (NTFS) whenever a volume is created on a RAID device. Иначе работа системы будет существенно замедлена. Чаще всего такая ситуация возникает при несоответствии разделов и границ чередующихся томов.Failure to do so can lead to significant performance degradation and are most commonly the result of partition misalignment with stripe unit boundaries. Это также может привести к неправильному согласованию аппаратного кэша и снижению эффективности кэша массива.It can also lead to hardware cache misalignment, resulting in inefficient utilization of the array cache. При форматировании раздела, который будет применяться для файлов данных SQL Server, рекомендуется использовать размер 64 КБ (65 536 байт) для данных, журналов и базы данных tempdb.When formatting the partition that will be used for SQL Server data files, it is recommended that you use a 64-KB allocation unit size (that is, 65,536 bytes) for data, logs, and tempdb. Помните, однако, что использование единиц размещения размером более 4 КБ приводит к невозможности использовать сжатие NTFS в томе.Be aware however, that using allocation unit sizes greater than 4 KB results in the inability to use NTFS compression on the volume. Несмотря на то что SQL Server поддерживает в сжатых томах только данные для чтения, делать так не рекомендуется.While SQL Server does support read-only data on compressed volumes, it is not recommended.

Резервирование памятиReserve memory

Определить подходящий объем физической памяти и количество процессоров, которые необходимо выделить Windows Server для SQL Server для поддержки System Center Operations Manager, довольно непросто (даже для других рабочих нагрузок, не связанных с этим продуктом).Identifying the right amount of physical memory and processors to allocate to the Windows server for SQL Server in support of System Center - Operations Manager is not an easy question to answer (not even for other workloads outside of this product for that matter). Калькулятор для определения размера системы, который предоставляет группа разработки продуктов и показания которого основаны на тестировании, проведенном в лабораторной среде (которое может соответствовать или не соответствовать типичной рабочей нагрузке и конфигурации в реальной жизни), предоставляет рекомендации на основе масштабов рабочей нагрузки (например, 500 систем, 1000 систем и т. д.). Тем не менее, очень часто возникает вопрос о достоверности представленных в нем сведений.While the sizing calculator provided by the product group, which is based off of testing performed in a lab environment that may or may not align with the typical workload and configuration in the real-world, provides guidance based on workload scale (that is, 500 systems, 1000 systems, etc.) the integrity of what's stated is often brought into question. Показания калькулятора можно использовать в качестве отправной точки, но никак не окончательной конфигурации.It serves as an initial recommendation to start with, however it's not and cannot be considered the final configuration.

По умолчанию SQL Server может менять свои требования к памяти динамически, с учетом доступных системных ресурсов.By default, SQL Server can change its memory requirements dynamically based on available system resources. Значение по умолчанию для параметра min server memory равно 0, а значение по умолчанию для параметра max server memory — 2147483647.The default setting for min server memory is 0, and the default setting for max server memory is 2147483647. Минимальный объем памяти, который можно указать для параметра max server memory, равен 16 мегабайтам (МБ).The minimum amount of memory you can specify for max server memory is 16 megabytes (MB). Ряд проблем с производительностью и памятью вызваны тем, что клиенты не задают значение Max.A number of performance and memory-related problems are because customer’s don’t set a value for Max. Server Memory, а не делают они это потому, что не знают, какое значение задать.Server Memory and they don’t do that because they don’t know what to set. Некоторые другие факторы влияют на максимальный объем памяти, выделяемый SQL, чтобы обеспечить наличие в операционной системе достаточного объема памяти для других процессов, выполняемых в системе, таких как карта HBA, агенты управления, сканирование системы антивирусной программной в реальном времени и т. д. В противном случае операционная система и SQL будет разбивать память на диске на страницы, число дисковых операций ввода-вывода увеличится, а производительность еще больше снизится. Возникнет эффект "ряби", заметный в Operations Manager.A number of other factors influence the maximum amount of memory you allocate to SQL to ensure the operating system has enough memory to support the other processes running on that system, such as HBA card, management agents, anti-virus real-time scanning, etc. Otherwise, the OS and SQL will page to disk and then disk I/O increases, further decreasing performance and creating a "ripple" effect where it is noticeable in Operations Manager.

SQL Server позволяет настроить минимальный и максимальный объем памяти, который следует зарезервировать и использовать соответствующим процессом.SQL Server allows you to configure the minimum and maximum amount of memory that should be reserved and used by its process. Указывайте не менее 4 ГБ ОЗУ.Specify at least 4 GB of RAM as minimum amount. Это необходимо сделать для каждого узла SQL, на котором размещается одна из баз данных Operations Manager (рабочая, хранилище данных, ACS).This should be done for every SQL node hosting one of the Operations Manager databases (Operational, Data warehouse, ACS).

Сначала зарезервируйте 1 ГБ ОЗУ для операционной системы, 1 ГБ для каждых 4 ГБ ОЗУ (4–16 ГБ), а затем 1 ГБ для каждых 8 ГБ ОЗУ (сверх 16 ГБ).First start by reserving 1 GB of RAM for the OS, 1 GB for each 4 GB of RAM installed from 4–16 GB, and then 1 GB for every 8 GB RAM installed above 16 GB RAM. Затем осуществляйте мониторинг счетчика производительности памяти/доступных Мбайт, чтобы определить, можно ли увеличить доступную память SQL Server по сравнению с начальным значением.Then monitor the Memory\Available MBytes performance counter in Windows to determine if you can increase the memory available to SQL Server above the starting value.

Примечание

Значения этого счетчика не должны опускаться ниже 150-300 МБ.This counter should remain above the 150-300 MB at a bare minimum. Windows возвращает оповещение LowMemoryResourceNotification при снижении до 96 МБ, поэтому требуется буфер. Но для крупных серверов с 256 ГБ и более ОЗУ следует использовать стартовое значение не менее 1 ГБ.Windows signals the LowMemoryResourceNotification at 96 MB so you want a buffer, but you should consider starting above 1 GB on larger servers with 256 GB or higher RAM.

Такой подход хорошо работает для серверов, выделенных для SQL Server.This approach has typically worked out well for servers that are dedicated to SQL Server. Можно выйти на гораздо более высокий технический уровень, определяя, какое значение указать для параметра max server memory. Для этого нужно вычислить конкретные требования к памяти ОС, других приложений, стека потоков SQL Server и других многостраничных распределителей.You can also get much more technical with determining where to set 'max server memory' by working out the specific memory requirements for the OS, other applications, the SQL Server thread stack, and other multipage allocators. Как правило, используется следующая формула: ((память в системе, всего) – (память для стека потока) – (требования к памяти ОС ~2–4 ГБ) – (память для других приложений) – (память для многостраничных распределителей; SQLCLR, связанные серверы и т. д.)), где память для стека потока = ((максимальное число рабочих потоков) × (размер стека)), а размер стека составляет 512 КБ для систем x86, 2 МБ для систем x64 и 4 МБ для систем IA64.Typically this would be ((Total system memory) – (memory for thread stack) – (OS memory requirements ~ 2-4 GB) – (memory for other applications) – (memory for multipage allocations; SQLCLR, linked servers, etc.)), where the memory for thread stack = ((max worker threads) (stack size)) and the stack size is 512 KB for x86 systems, 2 MB for x64 systems and 4 MB for IA64 systems. Значение max worker threads можно найти в столбце max_worker_count в разделе sys.dm_os_sys_info.The value for 'max worker threads' can be found in the max_worker_count column of sys.dm_os_sys_info. При использовании любого из этих методов, однако, исходим из того, что нужно, чтобы SQL Server использовал все доступные на компьютере ресурсы (если только в расчетах вы не резервировали ресурсы для других приложений).However, the assumption with either of these methods is that you want SQL Server to use everything that is available on the machine, unless you've made reservations in the calculations for other applications.

По мере того как все больше клиентов стремятся к виртуализации SQL Server в своей среде, все более актуальным становится вопрос о том, какой минимальный объем памяти потребуется SQL Server для работы на виртуальной машине.As more customers move towards virtualizing SQL Server in their environment, this question is more relevant in determining what is the minimum amount of memory that a SQL Server will need to run in a virtual machine. К сожалению, невозможно вычислить идеальный объем памяти для заданного экземпляра SQL Server, поскольку SQL Server кэширует данные в буферном пуле и использует весь объем памяти, который вы готовы ему предоставить.Unfortunately there is no way to calculate what the ideal amount of memory for a given instance of SQL Server might actually be since SQL Server is designed to cache data in the buffer pool, and it will typically use as much memory as you can give it. Стремясь уменьшить объем выделенной экземпляру SQL Server памяти, следует помнить, что в конце концов за уменьшение памяти придется заплатить увеличением числа дисковых операций ввода-вывода.One of the things to keep in mind when you are looking at reducing the memory allocated to a SQL Server instance, is that you will eventually get to a point where the lower memory gets traded off for higher disk I/O access.

Если нужно выбрать идеальную конфигурацию памяти SQL Server в распределенной среде, лучше всего начать с базовых параметров среды и текущих метрик производительности.If you need to figure out the ideal configuration for SQL Server memory in an environment that has been over provisioned, the best way to try to go about doing it is to start with a baseline of the environment and the current performance metrics. По умолчанию мониторинг применяется для следующих счетчиков:Counters to initially monitor include:

  • SQL Server:Buffer Manager\Ожидаемый срок жизни страницыSQL Server:Buffer Manager\Page Life Expectancy
  • SQL Server:Buffer Manager\Чтение страниц/сSQL Server:Buffer Manager\Page reads/sec
  • Physical Disk\Обращений чтения с диска/сPhysical Disk\Disk Reads/sec

Обычно если в среде имеется лишняя память для буферного пула, значение ожидаемого срока жизни страницы будет увеличиваться на 1 ежесекундно и не уменьшится под рабочей нагрузкой, поскольку все страницы данных в конечном счете кэшируются.Typically if the environment has excess memory for the buffer pool, the Page Life Expectancy value will continue to increase by a value of one every second and it won't drop off under the workload because all of the data pages end up being cached. С другой стороны, показатель SQL Server:Buffer Manager\Чтение страниц/с станет низким после увеличения кэша; кроме того, низким в этом случае будет и значение Physical Disk\Обращений чтения с диска/с.At the same time, the number of SQL Server:Buffer Manager\Page reads/sec will be low after the cache ramp up occurs, which will also correspond to a low value for Physical Disk\Disk Reads/sec.

Определив базовые показатели среды, измените параметр max server memory в sp_configure, чтобы уменьшить размер буферного пула на 1 ГБ, а затем оцените последствия этого действия для счетчиков производительности, когда система стабилизируется после первоначальной очистки кэша, которая может происходить при выполнении в среде команды RECONFIGURE.Once you have your baseline for the environment, make a change to the sp_configure 'max server memory' option to reduce the size of the buffer pool by 1GB and then monitor the impact to the performance counters after things stabilize from the initial cache flushing that may typically occur when RECONFIGURE is run in the environment. Если уровень ожидаемого срока жизни страницы остается приемлемым для вашей среды (учитывая, что фиксированный целевой показатель не менее 300 нереалистичен для серверов с большим объемом установленной ОЗУ), а показатель SQL Server:Buffer Manager\Чтение страниц/с находится в диапазоне, который может поддерживаться подсистемой дискового ввода-вывода без снижения производительности, повторите процедуру уменьшения значения sp_configure параметра max server memory на 1 ГБ и продолжайте отслеживать последствия изменений в среде.If the level of Page Life Expectancy remains acceptable for your environment (keeping in mind that a fixed target of >= 300 is ridiculous for servers with large amounts of RAM installed), and the number of SQL Server:Buffer Manager\Page reads/sec is within what the disk I/O subsystem can support without performance degradation, repeat the process of reducing the sp_configure value for 'max server memory' by 1GB and continuing to monitor the impact to the environment.

Оптимизация базы данных TempDBOptimize TempDB

Размер и физическое размещение базы данных tempdb может повлиять на производительность Operations Manager.The size and physical placement of the tempdb database can affect the performance of Operations Manager. Например, если определенный для базы данных tempdb размер слишком мал, часть нагрузки по обработке системы может увеличиваться с помощью функции автоувеличения базы данных tempdb до размера, необходимого для поддержки рабочей нагрузки, всякий раз при перезапуске экземпляра SQL Server.For example, if the size that is defined for tempdb is too small, part of the system-processing load may be taken up with autogrowing tempdb to the size required to support the workload every time you restart the instance of SQL Server. Чтобы обеспечить оптимальную производительность tempdb, рекомендуется использовать для этой базы данных следующую конфигурацию в рабочей среде:To achieve optimal tempdb performance, we recommend the following configuration for tempdb in a production environment:

  • Установите для базы данных tempdb модель восстановления SIMPLE.Set the recovery model of tempdb to SIMPLE. Эта модель автоматически освобождает место, занимаемое журналом, чтобы уменьшить требования к пространству.This model automatically reclaims log space to keep space requirements small.
  • Заранее выделите место для всех файлов базы данных tempdb, установив в качестве размера файла достаточно большое значение для обработки стандартной рабочей нагрузки в среде.Preallocate space for all tempdb files by setting the file size to a value large enough to accommodate the typical workload in the environment. Это не позволит базе данных tempdb расширяться слишком часто, чтобы не ухудшать производительность.It prevents tempdb from expanding too frequently, which can affect performance. Для базы данных tempdb можно настроить автоувеличение, однако эту функцию следует использовать для увеличения места на диске в непредвиденных ситуациях.The tempdb database can be set to autogrow, but this should be used to increase disk space for unplanned exceptions.
  • Создайте столько файлов, сколько нужно, чтобы максимально увеличить пропускную способность диска.Create as many files as needed to maximize disk bandwidth. Использование нескольких файлов уменьшает состязание за ресурсы хранения tempdb и обеспечивает лучшую масштабируемость.Using multiple files reduces tempdb storage contention and yields improved scalability. Но не создавайте слишком много файлов. Это может привести к снижению производительности и увеличению объема работ по управлению.However, do not create too many files as it can reduce performance and increase management overhead. Как правило, рекомендуется создавать по одному файлу данных для каждого логического процессора на сервере (с учетом параметров маски сходства), а затем при необходимости регулировать количество файлов.As a general guideline, create one data file for each logical processor on the server (accounting for any affinity mask settings) and then adjust the number of files up or down as necessary. Как правило, если число логических процессоров не превышает 8, следует использовать столько же файлов данных, сколько логических процессоров.As a general rule, if the number of logical processors is less than or equal to 8, use the same number of data files as logical processors. Если число логических процессоров превышает 8, используйте восемь файлов данных. Если состязание за ресурсы сохранится, увеличивайте число файлов данных с кратностью 4 (вплоть до числа логических процессоров), пока состязание не снизится до приемлемого уровня. Либо же измените параметры рабочей нагрузки и (или) код.If the number of logical processors is greater than 8, use eight data files and then if contention continues, increase the number of data files by multiples of 4 (up to the number of logical processors) until the contention is reduced to acceptable levels or make changes to the workload/code. Если конкуренция не уменьшается, возможно, придется еще увеличить количество файлов данных.If the contention is not reduced, you may have to increase the number of data files more.
  • Все файлы данных должны иметь одинаковый размер для оптимальной производительности при пропорциональном заполнении.Make each data file the same size; allowing for optimal proportional-fill performance. Использование файлов данных равного размера очень важно, потому что в основе алгоритма пропорционального заполнения лежит размер файлов.The equal sizing of data files is critical because the proportional fill algorithm is based on the size of the files. Если вы создаете файлы данных разного размера, алгоритм пропорционального заполнения пытается активно использовать самый крупный файл для распределения GAM, вместо того чтобы распределить нагрузку между всеми файлами, делая создание нескольких файлов данных бесполезным.If data files are created with unequal sizes, the proportional fill algorithm tries to use the largest file more for GAM allocations instead of spreading the allocations between all the files, thereby defeating the purpose of creating multiple data files.
  • Чтобы обеспечить максимальную производительность, поместите базу данных tempdb в подсистему ускоренного ввода-вывода, используя твердотельные диски.Put the tempdb database on a fast I/O subsystem using solid-state drives for the most optimal performance. Используйте чередование дисков, если имеется много непосредственно присоединенных дисков.Use disk striping if there are many directly attached disks.
  • Поместите базу данных tempdb на диски, отличные от тех, которые используются пользовательскими базами данных.Put the tempdb database on disks that differ from those that are used by user databases.

Чтобы настроить базу данных tempdb, можно выполнить следующий запрос или изменить его свойства в Management Studio.To configure tempdb, you can run the following query or modify its properties in Management Studio.

USE [tempdb]
GO
DBCC SHRINKFILE (N'tempdev' , 8)
GO
USE [master]
GO
ALTER DATABASE [tempdb] MODIFY FILE ( NAME = N'tempdev', NEWNAME = N'tempdb', SIZE = 2097152KB , FILEGROWTH = 512MB )
GO
ALTER DATABASE [tempdb] ADD FILE ( NAME = N'tempdb2', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\tempdb2.mdf' , SIZE = 2097152KB , FILEGROWTH = 512MB )
GO

Выполните запрос T-SQL SELECT * из sys.sysprocesses, чтобы обнаружить конкуренцию при выделении страниц для базы данных tempdb.Run the T-SQL query SELECT * from sys.sysprocesses to detect page allocation contention for the tempdb database. В таблице выходных данных системы ресурс ожидания может иметь значение 2:1:1 (страница PFS) или 2:1:3 (общая страница глобальной карты распределения).In the system table output, the wait resource may show up as "2:1:1" (PFS Page) or "2:1:3" (Shared Global Allocation Map Page). В зависимости от уровня конкуренции это может вызвать небольшую задержку ответа SQL Server.Depending on the degree of contention, this may also lead to SQL Server appearing unresponsive for short periods. Кроме того, можно проверить динамические представления управления [sys.dm_exec_request или sys.dm_os_waiting_tasks].Another approach is to examine the Dynamic Management Views [sys.dm_exec_request or sys.dm_os_waiting_tasks]. Результаты показывают, что эти запросы или задачи ожидают ресурсы tempdb и имеют значения, схожие с теми, которые были выделены ранее, при выполнении запроса sys.sysprocesses.The results will show that these requests or tasks are waiting for tempdb resources, and have similar values as highlighted earlier when you execute the sys.sysprocesses query.

Если в результате выполнения предыдущих рекомендаций значительно уменьшить конкуренцию за ресурсы выделения не удалось и конкуренция все еще наблюдается на страницах SGAM, реализуйте флаг трассировки -T1118 в параметрах запуска для SQL Server, чтобы флаг трассировки продолжал действовать даже после перезапуска SQL Server.If the previous recommendations do not significantly reduce the allocation contention and the contention is on SGAM pages, implement trace flag -T1118 in the Startup parameters for SQL Server so that the trace flag remains in effect even after SQL Server is recycled. При использовании этого флага трассировки SQL Server выделяет полные экстенты каждому объекту базы данных, тем самым уменьшая конкуренцию на страницах SGAM.Under this trace flag, SQL Server allocates full extents to each database object, thereby eliminating the contention on SGAM pages. Обратите внимание, что этот флаг трассировки влияет на все базы данных в экземпляре SQL Server.Note that this trace flag affects every database on the instance of SQL Server.

Максимальная степень параллелизмаMax degree of parallelism

Конфигурация SQL Server по умолчанию для небольших и средних развертываний Operations Manager вполне подходит для большинства задач.The default configuration of SQL Server for small to medium size deployments of Operations Manager is adequate for most needs. Однако при увеличении рабочей нагрузки группы управления до масштабов корпоративного уровня (более 2000 управляемых агентом систем, расширенная конфигурация мониторинга, которая включает мониторинг на уровне служб и расширенные синтетические транзакции, мониторинг сетевых устройств, мониторинг на нескольких платформах и так далее) необходимо оптимизировать конфигурацию SQL Server, описанную в этом разделе документа.However, when the workload of the management group scales upwards towards an enterprise class scenario (typically 2,000+ agent-managed systems and an advanced monitoring configuration, which includes service-level monitoring with advanced synthetic transactions, network device monitoring, cross-platform, and so forth) it is necessary to optimize the configuration of SQL Server described in this section of the document. Один из вариантов конфигурации, которую мы не рассматривали ранее, — MAXDOP.One configuration option that has not been discussed in previous guidance, is MAXDOP.

Конфигурация Microsoft SQL Server с максимальной степенью параллелизма (MAXDOP) контролирует число процессоров, используемых для выполнения запроса в параллельном плане.The Microsoft SQL Server max degree of parallelism (MAXDOP) configuration option controls the number of processors that are used for the execution of a query in a parallel plan. Эта конфигурация определяет, какие вычислительные ресурсы и ресурсы потока используются для функционирующих параллельно операторов плана запросов.This option determines the computing and thread resources that are used for the query plan operators that perform the work in parallel. В зависимости от того, установлен ли SQL Server на компьютере симметричной мультиобработки (SMP), на компьютере с доступом к неоднородной памяти (NUMA) или процессорах с поддержкой технологии Hyper-Threading, необходимо правильно настроить максимальную степень параллелизма.Depending on whether SQL Server is set up on a symmetric multiprocessing (SMP) computer, a non-uniform memory access (NUMA) computer, or hyperthreading-enabled processors, you have to configure the max degree of parallelism option appropriately.

Если SQL Server выполняется на компьютере с несколькими микропроцессорами или ЦП, он устанавливает оптимальную степень параллелизма, то есть число процессоров, задействованных для выполнения одной инструкции, для каждого параллельного выполнения плана.When SQL Server runs on a computer with more than one microprocessor or CPU, it detects the best degree of parallelism, that is, the number of processors employed to run a single statement, for each parallel plan execution. По умолчанию значением этого параметра является 0, что позволяет SQL Server определить максимальную степень параллелизма.By default, its value for this option is 0, which allows SQL Server to determine the maximum degree of parallelism.

Хранимые процедуры и готовые запросы, определенные в Operations Manager для рабочей базы данных, базы данных хранилища данных и даже базы данных аудита, не включают вариант MAXDOP, поскольку во время установки невозможно с помощью динамического запроса установить, сколько процессоров представлено в операционной системе. Не предпринимается и попытка указать значение этого параметра в коде, поскольку это может иметь негативные последствия при выполнении запроса.The stored procedures and queries pre-defined in Operations Manager as it relates to the operational, data warehouse, and even audit database do not include the MAXDOP option, as there is no way during installation to dynamically query how many processors are presented to the operating system, nor does it attempt to hardcode the value for this setting, which could have negative consequences when the query is executed.

Примечание

Конфигурация с максимальной степенью параллелизма не ограничивает число используемых SQL Server процессоров.The max degree of parallelism configuration option does not limit the number of processors that SQL Server uses. Чтобы настроить число процессоров, используемых сервером SQL Server, примените конфигурацию с маской сходства.To configure the number of processors that SQL Server uses, use the affinity mask configuration option.

  • Для серверов с числом процессоров более восьми используйте следующую конфигурацию: MAXDOP=8For servers that use more than eight processors, use the following configuration: MAXDOP=8
  • Для серверов с числом процессоров не более восьми используйте следующую конфигурацию: MAXDOP=0–N. В этой формуле N обозначает число процессоров.For servers that use eight or fewer processors, use the following configuration: MAXDOP=0 to N Note In this configuration, N represents the number of processors.
  • Для серверов с настроенным доступом NUMA показатель MAXDOP не должен превышать число ЦП, назначенных каждому узлу NUMA.For servers that have NUMA configured, MAXDOP should not exceed the number of CPUs that are assigned to each NUMA node.
  • Для серверов с технологией Hyper-Threading значение MAXDOP не должно превышать количество физических процессоров.For servers that have hyperthreading enabled, the MAXDOP value should not exceed the number of physical processors.
  • Для серверов с настроенным доступом NUMA и поддержкой технологии Hyper-Threading значение MAXDOP не должно превышать количество физических процессоров на узел NUMA.For servers that have NUMA configured and hyperthreading enabled, the MAXDOP value should not exceed number of physical processors per NUMA node.

Чтобы отследить число параллельных рабочих ролей, можно отправить запрос sys.dm_os_tasks.You can monitor the number of parallel workers by querying sys.dm_os_tasks.
Конфигурация оборудования этого сервера: блейд-сервер HP Blade G6 с 24-ядерными процессорами и 196 ГБ ОЗУ.The hardware configuration of this server was an HP Blade G6 with 24 core processors and 196 GB of RAM. Параметр MAXMEM экземпляра, в котором размещена база данных Operations Manager, был равен 64 ГБ.The instance hosting the Operations Manager database had a MAXMEM setting of 64 GB. После реализации рекомендуемых в этом разделе оптимизаций производительность повысилась.After performing the suggested optimizations in this section, performance improved. Но при этом сохраняется узкое место параллелизма запросов.However, a query parallelism bottleneck still persisted. Проверка разных значений показала, что оптимальная производительность обеспечивается при MAXDOP = 4.After testing different values, the most optimal performance was found by setting MAXDOP=4.

Изменение размера исходной базы данныхInitial database sizing

Оценить темпы роста баз данных Operations Manager в будущем (особенно рабочих баз данных и баз данных хранилища данных) в течение первых нескольких месяцев после развертывания нелегко.Estimating the future growth of the Operations Manager databases, specifically the operational and data warehouse databases, within the first several months after deployment is not a simple exercise. Приложение для изменения размера Operations Manager вычисляет ожидаемые показатели роста по формуле, составленной разработчиками на основе проведенного в лаборатории тестирования, но не учитывает несколько факторов, которые могут по разному влиять на рост в краткосрочной и долгосрочной перспективах.While the Operations Manager Sizing Helper is reasonable in estimating potential growth based on the formula derived by the product group from their testing in the lab, it does not take into account several factors, which can influence growth in the near term versus long term.

Размер исходной базы данных (по версии вспомогательного приложения) должен соответствовать прогнозируемому размеру. Это позволит избежать фрагментации и соответствующих издержек. Это значение можно указать при создании рабочей базы данных и базы данных хранилища данных.The initial database size, as suggested by the Sizing Helper, should be allocated to a predicted size, to reduce fragmentation and corresponding overhead, which can be specified at setup time for the Operational and Data Warehouse databases. Если во время установки пространства для хранения данных будет недостаточно, впоследствии базу данных можно расширить с помощью SQL Management Studio, а затем индексировать ее повторно для дефрагментации и оптимизации.If during setup not enough storage space is available, the databases can be expanded later by using SQL Management Studio and then reindexed thereafter to defragment and optimize accordingly. Эта рекомендация относится также к базе данных служб ACS.This recommendation applies also to the ACS database.

Упреждающий мониторинг роста рабочей базы данных и базы данных хранилища данных должен выполняться ежедневно или еженедельно.Proactive monitoring of the growth of the operational and data warehouse database should be performed on a daily or weekly cycle. Это позволит выявить непредвиденные и значительные скачки роста и начать процесс устранения неполадок, чтобы определить, вызван ли этот скачок ошибкой в рабочем процессе пакета управления (например, правилом обнаружения, правилом производительности или сбора данных о событиях либо же правилом мониторинга или предупреждений) либо другим симптомом в пакете управления, который не был выявлен на этапах тестирования и контроля качества управления выпуском.This will be necessary to identify unexpected and significant growth spurts, and begin troubleshooting in order to determine if it is caused by a bug in a management pack workflow (that is, discovery rule, performance or event collection rule, or monitor or alert rule) or other symptom with a management pack that was not identified during testing and quality assurance phase of the release management process.

Автоматический рост базы данныхDatabase autogrow

Когда файл базы данных, для которого на диске зарезервирован определенный размер, заполняется, SQL Server может автоматически увеличить этот размер на долю (в %) или на фиксированный объем.When the databases file size that has been reserved on disk becomes full, SQL Server can automatically increase the size, by a percentage or by a fixed amount. Кроме того, можно настроить максимальный размер базы данных, чтобы не допустить заполнения всего доступного на диске пространства.Moreover, a maximum database size can be configured, to prevent filling up all the space available on disk. По умолчанию база данных Operations Manager не настраивается с включенным автоувеличением. С этим параметром настраивается только база данных хранилища данных и база данных ACS.By default, the Operations Manager database is not configured with autogrow enabled; only the Data Warehouse and ACS databases are.

На автоматическое увеличение стоит полагаться только в экстренных случаях (случаях непредвиденного роста).Only rely on autogrow as a contingency for unexpected growth. При автоматическом увеличении базы данных закономерно снижается производительность, что необходимо учитывать при работе с базами данных с большим объемом транзакций.Autogrow introduces a performance penalty that should be considered when dealing with a highly transactional database. Снижение производительности проявляется в следующем:Performance penalties include:

  • Фрагментации файла журнала или базы данных, если не указан соответствующий шаг роста.Fragmentation of the log file or database if you don’t provide an appropriate growth increment.
  • Если выполняется транзакция, требующая больше пространства журнала, чем доступно, и для журнала транзакций этой базы данных включено автоувеличение, то время выполнения транзакции будет включать время, необходимое для увеличения журнала транзакций на указанный объем.If you run a transaction that requires more log space than is available, and you have turned on the autogrow option for the transaction log of that database, then the time it takes the transaction to complete will include the time it takes the transaction log to grow by the configured amount.
  • Если выполняется крупная транзакция, требующая увеличения журнала, другие транзакции, требующие записи в журнал транзакций, должны будут дождаться завершения операции увеличения.If you run a large transaction that requires the log to grow, other transactions that require a write to the transaction log will also have to wait until the grow operation completes.

При совместном использовании автоувеличения и автоуменьшения издержки могут быть слишком велики.If you combine the autogrow and autoshrink options, you might create unnecessary overhead. Убедитесь, что пороговые значения, инициирующие рост и уменьшение, не являются причиной слишком частого изменения размера журнала.Make sure that the thresholds that trigger the grow and shrink operations will not cause frequent up and down size changes. Например, можно выполнить транзакцию, которая вызывает рост журнала транзакций на 100 МБ к моменту фиксации транзакции.For example, you may run a transaction that causes the transaction log to grow by 100 MB by the time it commits. Через некоторое время после этого запускается автоуменьшение, и журнал транзакций уменьшается на 100 МБ.Some time after that the autoshrink starts and shrinks the transaction log by 100 MB. Затем вы выполняете ту же транзакцию, и журнал транзакций снова увеличивается на 100 МБ.Then, you run the same transaction and it causes the transaction log to grow by 100 MB again. В этом примере возникают ненужные издержки и возникает риск фрагментации файла журнала. Оба этих фактора могут отрицательно сказаться на производительности.In that example, you are creating unnecessary overhead and potentially creating fragmentation of the log file, either of which can negatively affect performance.

Мы рекомендуем с осторожностью настраивать эти два параметра.It is recommended to configure these two settings carefully. Конкретная конфигурация зависит от специфики среды.The particular configuration really depends on your environment. Как правило, рекомендуется увеличить размер базы данных на фиксированное значение, чтобы снизить риск фрагментации диска.In general, it is recommended to increase database size by a fixed amount in order to reduce disk fragmentation. На приведенном ниже рисунке настроено увеличение базы данных на 1024 МБ всякий раз, когда требуется автоувеличение.See, for example, the following figure, where the database is configured to grow by 1024 MB each time autogrow is required.

Политика отказоустойчивого кластераCluster failover policy

Отказоустойчивая кластеризация Windows Server — это платформа высокой доступности, которая постоянно отслеживает сетевые подключения и работоспособность узлов в кластере.Windows Server Failover Clustering is a high availability platform that is constantly monitoring the network connections and health of the nodes in a cluster. Если узел недоступен по сети, выполняется восстановление, чтобы приложения и службы стали снова доступны в сети на другом узле кластера.If a node is not reachable over the network, then recovery action is taken to recover and bring applications and services online on another node in the cluster. Готовые параметры по умолчанию оптимизированы для сбоев, когда происходит полная потеря связи с сервером ("жесткая" ошибка сервера).The default settings out of the box are optimized for failures where there is a complete loss of a server, which is considered a ‘hard’ failure. Речь идет о сценариях неустранимых ошибок, таких как сбой оборудования без избыточности или отсутствие питания.These would be unrecoverable failure scenarios such as the failure of non-redundant hardware or power. В таких ситуациях связь с сервером теряется и система отказоустойчивой кластеризации должна быстро это обнаружить и быстро выполнить отработку отказа на другой сервер кластера.In these situations, the server is lost and the goal is for Failover Clustering to quickly detect the loss of the server and rapidly recover on another server in the cluster. Чтобы сделать возможным быстрое восстановление после "жестких" сбоев, значения по умолчанию для мониторинга работоспособности кластера были сделаны достаточно агрессивными.To accomplish this fast recovery from hard failures, the default settings for cluster health monitoring are fairly aggressive. С другой стороны, широкие возможности настройки позволяют гибко адаптировать их для любых сценариев.However, they are fully configurable to allow flexibility for a variety of scenarios.

Эти параметры по умолчанию обеспечивают оптимальное поведение системы для большинства клиентов, однако по мере того как расстояние между кластерами увеличивается с нескольких сантиметров до километров, между узлами могут возникать дополнительные и потенциально ненадежные сетевые компоненты.These default settings deliver the best behavior for most customers, however as clusters are stretched from being inches to possibly miles apart, the cluster may become exposed to additional and potentially unreliable networking components between the nodes. Кроме того, качество потребительских серверов непрерывно растет, повышается и надежность систем благодаря использованию избыточных компонентов (двойных блоков питания, объединения сетевых плат NIC, многопутевой ввод-вывод), поэтому количество сбоев, вызванных неизбыточностью оборудования, стабильно уменьшается.Another factor is that the quality of commodity servers is constantly increasing, coupled with augmented resiliency through redundant components (such as dual power supplies, NIC teaming, and multi-path I/O), the number of non-redundant hardware failures may potentially be fairly rare. Поскольку "жесткие" сбои происходят не так часто, некоторые клиенты предпочитают настроить кластер для обработки временных ошибок, сделав его более устойчивым к кратковременным сетевым сбоям между узлами.Because hard failures may be less frequent, some customers may wish to tune the cluster for transient failures, where the cluster is more resilient to brief network failures between the nodes. Увеличивая пороговые значения сбоев по умолчанию, можно сделать систему менее чувствительной к краткосрочным сетевым сбоям.By increasing the default failure thresholds, you can decrease the sensitivity to brief network issues that last a short period of time.

Важно понимать, что на этот вопрос не существует единственного правильного ответа и оптимальные параметры могут различаться в зависимости от конкретных бизнес-требований и соглашений об уровне обслуживания.It is important to understand that there is no right answer here, and the optimized setting may vary by your specific business requirements and service level agreements.

Виртуализация SQL ServerVirtualizing SQL Server

В виртуальных средах в целях повышения производительности рекомендуется хранить рабочую базу данных и базу данных хранилища данных на непосредственно подключенном носителе, а не виртуальном диске.In virtual environments, for performance reasons, it is recommended that you store the operational database and data warehouse database on a direct attached storage, and not on a virtual disk. Всегда используйте вспомогательное приложение для изменения размера Operations Manager, чтобы оценить необходимый объем операций ввода-вывода и провести нагрузочное тестирование дисков с данными.Always use the Operations Manager Sizing Helper to estimate required IOPS, and stress test your data disks to verify. Для этого можно использовать средство SQLIO.You can leverage the SQLIO tool for this task. Дополнительные инструкции по виртуальной среде Operations Manager см. в статье Поддержка виртуализации Operations Manager.See also Operations Manager virtualization support for additional guidance on virtualized Operations Manager environment.

AlwaysOn и модель восстановленияAlways On and recovery model

Несмотря на то, что это сложно отнести к числу оптимизаций, важно помнить, что использование групп доступности AlwaysOn по сути предполагает настройку для баз данных полной модели восстановления.Although not strictly an optimization, an important consideration regarding Always On Availability Group is the fact that, by design, this feature requires the databases to be set in the “Full” recovery model. Это означает, что журналы транзакций никогда не удаляются до тех пор, пока не будет выполнено полное резервное копирование или копирование конкретного журнала.Meaning, the transaction logs are never discarded until either a full backup is done, or only the transaction log. По этой причине такая стратегия резервного копирования является обязательной составляющей настройки AlwaysOn для баз данных Operations Manager.For this reason, a backup strategy is not an optional but a required part of the AlwaysOn design for Operations Manager databases. В противном случае со временем диски, на которых хранятся журналы транзакций, будут переполнены.Otherwise, with time, disks containing transaction logs will fill up.

В стратегии резервного копирования необходимо учитывать специфику среды.A backup strategy must take into account the details of your environment. В следующей таблице приводится стандартное расписание резервного копирования.A typical backup schedule is given in the following table.

Тип резервного копированияBackup Type РасписаниеSchedule
Только журнал транзакцийTransaction log only Каждый часEvery one hour
Полная архивацияFull Еженедельно, воскресенье в 03:00Weekly, Sunday at 3:00 AM

Оптимизация служб отчетности SQL ServerOptimizing SQL Server reporting services

Экземпляр служб Reporting Services функционирует в качестве прокси-сервера для доступа к данным в базе данных хранилища данных.The Reporting Services instance acts as a proxy for access to data in the Data Warehouse database. Он создает и отображает отчеты на основе шаблонов, сохраненных в пакетах управления.It generates and displays reports based on templates stored inside the management packs.

На заднем плане служб Reporting Services функционирует экземпляр базы данных SQL Server, в котором размещены базы данных ReportServer и ReportServerTempDB.Behind the scenes of Reporting Services, there is a SQL Server Database instance that hosts the ReportServer and ReportServerTempDB databases. В отношении этого экземпляра действуют общие рекомендации по настройке производительности.General recommendations regarding the performance tuning of this instance apply.

Примечание

В SQL Server Reporting Services (SSRS) 2017 версии 14.0.600.1274 и более поздних версий параметры безопасности по умолчанию не поддерживают загрузки расширения ресурса.From SQL Server Reporting Services (SSRS) 2017 version 14.0.600.1274 and later, the default security settings do not allow resource extension uploads. В результате при развертывании компонентов для создания отчетов в Operations Manager возникают исключения ResourceFileFormatNotAllowedException.This leads to ResourceFileFormatNotAllowedException exceptions in Operations Manager during deployment of reporting components.

Чтобы устранить эту проблему, откройте SQL Management Studio, установите подключение к экземпляру Reporting Services, выберите Свойства>Дополнительно и добавьте *.* в список для AllowedResourceExtensionsForUpload.To fix this, open SQL Management Studio, connect to your Reporting Services instance, open Properties>Advanced , and add *.* to the list for AllowedResourceExtensionsForUpload. Вы также можете добавить полный список расширений для работы с отчетами Operations Manager в список разрешений в службах SSRS.Alternatively, you can add the full list of Operations Manager's reporting extensions to the allow list in SSRS.

Дальнейшие шагиNext steps

Сведения о том, как настроить хранилище данных отчетов, размещаемое за брандмауэром, см. в статье Подключение хранилища данных отчетов через брандмауэр.To understand how to configure hosting the Report data warehouse behind a firewall, see Connect Reporting Data Warehouse Across a Firewall.