Oharra
Orrialde honetara sartzeak baimena behar du. Saioa hasteko edo direktorioak aldatzen saia zaitezke.
Orrialde honetara sartzeak baimena behar du. Direktorioak aldatzen saia zaitezke.
Se aplica a:SQL Server
Además de los puntos de conexión habituales, la extensión de Azure Arc para SQL Server se conecta a otros dos puntos de conexión:
Punto de conexión del servicio de procesamiento de datos (DPS)
La información de inventario recopilada sobre instancias, bases de datos, grupos de disponibilidad y datos de uso de SQL Server para fines de facturación se envía a este punto de conexión.
Punto de conexión de telemetría
Los registros del agente de Azure Connected Machine, la extensión de Azure para los registros de SQL Server y los datos de vistas de administración dinámica (DMV) se envían a este punto de conexión.
La comunicación con estos puntos de conexión usa HTTPS con SSL/TLS y el puerto TCP/443 para conexiones seguras cifradas. El agente inicia la comunicación para enviar los datos a Azure. Azure nunca inicia la comunicación. Por lo tanto, la conectividad con estos puntos de conexión es unidireccional.
Cuando se bloquee la comunicación a estos puntos de conexión, el servicio presentará los siguientes síntomas:
- No se verán instancias de SQL Server en Azure Portal. El punto de conexión de DPS estará bloqueado.
- No se verán datos en la vista de paneles de rendimiento de la instancia de SQL Server. Si el punto de conexión de DPS está desbloqueado, pero el punto de conexión de telemetría está bloqueado.
- Se verá un error en el estado de la extensión de Azure para SQL Server en Azure Portal. Consulta Comprueba la extensión de Azure para ver el estado de SQL Server en Azure Portal.
- Se ve un error en el registro de la extensión de Azure para SQL Server. Consulta Comprueba la extensión de Azure para ver los registros de SQL Server.
Estado actual de la extensión de Azure
Puedes ver el estado actual de la extensión de Azure para SQL Server en el portal. El estado se actualiza cada 15 minutos.
Estado correcto:
Compruebe si tiene un problema al conectarse a los puntos de conexión de telemetría o DPS
Hay dos formas de comprobar si tiene problemas al conectarse a los puntos de conexión de telemetría o DPS.
Compruebe la extensión de Azure para ver el estado de SQL Server en Azure Portal
Si está conectado a Azure en general, la extensión de Azure para SQL Server notifica su estado en Azure Portal.
- Vaya a la vista Máquinas: Azure Arc en Azure Portal, busque la máquina por su nombre y selecciónela.
- Seleccione Extensiones.
- Seleccione WindowsAgent.SqlServer o LinuxAgent.SqlServer para mostrar los detalles.
- Examine el Mensaje de estado y el valor
uploadStatus. Si no es OK, hay un problema al conectarse al DPS. Si es0, es probable que haya un firewall que bloquee la comunicación con el punto de conexión de DPS. Puede haber detalles adicionales en el mensaje de estado o el código de erroruploadStatusque puede proporcionar información sobre el problema de conectividad.
Compruebe la extensión de Azure para ver los registros de SQL Server
El archivo de registro de extensión está en:
C:\ProgramData\GuestConfig\extension_logs\Microsoft.AzureData.WindowsAgent.SqlServer\
El nombre del archivo de registro depende de la versión de la extensión de Azure para SQL Server. Para la versión más reciente de la extensión de Azure para SQL Server, el archivo de registro es el siguiente:
unifiedagent.log
Para la versión 1.1.24724.69 de la extensión y versiones anteriores, el archivo de registro es:
ExtensionLog_0.log
Compruebe si hay entradas de registro que indican un problema al conectarse a los puntos de conexión de telemetría o DPS.
Sondeo de puntos de conexión de servidor web
Puede usar varias herramientas para sondear los puntos de conexión del servidor web para DPS y telemetría. Por ejemplo, Invoke-WebRequest o curl.
En el ejemplo siguiente se usa Invoke-Webrequest:
Invoke-WebRequest telemetry.<region>.arcdataservices.com
Un posible código de estado de respuesta es:
Invoke-WebRequest: Response status code does not indicate success: 401 (Unauthorized).
Se espera un código 401 porque no hay ninguna ruta no autenticada en el punto de conexión de telemetría.
Para DPS:
Invoke-WebRequest dataprocessingservice.<region>.arcdataservices.com
Para Virginia del Gobierno de EE. UU., reemplace arcdataservices.com con arcdataservices.azure.us. Este ejemplo sería:
Invoke-WebRequest dataprocessingservice.<region>.arcdataservices.azure.us
Un posible código de estado de respuesta es:
StatusCode : 200
StatusDescription : OK
Se espera 200, ya que hay una ruta no autenticada.
Conectividad de sondeo a todas las regiones
Puede sondear la conectividad a todas las regiones con el script de PowerShell test-connectivity.ps1.
Nota:
Para la región de Virginia del Gobierno de EE. UU., reemplace por arcdataservices.comarcdataservices.azure.us.
#This script repeatedly probes all regions for connectivity to the Azure Arc data services/Arc-enabled SQL Server endpoints for telemetry and the data processing service.
#The script will output the status of the connectivity to the console.
#The script will run indefinitely until stopped by the user.
#The script will iterate through all regions in the $regions array.
#The list of regions are updated as of June 7,2024 to reflect all publicly available, supported Azure regions for Arc-enabled SQL Server.
$regions = @(
"East US",
"East US 2",
"West US 2",
"West US 3",
"Central US",
"North Central US",
"South Central US",
"West Central US",
"Canada Central",
"Canada East",
"UK South",
"UK West",
"France Central",
"West Europe",
"North Europe",
"Switzerland North",
"Central India",
"Brazil South",
"South Africa North",
"UAE North",
"Japan East",
"Korea Central",
"Southeast Asia",
"Australia East",
"Sweden Central",
"Norway East"
)
$regions = $regions | ForEach-Object { $_.Replace(" ", "") }
do{
$regions | ForEach-Object {
$dps_url = "dataprocessingservice.$_.arcdataservices.com"
$ti_url = "telemetry.$_.arcdataservices.com"
try{
$dps_response_time = Measure-Command { $response = Invoke-WebRequest -Uri $dps_url -Method Get }
$dps_result = ($response).StatusCode
}catch{
$dps_result = $_.Exception.Message
}
try{
$ti_response_time = Measure-Command { $response = Invoke-WebRequest -Uri $ti_url -Method Get -SkipHttpErrorCheck }
}catch{
if($_.Exception.Message -like "*401*"){
$ti_result = "Expected"
}
else {
$ti_result = $_.Exception.Message
}
}
if ($ti_response_time.TotalSeconds -gt 3 -or $dps_response_time.TotalSeconds -gt 3 -or $dps_result -ne 200 -or $ti_result -ne "Expected") {
Write-Host $dps_result "($dps_response_time) " $ti_result " ($ti_response_time) :: $_" -ForegroundColor Red
}
elseif ($ti_response_time.TotalSeconds -gt 1 -or $dps_response_time.TotalSeconds -gt 1) {
Write-Host $dps_result "($dps_response_time) " $ti_result " ($ti_response_time) :: $_" -ForegroundColor Yellow
}
else
{
Write-Host $dps_result "($dps_response_time) " $ti_result " ($ti_response_time) :: $_"
}
}
Write-Host "====================================================================="
} while($true)
Comprobación de la compatibilidad de versiones de TLS
El punto de conexión del servicio de procesamiento de datos admite las siguientes versiones de TLS: TLS 1.2 y 1.3. No se admiten Windows Server 2012 ni versiones anteriores.
En el caso de los puntos de conexión de telemetría, Windows Server 2012 R2 y versiones anteriores no se admiten.
Si se usa una versión tls no admitida, es posible que vea un error en el registro.
<date time>|ERROR|SqlServerExtension.Service|Request failed with exception 'System.Net.Http.HttpRequestException: The SSL connection could not be established, see inner exception.
---> System.Security.Authentication.AuthenticationException: Authentication failed because the remote party sent a TLS alert: 'HandshakeFailure'.
---> System.ComponentModel.Win32Exception (0x80090326): The message received was unexpected or badly formatted.
Referencia de puntos de conexión
Para conectarse a Azure, los puntos de conexión usan *.arcdataservices.com.
Segundo plano adicional
La extensión de Azure para SQL Server usa los siguientes puntos de conexión:
- DPS:
dataprocessingservice.<region>.arcdataservices.com, o para la región de Virginia del Gobierno de EE. UU.,*.<region>.arcdataservices.azure.us. - Telemetría
telemetry.<region>.arcdataservices.com
Sustituya <region> por el nombre corto de la región de Azure donde se encuentra el recurso de la máquina de Arc. El nombre corto se deriva del nombre de la región de Azure sin espacios y en minúsculas.
Por ejemplo, si el recurso de la máquina de Arc se encuentra en el este de EE. UU. 2, el nombre corto de la región es eastus2 y el punto de conexión de telemetría es el siguiente:
telemetry.eastus2.arcdataservices.com
Si la extensión es anterior al 11 de marzo de 2024, podría usar puntos de conexión anteriores. Actualice la extensión para usar el punto de conexión actual.
Nota:
Los valores del punto de conexión antes de *.arcdataservices.com están sujetos a cambios.
Uso de un servidor proxy HTTPS para la conectividad saliente
Si la red requiere el uso de un servidor proxy HTTPS para la conectividad saliente, puede obtener más información sobre cómo configurarlo en Actualización o eliminación de la configuración de proxy.
Consulta de Azure Resource Graph para estadísticas de carga de telemetría
Use Azure Resource Graph para consultar el estado de carga de su entorno.
resources
| where type =~ 'microsoft.hybridcompute/machines/extensions'
| where properties.type in ('WindowsAgent.SqlServer','LinuxAgent.SqlServer')
| parse id with * '/providers/Microsoft.HybridCompute/machines/' machineName '/extensions/' *
| parse properties with * 'uploadStatus : ' uploadStatus ';' *
| project uploadStatus, subscriptionId, resourceGroup, machineName
| where uploadStatus !in ('OK') //comment this out to see all upload stats
| order by uploadStatus desc
Búsqueda de extensiones de SQL que no se han conectado a DPS en mucho tiempo
Consulte Azure Resource Graph para buscar extensiones que no se han conectado a DPS recientemente.
resources
| where type =~ 'microsoft.hybridcompute/machines/extensions'
| where properties.type in ('WindowsAgent.SqlServer','LinuxAgent.SqlServer')
| parse id with * '/providers/Microsoft.HybridCompute/machines/' machineName '/extensions/' *
| parse properties with * 'timestampUTC : ' timestampUTC ';' *
| project timestampUTC, subscriptionId, resourceGroup, machineName
| order by timestampUTC desc
Códigos de error
En la tabla siguiente se muestran algunos de los valores comunes de estado de carga de DPS y lo que puede hacer para solucionar problemas.
| Valor de estado de carga de DPS | Código de error HTTP | Sugerencias de solución de problemas |
|---|---|---|
0 |
Causa probable: un firewall bloquea la transmisión de los datos al DPS. Abra el firewall en el punto de conexión DNS para DPS (TCP, puerto: 443). | |
OK |
200 | La conexión funciona según lo previsto. |
Bad request |
400 | Causa posible: el nombre del recurso (instancia de SQL Server o nombre de base de datos) no se ajusta a las convenciones de nomenclatura de recursos de Azure. Por ejemplo, si el nombre de la base de datos es una palabra reservada. |
Unauthorized |
401 | Causa probable: la extensión está configurada para enviar datos a través de un proxy HTTP que requiere autenticación. Actualmente no se admite el uso de un proxy HTTP que requiera autenticación. Use un proxy HTTP no autenticado o ningún proxy. |
Forbidden |
403 | Asegúrese de que el Microsoft.AzureArcData proveedor de recursos está registrado en la suscripción. Si el agente de Azure Connected Machine funciona según lo previsto y este error no se resuelve después de un reinicio, cree un caso de soporte técnico con el Soporte técnico de Microsoft a través de Azure Portal. |
NotFound |
404 | El punto de conexión al que la extensión intenta conectarse no existe. Para comprobar a qué punto de conexión intenta conectarse, busque los registros de dataprocessingservice. Esta condición puede ocurrir si el agente de Azure Connected Machine se ha implementado y conectado a una región de Azure en la que el Microsoft.AzureArcData proveedor de recursos aún no está disponible. Vuelva a implementar el agente de Azure Connected Machine en una región en la que esté disponible el proveedor de recursos Microsoft.AzureArcData para aSQL Server habilitado por Azure Arc. Consulte también Disponibilidad de la región.Es posible que la caché del resolutor de DNS no se actualice para tu máquina. Para actualizar: - En Windows, ejecute: ipconfig /flushdns- En Linux (si systemd se usa) ejecute: sudo resolvectl flush-caches |
Conflict |
409 | Causa probable: error temporal que se produce dentro del DPS. Si esto no se resuelve a sí mismo, cree un caso de soporte técnico con el soporte técnico de Microsoft a través de Azure Portal. |
InternalServerError |
500 | Se trata de un error que se produce dentro del DPS. Crea un caso de soporte técnico con el Soporte técnico de Microsoft a través de Azure Portal. |
Contenido relacionado
- Solución de problemas de la extensión de Azure para la implementación de SQL Server
- Solución de problemas de valoración de procedimientos recomendados en SQL Server
- Configuración de la evaluación de procedimientos recomendados para SQL Server habilitado por Azure Arc
- Administración del inventario de recursos de SQL Server con Azure Arc
- Configurar SQL Server habilitado por Azure Arc
- Uso de los registros de actividad con SQL Server habilitado por Azure Arc
- Recopilación de datos y elaboración de informes de SQL Server habilitado por Azure Arc
