Felsöka anslutningen till databehandlingstjänsten och telemetrislutpunkter
gäller för:SQL Server
Utöver de vanliga slutpunkterna ansluter Azure Arc-tillägget för SQL Server till två andra slutpunkter:
Slutpunkt för databearbetningstjänst (DPS)
Den insamlade inventeringsinformationen om SQL Server-instanser, databaser, tillgänglighetsgrupper och användningsdata i faktureringssyfte skickas till den här slutpunkten.
Telemetrislutpunkt
Azure Connected Machine-agentloggarna, Azure-tillägget för SQL Server-loggar och DMV-data (Dynamic Management Views) skickas till den här slutpunkten.
Kommunikation till dessa slutpunkter använder HTTPS med SSL/TLS och port TCP/443 för krypterade säkra anslutningar. Agenten initierar kommunikation för att skicka data till Azure. Azure initierar aldrig kommunikation. Anslutningen till dessa slutpunkter är därför bara ett sätt.
När kommunikationen till dessa slutpunkter blockeras har tjänsten följande symtom:
- Du ser inte SQL Server-instanser i Azure-portalen. DPS-slutpunkten är blockerad.
- Du ser inte data i prestandainstrumentpanelvyn för SQL Server-instansen. Om DPS-slutpunkten är avblockerad men telemetrislutpunkten blockeras.
- Du ser ett fel i Azure-tillägget för SQL Server-status i Azure-portalen. Granska Kontrollera Azure-tillägget för SQL Server-status i Azure-portalen.
- Du ser ett fel i Azure-tillägget för SQL Server-loggen. Granska Kontrollera Azure-tillägget för SQL Server-loggar.
Aktuellt tillstånd för Azure-tillägg
Du kan visa det aktuella tillståndet för Azure-tillägget för SQL Server i portalen. Statusen uppdateras var 15:e minut.
Hälsosamt tillstånd
Feltillstånd:
Kontrollera om du har problem med att ansluta till DPS- eller telemetrislutpunkterna
Det finns två sätt att kontrollera om du har anslutningsproblem med DPS- eller telemetrislutpunkterna.
Kontrollera Azure-tillägget för SQL Server-status i Azure-portalen
Om den är ansluten till Azure i allmänhet rapporterar Azure-tillägget för SQL Server dess status i Azure-portalen.
- Gå till vyn Machines – Azure Arc i Azure-portalen och leta reda på datorn efter namn och välj den.
- Välj tillägg.
- Välj WindowsAgent.SqlServer eller LinuxAgent.SqlServer för att visa informationen.
- Titta på statusmeddelandet och värdet för
uploadStatus
. Om det är något annat än OK, finns det ett problem med att ansluta till DPS. Om det är 0är det troligt att det finns en brandvägg som blockerar kommunikationen till DPS-slutpunkten. Det kan finnas mer information i statusmeddelandet elleruploadStatus
felkod som kan ge insikter om anslutningsproblemet.
Kontrollera Azure-tillägget för SQL Server-loggar
Loggfilen för tillägg finns på:
C:\ProgramData\GuestConfig\extension_logs\Microsoft.AzureData.WindowsAgent.SqlServer\
Loggfilens namn beror på versionen av Azure-tillägget för SQL Server. För den senaste versionen av Azure-tillägget för SQL Server är loggfilen:
unifiedagent.log
För tilläggsversion 1.1.24724.69
och tidigare är loggfilen:
ExtensionLog_0.log
Sök efter loggposter som anger ett problem med att ansluta till DPS- eller telemetrislutpunkterna.
Avsöka webbserverslutpunkter
Du kan använda olika verktyg för att avsöka webbserverslutpunkterna för DPS och telemetri. Till exempel Invoke-WebRequest
eller curl
.
I följande exempel används Invoke-Webrequest
:
Invoke-WebRequest telemetry.<region>.arcdataservices.com
En möjlig svarsstatuskod är:
Invoke-WebRequest: Response status code does not indicate success: 401 (Unauthorized).
401 förväntas eftersom det inte finns någon oautentiserad väg på telemetrislutpunkten.
För DPS:
Invoke-WebRequest dataprocessingservice.<region>.arcdataservices.com
En möjlig svarsstatuskod är:
StatusCode : 200
StatusDescription : OK
Den här bör returnera en 200 eftersom det finns en oautentiserad rutt.
Testa anslutning till alla regioner
Du kan avsöka anslutningen till alla regioner med test-connectivity.ps1 PowerShell-skript.
#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)
Endpunktsreferens
För att ansluta till Azure använder slutpunkterna *.arcdataservices.com
.
Ytterligare bakgrund
Från och med den 12 mars 2024använder Azure-tillägget för SQL Server följande slutpunkter:
- DPS:
dataprocessingservice.<region>.arcdataservices.com
- Telemetri
telemetry.<region>.arcdataservices.com
Ersätt <region>
med det korta namnet på den Azure-region där Arc-datorresursen finns. Det korta namnet härleds från namnet på Azure-regionen utan blanksteg och med alla gemener.
Om din Arc-datorresurs till exempel finns i USA, östra 2 är det korta namnet på regionen eastus2
och telemetrislutpunkten är:
telemetry.eastus2.arcdataservices.com
Om tillägget har funnits längre än den 11 mars 2024 kan det använda äldre slutpunkter. Uppdatera tillägget så att det använder den aktuella slutpunkten.
Not
Slutpunktsvärdena före *.arcdataservices.com
kan komma att ändras.
Använda en HTTPS-proxyserver för utgående anslutning
Om nätverket kräver att du använder en HTTPS-proxyserver för utgående anslutning kan du läsa mer om hur du konfigurerar det på Uppdatera eller ta bort proxyinställningar.
Fråga Azure Resource Graph om telemetriuppladdningsstatistik
Använd Azure Resource Graph- för att fråga efter uppladdningsstatus för din miljö.
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
Hitta SQL-tillägg som inte har anslutit till DPS på länge
Fråga Azure Resource Graph för att hitta tillägg som inte har anslutit till DPS nyligen.
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
Felkoder
I följande tabell visas några av de vanliga dps-uppladdningsstatusvärdena och vad du kan göra för att felsöka ytterligare.
Statusvärde för DPS-uppladdning | HTTP-felkod | Felsökningsförslag |
---|---|---|
0 |
Sannolik orsak: en brandvägg blockerar överföringen av data till DPS. Öppna brandväggen till DNS-slutpunkten för DPS (TCP, port: 443). | |
OK |
200 | Anslutningen fungerar som förväntat. |
Bad request |
400 | Möjlig orsak: Resursnamnet (SQL Server-instansen eller databasnamnet) överensstämmer inte med namngivningskonventionerna för Azure-resurser. Till exempel, om databasnamnet är ett reserverat ord. |
Unauthorized |
401 | Sannolik orsak: tillägget är konfigurerat för att skicka data via en HTTP-proxy som kräver autentisering. Det finns för närvarande inte stöd för att använda en HTTP-proxy som kräver autentisering. Använd en oautentiserad HTTP-proxy eller ingen proxy. |
Forbidden |
403 | Om Azure Connected Machine-agenten annars fungerar som förväntat och det här felet inte löser sig efter en omstart skapar du ett supportärende med Microsoft Support via Azure-portalen. |
NotFound |
404 | Slutpunkten som tillägget försöker ansluta till finns inte. Om du vill kontrollera vilken slutpunkt den försöker ansluta till söker du i loggarna efter dataprocessingservice . Det här villkoret kan inträffa om Azure Connected Machine-agenten har distribuerats och anslutits till en Azure-region där Microsoft.AzureArcData resursprovidern ännu inte är tillgänglig.
distribuera om Azure Connected Machine-agenten i en region där Microsoft.AzureArcData resursleverantören för en SQL-server som är aktiverad av Azure Arc är tillgänglig. Se även Region tillgänglighet.Det är möjligt att DNS-lösarcachen inte har uppdaterats för din dator. Så här uppdaterar du: – Kör i Windows: ipconfig /flushdns – På Linux (om systemd används) kör du: sudo resolvectl flush-caches |
Conflict |
409 | Sannolik orsak: ett tillfälligt fel inträffar i DPS. Om detta inte löser sig skapar du ett supportärende med Microsoft Support via Azure-portalen. |
InternalServerError |
500 | Det här är ett fel som inträffar i DPS. Skapa ett supportärende med Microsoft Support via Azure-portalen. |
Relaterat innehåll
- Felsöka Azure-tillägget för SQL Server
- Genomgång av bästa praxis för SQL Server
- Konfigurera utvärdering av SQL-metodtips
- Visa SQL Server-databaser – Azure Arc
- Hantera licens- och faktureringsalternativ för SQL Server
- SQL Server aktiverad av Azure Arc och Databases aktivitetsloggar
- Data insamlad av Arc-aktiverad SQL Server