Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Este artigo explica como ativar e desativar a monitorização de desempenho nos serviços Microsoft SQL para que os dados de desempenho apareçam na página de Desempenho do Database Hub. Ativar a monitorização de desempenho não implica custos adicionais. Não precisa de implementar ou manter agentes de monitorização, armazenamentos de dados ou outra infraestrutura de monitorização.
Importante
Este recurso está em pré-visualização.
Os passos para ativar a monitorização de desempenho variam consoante o serviço. Depois de ativares a monitorização, todos os serviços enviam dados de desempenho para o mesmo pipeline de telemetria. O Database Hub utiliza estes dados para ajudar a identificar problemas de desempenho e criar painéis de controlo. Também pode consultar a telemetria diretamente com o KQL. Para mais informações, consulte Telemetria de monitorização do desempenho de consultas. Este artigo aborda os seguintes serviços:
Pode visualizar recursos Microsoft SQL no Database Hub a partir do Azure, Fabric e on-premises. Os seguintes tipos de recursos estão incluídos:
- Base de Dados SQL do Azure
- Azure SQL Managed Instance
- SQL Server em VMs do Azure
- SQL Server ativado pelo Azure Arc
- Base de Dados SQL do Azure conjuntos elásticos
- Banco de dados SQL no Fabric
Os seguintes tipos de recursos são visíveis no Database Hub, mas a página Performance ainda não os suporta:
- Banco de dados SQL no Fabric
- Base de Dados SQL do Azure conjuntos elásticos
- Azure SQL Managed Instance
- A monitorização de desempenho não recolhe dados de bases de dados em pools elásticos do Base de Dados SQL do Azure nem de réplicas secundárias.
Disponibilidade regional e tratamento de dados
Está disponível monitorização de desempenho para recursos Microsoft SQL nas seguintes regiões do Azure. As clouds governamentais, soberanas e desligadas da rede não são suportadas durante a pré-visualização. Para mais informações, consulte disponibilidade das regiões do Fabric.
- Sul do Brasil
- Canadá Central
- Leste do Canadá
- E.U.A. Central
- E.U.A. Leste
- E.U.A. Leste 2
- E.U.A. Centro-Norte
- E.U.A. Centro-Sul
- E.U.A. Centro-Oeste
- E.U.A. Oeste
- E.U.A. Oeste 2
- E.U.A. Oeste 3
A monitorização de desempenho recolhe dados de desempenho a partir de vistas de gestão dinâmica (DMVs) nos seus recursos SQL. A monitorização de desempenho não recolhe dados pessoais nem conteúdo do cliente, e os dados não são armazenados em repouso fora da geografia do recurso SQL monitorizado.
Registe o fornecedor de recursos SQL
Para visualizar dados de monitorização do desempenho, registe o fornecedor de recursos Microsoft.Sql em cada subscrição que contenha os recursos de base de dados que pretende monitorizar. Para mais informações, consulte o registo de prestadores do Arizona.
az provider register --namespace Microsoft.Sql
Para verificar o estado de registo, execute o seguinte comando. O registo está completo quando o comando retorna Registered.
az provider show --namespace Microsoft.Sql --query "registrationState" --output tsv
Ativar a monitorização de desempenho para Base de Dados SQL do Azure
Use um dos seguintes métodos:
- No Hub de Base de Dados, vá para a página Estate, selecione o recurso e, em seguida, selecione Ativar Monitorização de Desempenho.
- Execute o seguinte script T-SQL em cada base de dados de utilizador que pretende monitorizar. Não execute o script na
masterbase de dados. Para aplicar o script a vários servidores ao mesmo tempo, considere consultas multiservidor no SQL Server Management Studio (SSMS). Adicione a propriedade estendidaMS_EnablePerformanceMonitoringPreviewa cada base de dados de utilizadores que pretende monitorizar.
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 a monitorização de desempenho no Base de Dados SQL do Azure
Para deixar de recolher dados de desempenho para uma base de dados de utilizador, altere @value = N'true' para @value = N'false' em ambas as chamadas de procedimento e, em seguida, execute novamente o script T-SQL nessa base de dados.
Ativar a monitorização de desempenho para SQL Server em VMs do Azure
Para permitir a monitorização de desempenho do SQL Server em VMs do Azure, adicione a DatabaseWatcheronAzureVM feature flag às definições públicas da extensão SQL IaaS Agent. A extensão recolhe então dados de desempenho da instância do SQL Server e utiliza a identidade gerida atribuída ao sistema da VM para os carregar num endpoint regional de telemetria. A monitorização é configurada por VM. Ativar o flag de funcionalidade numa VM não permite a monitorização noutras VMs.
Para verificação, resolução de problemas e a lista completa de conjuntos de dados recolhidos, veja Ativar monitorização de desempenho para SQL Server em VMs Azure.
Pré-requisitos para SQL Server em VMs do Azure
- A monitorização 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.
- A monitorização de desempenho recolhe todos os conjuntos de dados para as edições SQL Server Enterprise e Standard. Para as edições SQL Server Developer, Express e Evaluation, a monitorização de desempenho recolhe apenas dados de ligação do cliente.
- Tem de instalar a
2.0.229.0versão ou posterior no modo de gestão completa. Tem de ativar a extensão e o respetivo estado de provisionamento tem de ser Succeeded. - A VM deve ter uma identidade gerida atribuída pelo sistema ativada.
- O recurso de instância do SQL Server deve estar disponível através de inventário unificado.
- Tem de registar o fornecedor de
Microsoft.Sqlrecursos na subscrição. - 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. - Precisas da versão mais recente da CLI do Azure.
- Precisa de permissão para visualizar e atualizar extensões na VM, como a adesão ao papel de Contribuidor de Máquina Virtual .
Como ativar a monitorização de desempenho para SQL Server em VMs do Azure
Importante
As definições de extensão do Agente SQL IaaS não são cumulativas. Quando atualizar a extensão, inclua todas as definições públicas existentes para evitar desativar inadvertidamente outra funcionalidade.
Os passos seguintes do PowerShell recuperam as definições públicas atuais, adicionam o flag de funcionalidade de monitorização de desempenho e aplicam as definições combinadas à extensão.
Abra o PowerShell num ambiente onde a CLI do Azure esteja instalada e, em seguida, inicie sessão no Azure.
az loginDefine as variáveis para a tua VM do SQL Server.
$subscriptionId = "<subscription-id>" $resourceGroup = "<resource-group>" $vmName = "<vm-name>" az account set --subscription $subscriptionIdRecuperar as definiçõ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 a
DatabaseWatcheronAzureVMflag de funcionalidade, preservando as flags de funcionalidade 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 ` -ForceGuarda as definições fundidas e aplica-as à 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 estes passos para cada VM que pretende monitorizar.
A extensão recarrega automaticamente as definições públicas. Não precisas de reiniciar o serviço IaaS Agent do SQL Server ou a VM. A maioria dos dados de desempenho está disponível entre 3 a 5 minutos após a implementação da definição. Alguns dados baseados em inventário podem demorar até 15 minutos.
Para confirmar que a monitorização está a decorrer, verifique o estado 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 a monitorização de desempenho está a correr e a carregar dados com sucesso, o estado inclui DatabaseMonitorArcPlugin: {"State":"Running","MetricsUploadStatus":"OK"}. Para confirmar que os dados estão disponíveis, execute a consulta de teste da ligação em telemetria de monitorização do desempenho de consultas.
Desativar a monitorização de desempenho para SQL Server em VMs do Azure
Para deixar de recolher novos dados de desempenho para uma VM, defina a DatabaseWatcheronAzureVM feature flag para false. Juntar a alteração com as definições públicas existentes para que outras funcionalidades de extensão SQL IaaS Agent não sejam afetadas.
Completar os passos 1 a 3 em Ativar a monitorização de desempenho do SQL Server em VMs do Azure para iniciar sessão, definir as variáveis e recuperar as definições atuais.
Defina a flag de funcionalidade
DatabaseWatcheronAzureVMcomofalse, mantendo as flags de funcionalidade 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 Ativar a monitorização de desempenho do SQL Server em VMs do Azure para aplicar as definições combinadas à extensão.
Espere alguns minutos para que a nova definição entre em vigor e depois verifique novamente o estado da extensão para confirmar a alteração.
Ativar a monitorização de desempenho para o SQL Server ativada pelo Azure Arc
A monitorização de desempenho do SQL Server ativada pelo Azure Arc está ativada por defeito. Quando uma instância cumpre todos os pré-requisitos desta secção, recolhe automaticamente os dados de desempenho, e não precisa de tomar mais nenhuma medida. Para mais informações, consulte Monitor SQL Server ativado pelo Azure Arc.
Pré-requisitos para o SQL Server ativado pelo Azure Arc
- A Extensão Azure para SQL Server (
WindowsAgent.SqlServer) deve ser uma versão1.1.2504.99ou versões posteriores. - O SQL Server deve correr no Windows. Não há suporte para o SQL Server no Linux. O 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 mais informações, consulte os requisitos de rede. - O tipo de licença no SQL Server ativado pelo Azure Arc deve ser Software Assurance ou pay-as-you-go.
- 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 esta ação. Para obter mais informações, consulte Funções predefinidas do Azure. - As instâncias de clusters de failover não são atualmente suportadas.
Como ativar a monitorização de desempenho no SQL Server ativada pelo Azure Arc
Os seguintes comandos permitem a recolha de dados de desempenho. Os comandos podem correr com sucesso, mas o sistema recolhe dados de desempenho apenas quando a instância cumpre todos os pré-requisitos desta secção.
Para ativar ou desativar a coleção no portal Azure:
- Na página de recursos do SQL Server ativado pelo Azure Arc, selecione Painel de Desempenho (visualização).
- No topo do painel Painel de Desempenho, selecione Configurar.
- No painel Configurar definições de monitorização , use o botão para ativar a recolha de dados de monitorização.
- Selecione Aplicar configurações.
Para permitir a recolha usando a CLI do Azure, execute o seguinte comando. Substitua os espaços reservados para ID de assinatura, grupo de recursos e 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 a monitorização de desempenho no SQL Server ativada pelo Azure Arc
Para ativar ou desativar a coleção no portal Azure:
- Na página de recursos do SQL Server ativado pelo Azure Arc, selecione Painel de Desempenho (visualização).
- No topo do painel Painel de Desempenho, selecione Configurar.
- No painel Configurar definições de monitorização , use a opção para desativar a recolha de dados de monitorização.
- Selecione Aplicar configurações.
Para desativar a coleção usando a CLI do Azure, execute o seguinte comando. Substitua os espaços reservados para ID de assinatura, grupo de recursos e 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