Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье объясняется, как включить и отключить мониторинг производительности для сервисов Microsoft SQL, чтобы данные о производительности отображались на странице ПроизводительностиDatabase Hub. Включение мониторинга производительности не требует дополнительных затрат. Вам не нужно внедрять или поддерживать мониторинговые агенты, хранилища данных или другую инфраструктуру мониторинга.
Important
Эта функция доступна в предварительной версии.
Шаги для включения мониторинга производительности различаются в зависимости от сервиса. После включения мониторинга каждый сервис отправляет данные о производительности в один и тот же телеметрический конвейер. Database Hub использует эти данные для выявления проблем с производительностью и создания панелей управления. Вы также можете напрямую запросить телеметрию через KQL. Дополнительные сведения см. в разделе Телеметрия мониторинга производительности запросов. В этой статье рассматриваются следующие услуги:
- База данных SQL Azure
- SQL Server на виртуальных машинах Azure
- SQL Server, активированный с помощью Azure Arc
Ресурсы Microsoft SQL можно просматривать в Database Hub из Azure, Fabric и локально. Включены следующие типы ресурсов:
- База данных SQL Azure
- Управляемый экземпляр Azure SQL
- SQL Server на виртуальных машинах Azure
- SQL Server, управляемый с помощью Azure Arc
- Эластичные пулы База данных SQL Azure
- База данных SQL в Fabric
В Database Hub видны следующие типы ресурсов, но страница Performance их пока не поддерживает:
- База данных SQL в Fabric
- Эластичные пулы База данных SQL Azure
- Управляемый экземпляр Azure SQL
- Мониторинг производительности не собирает данные из баз данных в эластичных пулах База данных SQL Azure или из вторичных реплик.
Региональная доступность и обработка данных
Мониторинг производительности доступен для ресурсов Microsoft SQL в следующих регионах Azure. Государственные, суверенные и изолированные облачные среды не поддерживаются на этапе предварительной версии. Дополнительные сведения см. в разделе Доступность регионов Fabric.
- Бразилия (Юг)
- Canada Central
- Canada East
- Central US
- East US
- Восток США 2
- северо-центральная часть США
- Южно-Центральный регион США
- Центрально-западная часть США
- West US
- Западная часть США 2
- Западная часть США 3
Мониторинг производительности собирает данные о производительности из динамических административных представлений (DMV) в ваших ресурсах SQL. Мониторинг производительности не собирает личные данные или контент клиента, и данные не хранятся в состоянии покоя вне географии контролируемого SQL-ресурса.
Зарегистрируйте поставщика ресурсов Azure
Чтобы просматривать данные мониторинга производительности, зарегистрируйте Microsoft.AzureArcData поставщика ресурсов в каждой подписке, содержащем базу данных, которые вы хотите отслеживать. Дополнительные сведения см. в разделе az provider register.
az provider register --namespace Microsoft.AzureArcData
Чтобы проверить состояние регистрации, выполните следующую команду. Регистрация будет завершена, когда команда вернёт Registered.
az provider show --namespace Microsoft.AzureArcData --query "registrationState" --output tsv
Включение мониторинга производительности для База данных SQL Azure
Для этого можно использовать один из следующих методов:
- В Database Hub перейдите на страницу Estate, выберите ресурс, а затем выберите Включить мониторинг производительности.
- Запустите следующий скрипт T-SQL на каждой пользовательской базе данных, которую хотите отслеживать. Не запускайте скрипт в
masterбазе данных. Чтобы применить скрипт к нескольким серверам одновременно, рассмотрите многосерверные запросы в SQL Server Management Studio (SSMS). Добавьте расширенноеMS_EnablePerformanceMonitoringPreviewсвойство в каждую пользовательскую базу данных, которую хотите отслеживать.
IF EXISTS (
SELECT 1
FROM sys.extended_properties
WHERE class = 0
AND name = N'MS_EnablePerformanceMonitoringPreview'
)
BEGIN
EXEC sys.sp_updateextendedproperty
@name = N'MS_EnablePerformanceMonitoringPreview',
@value = N'true';
END
ELSE
BEGIN
EXEC sys.sp_addextendedproperty
@name = N'MS_EnablePerformanceMonitoringPreview',
@value = N'true';
END;
GO
Как отключить мониторинг производительности для База данных SQL Azure
Чтобы прекратить сбор данных о производительности для пользовательской базы данных, переключитесь @value = N'true' на @value = N'false' в обоих вызовах процедуры, а затем запустите скрипт T-SQL в этой базе данных.
Включить мониторинг производительности SQL Server на виртуальных машинах Azure
Для обеспечения мониторинга производительности SQL Server на виртуальных машинах Azure добавьте DatabaseWatcheronAzureVM флаг функции в публичные настройки расширения SQL IaaS Agent. Расширение затем собирает данные о производительности с экземпляра SQL Server и использует системно назначенную управляемую идентичность виртуальной машины для загрузки их на региональную конечную точку телеметрии. Мониторинг настраивается для каждой виртуальной машины. Включение флага функции на одной виртуальной машине не позволяет отслеживать другие виртуальные машины.
Для проверки, устранения неполадок и полного списка собранных наборов данных см. раздел «Включить мониторинг производительности для SQL Server на виртуальных машинах Azure».
Предварительные требования для SQL Server на виртуальных машинах Azure
- Мониторинг производительности поддерживает SQL Server 2016 SP1 и более поздние версии на виртуальных машинах Azure. Версии SQL Server ранее SQL Server 2016 SP1 не поддерживаются.
- Мониторинг производительности собирает все наборы данных для редакций SQL Server Enterprise и Standard. Для редакций SQL Server Developer, Express и Evaluation мониторинг производительности собирает только данные клиентских соединений.
- Вам необходимо установить расширение
2.0.229.0версии или более поздней в режиме полного управления. Вы должны включить расширение, и его состояние предоставления должно быть «Успешно». - Виртуальная машина должна иметь включённую управляемую идентичность, назначенную системой .
- Ресурс экземпляра SQL Server должен быть доступен через унифицированный инвентарь.
- Вы должны зарегистрировать
Microsoft.AzureArcDataпоставщика ресурсов для получения подписки. - Виртуальная машина должна разрешить исходящее HTTPS-соединение на порте
443кtelemetry.<region>.arcdataservices.com, где<region>находится регион Azure, где размещена виртуальная машина. - Вам нужна последняя версия Azure CLI.
- Для просмотра и обновления расширений на виртуальной машине требуется разрешение, например, членство в роли участника виртуальной машины .
Как включить мониторинг производительности SQL Server на виртуальных машинах Azure
Important
Настройки расширения SQL IaaS Agent не накапливаются. При обновлении расширения включите все существующие публичные настройки, чтобы избежать случайного отключения другой функции.
Следующие шаги PowerShell позволяют получить текущие публичные настройки, добавить флаг функции мониторинга производительности и применить объединённые настройки к расширению.
Откройте PowerShell в среде, где установлен Azure CLI, а затем войдите в Azure.
az loginЗадайте переменные для вашей виртуальной машины SQL Server.
$subscriptionId = "<subscription-id>" $resourceGroup = "<resource-group>" $vmName = "<vm-name>" az account set --subscription $subscriptionIdПолучить текущие настройки расширения SQL IaaS Agent.
$extension = az vm extension show ` --resource-group $resourceGroup ` --vm-name $vmName ` --name SqlIaasExtension ` --query "{settings:settings,typeHandlerVersion:typeHandlerVersion}" ` --output json | ConvertFrom-Json if ($null -eq $extension.settings) { $settings = [pscustomobject]@{} } else { $settings = $extension.settings }Добавьте флаг функции
DatabaseWatcheronAzureVM, сохранив существующие флаги функций.$monitoringFlag = [pscustomobject]@{ Name = "DatabaseWatcheronAzureVM" Enable = $true } $featureFlags = @( $settings.FeatureFlags | Where-Object { $_.Name -ne $monitoringFlag.Name } ) $featureFlags += $monitoringFlag $settings | Add-Member ` -MemberType NoteProperty ` -Name FeatureFlags ` -Value $featureFlags ` -ForceСохраните объединённые настройки и примените их к расширению SQL IaaS Agent.
$settingsPath = Join-Path $env:TEMP "sqlvm-performance-monitoring-settings.json" try { $settings | ConvertTo-Json -Depth 50 | Out-File -FilePath $settingsPath -Encoding utf8 az vm extension set ` --resource-group $resourceGroup ` --vm-name $vmName ` --publisher Microsoft.SqlServer.Management ` --name SqlIaaSAgent ` --extension-instance-name SqlIaasExtension ` --settings "@$settingsPath" } finally { Remove-Item $settingsPath -ErrorAction SilentlyContinue }Повторяйте эти шаги для каждой виртуальной машины, которую хотите отслеживать.
Расширение автоматически перезагружает публичные настройки. Вам не нужно перезагружать SQL Server IaaS Agent или виртуальную машину. Большинство данных о производительности доступны в течение 3–5 минут после вступления настройки в силу. Некоторые данные на основе инвентаризации могут занимать до 15 минут.
Чтобы убедиться, что мониторинг работает, проверьте статус расширения:
az vm extension show `
--resource-group $resourceGroup `
--vm-name $vmName `
--name SqlIaasExtension `
--instance-view `
--query "instanceView.statuses[0].message" `
--output tsv
Когда мониторинг производительности запущен и данные успешно загружаются, статус включает DatabaseMonitorArcPlugin: {"State":"Running","MetricsUploadStatus":"OK"}. Чтобы подтвердить, что данные доступны, выполните проверочный запрос подключения в телеметрии мониторинга производительности запросов.
Отключить мониторинг производительности для SQL Server на виртуальных машинах Azure
Чтобы прекратить сбор новых данных о производительности для виртуальной машины, установите DatabaseWatcheronAzureVM флаг функции на false. Объедините изменения с существующими публичными настройками, чтобы другие функции расширения SQL IaaS Agent не пострадали.
Выполните шаги с 1 по 3 в разделе «Включить мониторинг производительности для SQL Server на виртуальных машинах Azure», чтобы войти, задать переменные и получить текущие настройки.
Установите для флага функции
DatabaseWatcheronAzureVMзначениеfalse, сохранив при этом существующие флаги функций.$monitoringFlag = [pscustomobject]@{ Name = "DatabaseWatcheronAzureVM" Enable = $false } $featureFlags = @( $settings.FeatureFlags | Where-Object { $_.Name -ne $monitoringFlag.Name } ) $featureFlags += $monitoringFlag $settings | Add-Member ` -MemberType NoteProperty ` -Name FeatureFlags ` -Value $featureFlags ` -ForceВыполните шаг 5 в Enable Performance Monitoring for SQL Server on Azure VM, чтобы применить объединённые настройки к расширению.
Подождите несколько минут, чтобы новая настройка вступила в силу, а затем снова проверьте статус расширения, чтобы подтвердить изменение.
Включить мониторинг производительности для SQL Server с поддержкой Azure Arc
Мониторинг производительности SQL Server с помощью Azure Arc по умолчанию включён. Когда экземпляр соответствует всем требованиям в этом разделе, он автоматически собирает данные о производительности, и вам не нужно предпринимать дополнительные шаги. Дополнительные сведения см. в статье Мониторинг SQL Server, поддерживаемого Azure Arc.
Предварительные требования для SQL Server с поддержкой Azure Arc
- Расширение Azure для SQL Server (
WindowsAgent.SqlServer) должно быть версией1.1.2504.99или более поздней версией. - SQL Server должен работать на Windows. SQL Server на Linux не поддерживается. SQL Server на Windows Server 2012 R2 и более ранних версиях не поддерживается.
- SQL Server должен быть редакции Standard или Enterprise.
- SQL Server должен быть версии 2016 SP1 или более поздней.
- Сервер должен иметь подключение к
*.<region>.arcdataservices.com. Дополнительные сведения см. в разделе о требованиях к сети. - Тип лицензии для SQL Server с поддержкой Azure Arc должен быть Software Assurance или с оплатой по мере использования.
- Вам нужна роль в Azure, которая включает действие
Microsoft.AzureArcData/sqlServerInstances/getTelemetry/. Встроенная функция Azure Hybrid Database Administrator - Only Read Service Role включает это действие. См. дополнительные сведения о встроенных ролях Azure. - Резервные кластерные экземпляры в настоящее время не поддерживаются.
Как включить мониторинг производительности для SQL Server с помощью Azure Arc
Следующие команды обеспечивают сбор данных о производительности. Команды могут успешно выполняться, но система собирает данные о производительности только тогда, когда экземпляр соответствует всем требованиям в этом разделе.
Чтобы включить или отключить коллекцию в портале Azure:
- На странице ресурсов SQL Server с поддержкой Azure Arc выберите Панель мониторинга производительности (предварительная версия).
- В верхней части панели мониторинга производительности выберите "Настроить".
- В панели настроек мониторинга используйте переключатель, чтобы включить сбор данных мониторинга.
- Выберите " Применить параметры".
Чтобы включить коллекцию с помощью Azure CLI, выполните следующую команду. Замените заполнители для идентификатора подписки, группы ресурсов и имени ресурса.
az resource update --ids "/subscriptions/<sub_id>/resourceGroups/<resource_group>/providers/Microsoft.AzureArcData/SqlServerInstances/<resource_name>" --set 'properties.monitoring.enabled=true' --api-version 2023-09-01-preview
Как отключить мониторинг производительности для SQL Server, поддерживаемый Azure Arc
Чтобы включить или отключить коллекцию в портале Azure:
- На странице ресурсов SQL Server с поддержкой Azure Arc выберите Панель мониторинга производительности (предварительная версия).
- В верхней части панели мониторинга производительности выберите "Настроить".
- В панели «Настроить настройки мониторинга » используйте переключатель, чтобы отключить сбор данных мониторинга.
- Выберите " Применить параметры".
Чтобы отключить коллекцию с помощью Azure CLI, выполните следующую команду. Замените заполнители для идентификатора подписки, группы ресурсов и имени ресурса.
az resource update --ids "/subscriptions/<sub_id>/resourceGroups/<resource_group>/providers/Microsoft.AzureArcData/SqlServerInstances/<resource_name>" --set 'properties.monitoring.enabled=false' --api-version 2023-09-01-preview