Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Este artigo explica como ativar e desativar o monitoramento de desempenho para serviços Microsoft SQL para que os dados de desempenho apareçam na página de Desempenho do Hub de Banco de Dados. Ativar o monitoramento de desempenho não gera custo extra. Você não precisa implantar ou manter agentes de monitoramento, repositórios de dados ou outra infraestrutura de monitoramento.
Importante
Esse recurso está na versão prévia.
Os passos para ativar o monitoramento de desempenho variam de serviço para serviço. Depois que você ativa o monitoramento, todo serviço envia dados de desempenho para o mesmo pipeline de telemetria. O Database Hub utiliza esses dados para ajudar a identificar problemas de desempenho e criar painéis. Você também pode consultar a telemetria diretamente com o KQL. Para mais informações, consulte Telemetria de monitoramento de desempenho de consulta. Este artigo aborda os seguintes serviços:
Você pode visualizar os recursos SQL do Microsoft no Database Hub a partir do Azure, Fabric e on-premises. Os seguintes tipos de recursos estão incluídos:
- Banco de Dados SQL do Azure
- Instância Gerenciada de SQL do Azure
- SQL Server em VMs do Azure
- SQL Server habilitado pelo Azure Arc
- Pools elásticos do Banco de Dados SQL do Azure
- Banco de dados SQL no Fabric
Os seguintes tipos de recursos estão visíveis no Hub de Banco de Dados, mas a página de Desempenho ainda não os suporta:
- Banco de dados SQL no Fabric
- Pools elásticos do Banco de Dados SQL do Azure
- Instância Gerenciada de SQL do Azure
- O monitoramento de desempenho não coleta dados de bancos de dados em Banco de Dados SQL do Azure elastic pools ou de réplicas secundárias.
Disponibilidade regional e tratamento de dados
O monitoramento de desempenho está disponível para recursos Microsoft SQL nas seguintes regiões do Azure. Nuvens governamentais, soberanas e com isolamento físico não têm suporte na versão preliminar. Para obter mais informações, confira Disponibilidade do Fabric por região.
- Sul do Brasil
- Canadá Central
- Leste do Canadá
- EUA Central
- Leste dos EUA
- Leste dos EUA 2
- Centro-Norte dos EUA
- Centro-Sul dos EUA
- Centro-oeste dos EUA
- Oeste dos EUA
- Oeste dos EUA 2
- Oeste dos EUA 3
O monitoramento de desempenho coleta dados de desempenho das visualizações dinâmicas de gerenciamento (DMVs) dos seus recursos SQL. O monitoramento de desempenho não coleta dados pessoais ou conteúdo do cliente, e os dados não são armazenados em repouso fora da geografia do recurso SQL monitorado.
Registre o provedor de recursos SQL
Para visualizar os dados de monitoramento de desempenho, registre o provedor de Microsoft.Sql recursos em cada assinatura que contenha recursos de banco de dados que você deseja monitorar. Para mais informações, consulte o registro de provedores do Arizona.
az provider register --namespace Microsoft.Sql
Para verificar o estado do registro, execute o seguinte comando. O registro está completo quando o comando retorna Registered.
az provider show --namespace Microsoft.Sql --query "registrationState" --output tsv
Habilitar o monitoramento de desempenho para Banco de Dados SQL do Azure
Use um dos seguintes métodos:
- No Hub de Bancos de Dados, vá até a página Estate, selecione o recurso e, em seguida, selecione Habilitar Monitoramento de Desempenho.
- Execute o seguinte script T-SQL em cada banco de dados de usuário que você deseja monitorar. Não execute o script no
masterbanco de datos. Para aplicar o script a múltiplos servidores ao mesmo tempo, considere consultas multiservidor no SQL Server Management Studio (SSMS). Adicione aMS_EnablePerformanceMonitoringPreviewpropriedade estendida a cada banco de dados de usuários que você deseja monitorar.
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
Como desativar o monitoramento de desempenho para Banco de Dados SQL do Azure
Para parar de coletar dados de desempenho para um banco de dados de usuário, mude @value = N'true' para @value = N'false' em ambas as chamadas de procedimento e então execute novamente o script T-SQL nesse banco de dados.
Ativear o monitoramento de desempenho para SQL Server em VMs do Azure
Para habilitar o monitoramento de desempenho do SQL Server em VMs do Azure, adicione a DatabaseWatcheronAzureVM feature flag às configurações públicas da extensão SQL IaaS Agent. A extensão então coleta dados de desempenho da instância do SQL Server e usa a identidade gerenciada atribuída ao sistema da VM para enviá-los a um endpoint regional de telemetria. O monitoramento é configurado por VM. Habilitar o sinalizador de recurso em uma VM não habilita o monitoramento em outras VMs.
Para verificação, solução de problemas e a lista completa de conjuntos de dados coletados, veja Habilitar monitoramento de desempenho para SQL Server em VMs do Azure.
Pré-requisitos para SQL Server em VMs do Azure
- O monitoramento de desempenho suporta SQL Server 2016 SP1 e versões posteriores em VMs do Azure. Versões do SQL Server anteriores ao SQL Server 2016 SP1 não são suportadas.
- O monitoramento de desempenho coleta todos os conjuntos de dados para as edições SQL Server Enterprise e Standard. Para as edições SQL Server Developer, Express e Evaluation, o monitoramento de desempenho coleta apenas dados de conexão do cliente.
- Você deve instalar a versão
2.0.229.0da extensão SQL IaaS Agent ou versões posteriores em modo de gerenciamento completo. Você deve ativar a extensão, e seu estado de provisionamento deve ser Succeeded. - A VM deve ter uma identidade gerenciada atribuída ao sistema ativada.
- O recurso de instância do SQL Server deve estar disponível por meio de inventário unificado.
- Você deve registrar o
Microsoft.Sqlprovedor de recursos para a assinatura. - A VM deve permitir conectividade HTTPS de saída na porta
443paratelemetry.<region>.arcdataservices.com, onde<region>é a região do Azure que hospeda a VM. - Você precisa da versão mais recente do CLI do Azure.
- Você precisa de permissão para visualizar e atualizar extensões na VM, como a participação na função de Contribuidor de Máquina Virtual .
Como habilitar o monitoramento de desempenho para SQL Server em VMs do Azure
Importante
As configurações de extensão do Agente SQL IaaS não são cumulativas. Ao atualizar a extensão, inclua todas as configurações públicas existentes para evitar desativar outro recurso sem querer.
Os passos seguintes do PowerShell recuperam as configurações públicas atuais, adicionam a flag de funcionalidade de monitoramento de desempenho e aplicam as configurações mescladas à extensão.
Abra o PowerShell em um ambiente onde a CLI do Azure esteja instalada e então faça login no Azure.
az loginDefina as variáveis para sua VM do SQL Server.
$subscriptionId = "<subscription-id>" $resourceGroup = "<resource-group>" $vmName = "<vm-name>" az account set --subscription $subscriptionIdRecupere as configurações atuais da extensão 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 }Adicione o sinalizador de recurso
DatabaseWatcheronAzureVMpreservando os sinalizadores de recurso existentes.$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 ` -ForceSalve as configurações mescladas e aplique na extensão 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 }Repita esses passos para cada VM que você deseja monitorar.
A extensão recarrega as configurações públicas automaticamente. Você não precisa reiniciar o serviço IaaS Agent do SQL Server ou a VM. A maioria dos dados de desempenho está disponível entre 3 e 5 minutos após a configuração entrar em vigor. Alguns dados baseados em inventário podem levar até 15 minutos.
Para confirmar que o monitoramento está em execução, verifique o status da extensão:
az vm extension show `
--resource-group $resourceGroup `
--vm-name $vmName `
--name SqlIaasExtension `
--instance-view `
--query "instanceView.statuses[0].message" `
--output tsv
Quando o monitoramento de desempenho está rodando e enviando dados com sucesso, o status inclui DatabaseMonitorArcPlugin: {"State":"Running","MetricsUploadStatus":"OK"}. Para confirmar que os dados estão disponíveis, execute a consulta de teste da conexão em Telemetria de monitoramento do desempenho de consultas.
Desative o monitoramento de desempenho para SQL Server em VMs do Azure
Para parar de coletar novos dados de desempenho para uma VM, defina a DatabaseWatcheronAzureVM feature flag para false. Misture a mudança com as configurações públicas existentes para que outros recursos de extensão SQL IaaS Agent não sejam afetados.
Complete os passos 1 a 3 em Habilitar o monitoramento de desempenho do SQL Server em VMs do Azure para fazer login, definir as variáveis e recuperar as configurações atuais.
Defina o
DatabaseWatcheronAzureVMsinalizador de recurso comofalse, preservando os sinalizadores de recurso existentes.$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 ` -ForceComplete o passo 5 em Habilitar o monitoramento de desempenho do SQL Server em VMs do Azure para aplicar as configurações mescladas à extensão.
Espere alguns minutos para a nova configuração entrar em vigor e depois verifique novamente o status da extensão para confirmar a mudança.
Habilitar o monitoramento de desempenho para SQL Server habilitado pelo Azure Arc
O monitoramento de desempenho do SQL Server ativado pelo Azure Arc está ativado por padrão. Quando uma instância atende a todos os pré-requisitos desta seção, ela coleta dados de desempenho automaticamente, e você não precisa tomar outras etapas. Para mais informações, veja Monitor SQL Server habilitado pelo Azure Arc.
Pré-requisitos para SQL Server ativados pelo Azure Arc
- A Extensão do Azure para SQL Server (
WindowsAgent.SqlServer) deve ser versão1.1.2504.99ou versões posteriores. - SQL Server deve rodar no Windows. Não há suporte para SQL Server no Linux. SQL Server no Windows Server 2012 R2 e versões anteriores não é suportado.
- O SQL Server deve ser da edição Standard ou Enterprise.
- O SQL Server deve ser versão 2016 SP1 ou versões posteriores.
- O servidor deve ter conectividade a
*.<region>.arcdataservices.com. Para obter mais informações, consulte os requisitos de rede. - O tipo de licença no SQL Server habilitado pelo Azure Arc deve ser Software Assurance ou pay-as-you-go.
- Você precisa de uma função do Azure que inclua a ação
Microsoft.AzureArcData/sqlServerInstances/getTelemetry/. O Azure Hybrid Database Administrator - Read Only Service Role incorporado inclui essa ação. Para obter mais informações, veja Funções internas do Azure. - Instâncias de cluster de failover atualmente não são suportadas.
Como habilitar o monitoramento de desempenho para o SQL Server habilitado pelo Azure Arc
Os seguintes comandos permitem a coleta de dados de desempenho. Os comandos podem rodar com sucesso, mas o sistema coleta dados de desempenho apenas quando a instância atende a todos os pré-requisitos desta seção.
Para ativar ou desativar a coleta no portal do Azure:
- Na página de recursos do SQL Server habilitado pelo Azure Arc, selecione Painel de Desempenho (versão prévia).
- Na parte superior do painel Painel de desempenho, escolha Configurar.
- No painel Configurar configurações de monitoramento , use o botão para ativar a coleta de dados de monitoramento.
- Escolha Aplicar configurações.
Para habilitar a coleta usando a CLI do Azure, execute o seguinte comando. Substitua os espaços reservados para a ID da assinatura, o grupo de recursos e o nome do recurso.
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
Como desativar o monitoramento de desempenho para SQL Server habilitado pelo Azure Arc
Para ativar ou desativar a coleta no portal do Azure:
- Na página de recursos do SQL Server habilitado pelo Azure Arc, selecione Painel de Desempenho (versão prévia).
- Na parte superior do painel Painel de desempenho, escolha Configurar.
- No painel Configurar configurações de monitoramento , use o botão para desativar a coleta de dados de monitoramento.
- Escolha Aplicar configurações.
Para desativar a coleta usando a CLI do Azure, execute o seguinte comando. Substitua os espaços reservados para a ID da assinatura, o grupo de recursos e o nome do recurso.
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