Fel vid ögonblicksbilder
Varför plattformen vägrar ta eller återställa en ögonblicksbild av ett PostgreSQL-kluster, en SQL Server-instans eller en containerinstans, och vad du gör åt varje avvisning.
PostgreSQL-kluster, SQL Server-instanser och containerinstanser kan få ögonblicksbilder tagna och
återställda via de här rutterna under
/boundaries/{boundaryId}/resourcegroups/{resourceGroupName}/resources/{type}, där {type} är
postgresclusters, sqlserverclusters eller containerinstances:
| Rutt | Vad den gör |
|---|---|
POST /{name}/snapshots |
Tar en ögonblicksbild |
POST /{name}/snapshots/{snapshotId}/restore |
Återställer en ögonblicksbild, om du vill till en tidpunkt med {"targetTime": "…"} |
PUT /{name}/backup-policy |
Ställer in schemat för ögonblicksbilder — bara containerinstanser |
Hur du gör samma sak i portalen och med CLI:t beskrivs för PostgreSQL, SQL Server och containerinstanser.
Avvisningen
När resursen inte kan få en ögonblicksbild tagen eller återställd som den ser ut nu svarar rutten
422 i problemformatet, och ingenting startas:
{
"type": "…",
"title": "nothing-to-back-up",
"status": 422,
"detail": "Container instance 'web' declares no persistent volume, so there is nothing to snapshot.",
"code": "nothing-to-back-up",
"remediation": "Add a persistent volume to a component to make the instance backupable.",
"module": "containerinstances",
"correlationId": "3f2b9c1e-6d4a-4e0b-9a51-2c7d8e0f4b6a"
}Både title och code innehåller koden, detail säger vad som är fel med den här resursen, och
remediation säger vad du gör. module är db-postgres, db-sqlserver eller
containerinstances, beroende på vilken modul som betjänar rutten; koderna dokumenteras här, under
plattformens kärna, eftersom resurstyperna delar dem. Ett id för en ögonblicksbild som inte finns
svarar i stället 404 med NOT_FOUND.
backups-not-configured
Status 422. Bara PostgreSQL-kluster, på rutterna för att ta och återställa.
Säkerhetskopiering är avslagen på klustret, så det har inget arkiv att ta en ögonblicksbild till eller att återställa från.
Vad du gör: slå på säkerhetskopiering för klustret — se Slå på säkerhetskopiering — vänta på det första arkivet och försök igen.
archiving-failing
Status 422. Bara PostgreSQL-kluster, på rutterna för att ta och återställa.
Säkerhetskopiering är på, men klustret rapporterar att det inte kan skriva sitt arkiv; detail
innehåller klustrets orsak. Så länge arkivet inte fungerar skulle en ögonblicksbild aldrig bli
klar. Innan ett kluster har rapporterat något om sitt arkiv tas en ögonblicksbild emot och blir
kvar som pågående.
Vad du gör: oftast är det säkerhetskopieringslagret som är orsaken, och det är plattformens operatörer som åtgärdar det — se När arkiveringen misslyckas. Försök igen när arkiveringen fungerar.
bootstrap-pending
Status 422. Bara SQL Server-instanser, på rutten för att ta en ögonblicksbild.
Instansen har inte skapat klart sin första databas, så en ögonblicksbild skulle inte innehålla den. En instans som skapats utan första databas, vilket API:t och CLI:t tillåter, fortsätter att svara med den här koden — se Ta en ögonblicksbild.
Vad du gör: vänta tills instansen rapporterar Running med sin databas skapad, och försök igen.
nothing-to-back-up
Status 422. Bara containerinstanser, på rutterna för att ta en ögonblicksbild och ställa in
säkerhetskopieringspolicyn.
Instansen har ingen beständig volym, så det finns inget att ta en ögonblicksbild av eller att schemalägga.
Vad du gör: lägg till en beständig volym på någon av instansens komponenter om dess data ska säkerhetskopieras.
snapshot-not-usable
Status 422, på rutten för att återställa, för alla tre resurstyperna.
Återställningen kan inte göras från den här ögonblicksbilden, eller till den begärda tidpunkten.
detail och remediation säger vilket:
| Resurstyp | Orsak | remediation |
|---|---|---|
| SQL Server, containerinstanser | Ögonblicksbilden är inte klar än | "Wait for the snapshot to complete." |
| SQL Server, containerinstanser | Ögonblicksbilden misslyckades eller lyckades bara delvis | "Take a new snapshot." |
| SQL Server, containerinstanser | targetTime skickades; de här typerna kan inte återställas till en tidpunkt |
"Restore from a snapshot instead." |
| PostgreSQL | Ögonblicksbilden är inte klar | "Wait for the snapshot to complete, or take a new one." |
| PostgreSQL | targetTime ligger före klustrets arkiv, eller i framtiden |
"Pick a time inside the recovery window." |
Vad du gör: följ remediation. En ögonblicksbild vars status inte går vidare till Klar
blir inte användbar; ta en ny. För ett PostgreSQL-kluster anger
GET /{name}/snapshots/pitr-window vilka tidpunkter du kan återställa till — se
Återställ till en tidpunkt.