Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
S'applique à :SQL Server
Outre les points de terminaison habituels, l’extension Azure Arc pour SQL Server se connecte à deux autres points de terminaison :
Point de terminaison du service de traitement de données (DPS)
Les informations d’inventaire collectées sur les instances SQL Server, les bases de données, les groupes de disponibilité et les données d’utilisation à des fins de facturation sont envoyées à ce point de terminaison.
Point de terminaison de télémétrie
Les journaux d’activité d’ Azure Connected Machine Agent, les journaux de l’extension Azure pour SQL Server et les données des vues de gestion dynamique (DMV) sont envoyées à ce point de terminaison.
La communication à ces points de terminaison utilise HTTPS avec SSL/TLS et le port TCP/443 pour les connexions sécurisées chiffrées. La communication est initiée par l’agent pour envoyer les données vers Azure. La communication n’est jamais initiée par Azure. La connectivité à ces points de terminaison est donc unidirectionnelle.
Quand la communication avec ces points de terminaison est bloquée, le service présente les symptômes suivants :
- Vous ne voyez pas d’instances SQL Server dans le Portail Azure. Le point de terminaison DPS est bloqué.
- Vous ne voyez pas les données dans la vue des tableaux de bord de performances de l’instance SQL Server. Si le point de terminaison DPS est débloqué mais que le point de terminaison de télémétrie est bloqué.
- Une erreur s’affiche dans l’extension Azure pour le statut de SQL Server dans le portail Azure. Vérifiez le statut de l’extension Azure pour SQL Server dans le portail Azure.
- Une erreur s’affiche dans l’extension Azure pour le journal d’activité de SQL Server. Consultez Rechercher les journaux SQL Server dans l’extension Azure.
État actuel de l’extension Azure
Vous pouvez afficher l’état actuel de l’extension Azure pour SQL Server dans le portail. L’état est actualisé toutes les 15 minutes.
État sain :
Vérifier s’il y a un problème de connectivité aux points de terminaison DPS ou de télémétrie
Il existe deux façons de vérifier si vous rencontrez des problèmes de connectivité aux points de terminaison DPS ou de télémétrie.
Vérifier l’extension Azure pour le statut SQL Server dans le portail Azure
Si il est généralement connecté à Azure, l’extension Azure pour SQL Server signale son statut dans le portail Azure.
- Accédez à la vue Machines - Azure Arc dans le portail Azure et recherchez la machine par son nom, puis sélectionnez-la.
- Sélectionnez Extensions.
- Sélectionnez WindowsAgent.SqlServer ou LinuxAgent.SqlServer pour afficher les détails.
- Examinez le message de statut et la valeur
uploadStatus. Si vous voyez autre chose que OK, il y a un problème de connexion au DPS. Si c’est0le cas, il est probable qu’un pare-feu bloque la communication vers le point de terminaison DPS. Des détails supplémentaires dans le message de statut ou le code d’erreuruploadStatuspeuvent fournir des informations sur le problème de connectivité.
Rechercher les journaux SQL Server dans l’extension Azure
Le fichier journal d'extension se trouve à :
C:\ProgramData\GuestConfig\extension_logs\Microsoft.AzureData.WindowsAgent.SqlServer\
Le nom du fichier journal dépend de la version de l’extension Azure pour SQL Server. Pour la dernière version de l’extension Azure pour SQL Server, le fichier journal est :
unifiedagent.log
Pour la version 1.1.24724.69 de l’extension et les versions antérieures, le fichier journal d’activité est :
ExtensionLog_0.log
Recherchez les entrées du journal d’activité qui indiquent un problème de connexion aux points de terminaison DPS ou de télémétrie.
Sonder les points de terminaison du serveur web
Vous pouvez utiliser différents outils pour sonder les points de terminaison du serveur web pour le DPS et les données de télémétrie. Par exemple, Invoke-WebRequest ou curl.
L'exemple suivant utilise Invoke-Webrequest :
Invoke-WebRequest telemetry.<region>.arcdataservices.com
Un code d’état de réponse possible est :
Invoke-WebRequest: Response status code does not indicate success: 401 (Unauthorized).
401 est attendu, car il n’existe aucun itinéraire non authentifié sur le point de terminaison de télémétrie.
Pour DPS :
Invoke-WebRequest dataprocessingservice.<region>.arcdataservices.com
Pour le gouvernement américain Virginie, remplacez arcdataservices.com par arcdataservices.azure.us. Cet exemple serait :
Invoke-WebRequest dataprocessingservice.<region>.arcdataservices.azure.us
Un code d’état de réponse possible est :
StatusCode : 200
StatusDescription : OK
Un code 200 est attendu, car il existe une route non authentifiée.
Connectivité de sonde à toutes les régions
Vous pouvez sonder la connectivité à toutes les régions avec le script PowerShell test-connectivity.ps1.
Remarque
Pour la région virginie du gouvernement des États-Unis, remplacez arcdataservices.com par arcdataservices.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)
Vérifier la compatibilité des versions TLS
Le point de terminaison du service de traitement des données prend en charge les versions TLS suivantes : TLS 1.2 et 1.3. Windows Server 2012 et versions antérieures ne sont pas pris en charge.
Pour les points de terminaison de télémétrie, Windows Server 2012 R2 et versions antérieures ne sont pas pris en charge.
Si une version TLS non prise en charge est utilisée, une erreur peut s’afficher dans le journal
<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.
Référence du point de terminaison
Pour vous connecter à Azure, les points de terminaison utilisent *.arcdataservices.com.
Arrière-plan supplémentaire
L’extension Azure pour SQL Server utilise les points de terminaison suivants :
- DPS :
dataprocessingservice.<region>.arcdataservices.com, ou pour la région US Gov Virginie :*.<region>.arcdataservices.azure.us. - Télémétrie
telemetry.<region>.arcdataservices.com
Remplacez <region> par le nom court de la région Azure où se trouve la ressource de machine Arc. Le nom court est dérivé du nom de la région Azure sans espaces et entièrement en minuscules.
Par exemple, si votre ressource de machine Arc se trouve dans la région USA Est 2, le nom court de la région est eastus2 et le point de terminaison de télémétrie est :
telemetry.eastus2.arcdataservices.com
Si votre extension est antérieure au 11 mars 2024, elle peut utiliser des points de terminaison plus anciens. Mettez à jour votre extension pour utiliser le point de terminaison actuel.
Remarque
Les valeurs de point de terminaison avant *.arcdataservices.com sont susceptibles de changer.
Utiliser un serveur proxy HTTPS pour la connectivité sortante
Si votre réseau nécessite l’utilisation d’un serveur proxy HTTPS pour la connectivité sortante, vous pouvez en savoir plus sur la configuration de celui-ci dans la section Mettre à jour ou supprimer des paramètres de proxy.
Interroger Azure Resource Graph pour voir les statistiques de chargement des données de télémétrie
Utilisez Azure Resource Graph pour interroger sur le statut de chargement de votre environnement.
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
Rechercher des extensions SQL qui n’ont pas été connectées à DPS depuis longtemps
Interrogez Azure Resource Graph pour rechercher des extensions qui n’ont pas été connectées à DPS récemment.
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
Codes d’erreur
Le tableau suivant présente certaines des valeurs d’état de chargement DPS courantes et ce que vous pouvez faire pour résoudre les problèmes.
| Valeur de l’état de téléchargement DPS | Code d'erreur HTTP | Suggestions sur la résolution de problèmes |
|---|---|---|
0 |
Cause probable : un pare-feu bloque la transmission des données à la DPS. Ouvrez le pare-feu sur le point de terminaison DNS pour le DPS (TCP, port : 443). | |
OK |
200 | La connexion fonctionne comme prévu. |
Bad request |
400 | Cause possible : le nom de la ressource (instance SQL Server ou nom de base de données) n’est pas conforme aux conventions d’affectation de noms des ressources Azure. Par exemple, si le nom de la base de données est un mot réservé. |
Unauthorized |
401 | Cause probable : l’extension est configurée pour envoyer des données via un proxy HTTP nécessitant une authentification. L’utilisation d’un proxy HTTP qui nécessite l’authentification n’est actuellement pas prise en charge. Utilisez un proxy HTTP non authentifié ou aucun proxy. |
Forbidden |
4:03 | Vérifiez que le Microsoft.AzureArcData fournisseur de ressources est inscrit sur l’abonnement. Si l’agent Azure Connected Machine fonctionne normalement comme prévu et que cette erreur ne se résout pas après un redémarrage, créez un cas de support avec Support Microsoft via le Portail Azure. |
NotFound |
404 | Le point de terminaison auquel l’extension tente de se connecter n’existe pas. Pour vérifier le point de terminaison auquel il tente de se connecter, recherchez dataprocessingservice dans les journaux. Cette condition peut se produire si l’agent Azure Connected Machine a été déployé et connecté à une région Azure dans laquelle le Microsoft.AzureArcData fournisseur de ressources n’est pas encore disponible. Redéployez l’agent Azure Connected Machine dans une région où le fournisseur de ressources Microsoft.AzureArcData pour aSQL Server activé par Azure Arc est disponible. Consultez aussi Disponibilité dans les régions.Il est possible que le cache du programme de résolution DNS ne soit pas actualisé pour votre ordinateur. Pour actualiser : - Sur Windows, exécutez : ipconfig /flushdns- Sur Linux (si systemd utilisé) exécutez : sudo resolvectl flush-caches |
Conflict |
409 | Cause probable : erreur temporaire se produisant à l’intérieur du DPS. Si cela ne se résout pas, créez un cas de support auprès du support Microsoft via le portail Azure. |
InternalServerError |
5:00 | Il s’agit d’une erreur qui se produit à l’intérieur du DPS. Créez un cas de support avec Support Microsoft à travers le portail Azure. |
Contenu connexe
- Résoudre les problèmes liés à l’extension Azure pour le déploiement SQL Server.
- Dépanner les problèmes liés à l’évaluation des meilleures pratiques sur SQL Server
- Configuration de l’évaluation des meilleures pratiques pour SQL Server activé par Azure Arc
- Gérer l’inventaire des ressources SQL Server avec Azure Arc
- Configurer une instance SQL Server dotée d’Azure Arc
- Utilisation des journaux d’activité avec SQL Server activé par Azure Arc
- Collecte et compte-rendu de données sur SQL Server activé par Azure Arc
