Delen via


Een back-up maken van SQL Server-databases in Azure-VM's met behulp van Azure Backup via REST API

In dit artikel wordt beschreven hoe u een back-up maakt van SQL Server-databases in Azure-VM's met behulp van Azure Backup via REST API.

Notitie

Zie de ondersteuningsmatrix voor SQL-back-ups voor meer informatie over de ondersteunde configuraties en scenario's.

Vereisten

  • Een Recovery Services-kluis
  • Een beleid voor het configureren van back-ups voor uw SQL-databases.

Raadpleeg voor meer informatie over het maken van nieuwe kluizen en beleid de zelfstudies create vault en create policy REST API.

Gebruik de volgende resources:

  • Recovery Services-Kluis: SQLServer2012
  • Beleid: HourlyLogBackup
  • Resourcegroep: SQLServerSelfHost

Back-up configureren voor niet-beveiligde SQL Server-databases in Azure VM

Niet-beveiligde SQL Server-databases detecteren

De kluis moet alle Azure-VM's in het abonnement detecteren met SQL-databases die u kunt back-ups maken naar de Recovery Services-kluis. Als u de details wilt ophalen, activeert u de vernieuwingsbewerking. Het is een asynchrone POST-bewerking die ervoor zorgt dat de kluis de meest recente lijst ontvangt van alle niet-beveiligde SQL-databases in het huidige abonnement en deze in de cache opslaat. Zodra de database in de cache is opgeslagen, hebben Recovery Services toegang tot de database en kunnen deze beveiligen.

POST https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{vaultResourceGroupName}/providers/microsoft.recoveryservices/vaults/{vaultName}/backupFabrics/{fabricName}/refreshContainers?api-version=2016-12-01&$filter={$filter}

De POST-URI heeft {subscriptionId}, {vaultName}, {vaultresourceGroupName} en {fabricName} parameters. In het volgende voorbeeld zijn de waarden voor de verschillende parameters als volgt:

  • {fabricName}: Azure
  • {vaultName}: SQLServer2012
  • {vaultresourceGroupName}: SQLServerSelfHost
  • $filter: backupManagementType eq 'AzureWorkload'

Aangezien alle vereiste parameters worden gegeven in de URI3, is er geen afzonderlijke aanvraagbody nodig.

POST https://management.azure.com/subscriptions/00000000-0000-0000-0000-0000000000/resourceGroups/SQLServerSelfHost/providers/microsoft.recoveryservices/vaults/SQLServer2012/backupFabrics/Azure/refreshContainers?api-version=2016-12-01&$filter=backupManagementType eq 'AzureWorkload'

Antwoorden op de vernieuwingsbewerking

De vernieuwingsbewerking is een asynchrone bewerking. Dit betekent dat met deze bewerking een andere bewerking wordt gemaakt die afzonderlijk moet worden bijgehouden.

Er worden twee antwoorden geretourneerd: 202 (Geaccepteerd) wanneer een andere bewerking wordt gemaakt en 200 (OK) wanneer deze bewerking is voltooid.

Voorbeeldantwoorden voor de vernieuwingsbewerking

Zodra u de POST-aanvraag hebt ingediend, wordt een antwoord van 202 (Geaccepteerd) geretourneerd.

HTTP/1.1 202 Accepted
Pragma: no-cache
Retry-After: 60
X-Content-Type-Options: nosniff
x-ms-request-id: a85ee4a2-56d7-4477-b29c-d140a8bb90fe
x-ms-client-request-id: 4653a4ed-ffbe-4492-ae7d-3e1ab03722af; 4653a4ed-ffbe-4492-ae7d-3e1ab03722af
Strict-Transport-Security: max-age=31536000; includeSubDomains
x-ms-ratelimit-remaining-subscription-writes: 1199
x-ms-correlation-request-id: a85ee4a2-56d7-4477-b29c-d140a8bb90fe
x-ms-routing-request-id: SOUTHINDIA:20180528T075517Z:a85ee4a2-56d7-4477-b29c-d140a8bb90fe
Cache-Control: no-cache
Date: Mon, 28 May 2018 07:55:16 GMT
Location: https://management.azure.com/subscriptions/00000000-0000-0000-0000-0000000000/resourceGroups/SQLServerSelfHost/providers/microsoft.recoveryservices/vaults/SQLServer2012/backupFabrics/Azure/operationResults/a60bfc5e-e237-4ead-be5c-b845e9566ea8?api-version=2016-12-01
X-Powered-By: ASP.NET

Volg de resulterende bewerking met behulp van de locatieheader met een eenvoudige GET-opdracht .

GET https://management.azure.com/subscriptions/00000000-0000-0000-0000-0000000000/resourceGroups/SQLServerSelfHost/providers/microsoft.recoveryservices/vaults/SQLServer2012/backupFabrics/Azure/operationResults/a60bfc5e-e237-4ead-be5c-b845e9566ea8?api-version=2016-12-01

Zodra alle SQL-databases zijn gedetecteerd, retourneert de GET-opdracht een antwoord van 200 (geen inhoud). De kluis kan nu alle virtuele machines met SQL-databases detecteren waarvan binnen het abonnement een back-up kan worden gemaakt.

HTTP/1.1 204 NoContent
Pragma: no-cache
X-Content-Type-Options: nosniff
x-ms-request-id: 55ae46bb-0d61-4284-a408-bcfaa36af643
x-ms-client-request-id: b5ffa56f-a521-48a4-91b2-e3bc1e3f1110; b5ffa56f-a521-48a4-91b2-e3bc1e3f1110
Strict-Transport-Security: max-age=31536000; includeSubDomains
x-ms-ratelimit-remaining-subscription-reads: 14968
x-ms-correlation-request-id: 55ae46bb-0d61-4284-a408-bcfaa36af643
x-ms-routing-request-id: SOUTHINDIA:20180528T075607Z:55ae46bb-0d61-4284-a408-bcfaa36af643
Cache-Control: no-cache
Date: Mon, 28 May 2018 07:56:06 GMT
X-Powered-By: ASP.NET

Toon VM's met SQL-databases om back-ups te maken met de Recovery Services-kluis

Als u wilt controleren of caching is voltooid, vermeldt u alle VM's in het abonnement met SQL-databases waarvan een back-up kan worden gemaakt met de Recovery Services-kluis. Zoek vervolgens het gewenste opslagaccount in het antwoord. Dit is gedaan met de bewerking GET ProtectableContainers .

GET https://management.azure.com/subscriptions/00000000-0000-0000-0000-0000000000/resourceGroups/SQLServerSelfHost/providers/microsoft.recoveryservices/vaults/SQLServer2012/backupFabrics/Azure/protectableContainers?api-version=2016-12-01&$filter=backupManagementType eq 'AzureWorkload'

Notitie

De GET-URI heeft alle vereiste parameters. Er is geen extra aanvraagbody nodig.

Voorbeeld van antwoordtekst:

{
  "value": [
    {
      "id": "/subscriptions/00000000-0000-0000-0000-0000000000/resourceGroups/SQLServerSelfHost/providers/microsoft.recoveryservices/vaults/SQLServer2012/backupFabrics/Azure/protectableContainers/VMAppContainer;Compute;SQLServerPMDemo;ad-primary-dc",
      "name": "VMAppContainer;Compute;SQLServerPMDemo;ad-primary-dc",
      "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectableContainers",
      "properties": {
        "friendlyName": "ad-primary-dc",
        "backupManagementType": "AzureWorkload",
        "protectableContainerType": "VMAppContainer",
        "healthStatus": "Healthy",
        "containerId": "/subscriptions/00000000-0000-0000-0000-0000000000/resourceGroups/SQLServerPMDemo/providers/Microsoft.Compute/virtualMachines/ad-primary-dc"
      }
    },
    {
      "id": "/subscriptions/00000000-0000-0000-0000-0000000000/resourceGroups/SQLServerSelfHost/providers/microsoft.recoveryservices/vaults/SQLServer2012/backupFabrics/Azure/protectableContainers/VMAppContainer;Compute;SQLServerPMDemo;ad-secondry-dc",
      "name": "VMAppContainer;Compute;SQLServerPMDemo;ad-secondry-dc",
      "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectableContainers",
      "properties": {
        "friendlyName": "ad-secondry-dc",
        "backupManagementType": "AzureWorkload",
        "protectableContainerType": "VMAppContainer",
        "healthStatus": "Healthy",
        "containerId": "/subscriptions/00000000-0000-0000-0000-0000000000/resourceGroups/SQLServerPMDemo/providers/Microsoft.Compute/virtualMachines/ad-secondry-dc"
      }
    },
    {
      "id": "/subscriptions/00000000-0000-0000-0000-0000000000/resourceGroups/SQLServerSelfHost/providers/microsoft.recoveryservices/vaults/SQLServer2012/backupFabrics/Azure/protectableContainers/VMAppContainer;Compute;SQLServerPMDemo;sqlserver-0",
      "name": "VMAppContainer;Compute;SQLServerPMDemo;sqlserver-0",
      "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectableContainers",
      "properties": {
        "friendlyName": "sqlserver-0",
        "backupManagementType": "AzureWorkload",
        "protectableContainerType": "VMAppContainer",
        "healthStatus": "Healthy",
        "containerId": "/subscriptions/00000000-0000-0000-0000-0000000000/resourceGroups/SQLServerPMDemo/providers/Microsoft.Compute/virtualMachines/sqlserver-0"
      }
    }
  ]
}

Aangezien we de VM's in het antwoordlichaam met hun vriendelijke namen kunnen vinden, is de hierboven uitgevoerde vernieuwingsbewerking geslaagd. De Recovery Services-kluis kan nu VM's detecteren met niet-beveiligde SQL-databases in hetzelfde abonnement.

VMs registreren bij Recovery Services-kluis

U moet de VM's registreren bij de Recovery Services-kluis, zodat de Azure Backup-service kan communiceren met SQL-databases binnen de VIRTUELE machine (gebruik de waarde in het veld Naam om de Azure VM-container te identificeren). U moet de waarden in de JSON-aanvraag opgeven om de hoofdtekst van de HTTP-aanvraag op te halen uit de eigenschappenverzameling van het resultaat van de lijst met beveiligbare containers.

PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.recoveryservices/vaults/{vaultName}/backupFabrics/Azure/protectionContainers/{containerName}?api-version=2016-12-01

Stel de variabelen voor de URI als volgt in:

  • {resourceGroupName} - SQLServerSelfHost
  • {fabricName} - Azuur
  • {vaultName} - SQLServer2012
  • {containerName} - Dit is het naamkenmerk in de hoofdtekst van de GET Protectable Containers-bewerking. In ons voorbeeld is de kenmerknaam VMAppContainer; Berekenen; SQLServerPMDemo; sqlserver-0.

Notitie

Neem altijd het naam-attribuut van het antwoord en vul dit in de aanvraag in. Stel de containernaam of het formaat ervan niet handmatig in. Als u deze maakt of codeert, mislukt de API-aanroep als de indeling van de containernaam in de toekomst wordt gewijzigd.


PUT https://management.azure.com/subscriptions/00000000-0000-0000-0000-0000000000/resourceGroups/SQLServerSelfHost/providers/microsoft.recoveryservices/vaults/SQLServer2012/backupFabrics/Azure/protectionContainers/VMAppContainer;Compute;SQLServerPMDemo;sqlserver-0?api-version=2016-12-01

De hoofdtekst van de aanvraag maken is als volgt:

{
  "properties": {
    "backupManagementType": "AzureWorkload",
    "friendlyName": "sqlserver-0",
    "containerType": "VMAppContainer",
    "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-0000000000/resourceGroups/SQLServerSelfHost/providers/microsoft.recoveryservices/vaults/SQLServer2012/backupFabrics/Azure/protectableContainers/VMAppContainer;Compute;SQLServerPMDemo;sqlserver-0",
    "workloadType": "SQLDataBase"
  }
}

Zie ProtectionContainers-Register voor de volledige lijst met definities van de aanvraagbody en andere details.

Dit is een asynchrone bewerking en retourneert twee antwoorden: 202 (Geaccepteerd) wanneer de bewerking wordt geaccepteerd en 200 (OK) wanneer de bewerking is voltooid. Als u de bewerkingsstatus wilt bijhouden, gebruikt u de locatieheader om de meest recente status van de bewerking op te halen.

GET https://management.azure.com/subscriptions/00000000-0000-0000-0000-0000000000/resourceGroups/SQLServerSelfHost/providers/microsoft.recoveryservices/vaults/SQLServer2012/backupFabrics/Azure/protectionContainers/VMAppContainer;Compute;SQLServerPMDemo;sqlserver-0/operationResults/2a72d206-b4d8-4c59-89ef-ef3283132237?api-version=2016-12-01

Voorbeeld van antwoordtekst wanneer de bewerking is voltooid:

{
  "id": "/subscriptions/00000000-0000-0000-0000-0000000000/resourceGroups/SQLServerSelfHost/providers/microsoft.recoveryservices/vaults/SQLServer2012/backupFabrics/Azure/protectionContainers/VMAppContainer;Compute;SQLServerPMDemo;sqlserver-0",
  "name": "VMAppContainer;Compute;SQLServerPMDemo;sqlserver-0",
  "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers",
  "properties": {
    "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-0000000000/resourceGroups/SQLServerPMDemo/providers/Microsoft.Compute/virtualMachines/sqlserver-0",
    "lastUpdatedTime": "2018-05-28T08:33:14.7304852Z",
    "extendedInfo": {
      "hostServerName": "sqlserver-0.shopkart.com",
      "inquiryInfo": {
        "status": "Success",
        "errorDetail": {
          "code": "Success",
          "message": "",
          "recommendations": [
            ""
          ]
        },
        "inquiryDetails": [
          {
            "type": "SQL",
            "itemCount": 5,
            "inquiryValidation": {
              "status": "Success",
              "errorDetail": {
                "code": "Success",
                "message": "",
                "recommendations": [
                  ""
                ]
              }
            }
          }
        ]
      }
    },
    "friendlyName": "sqlserver-0",
    "backupManagementType": "AzureWorkload",
    "registrationStatus": "Registered",
    "healthStatus": "Healthy",
    "containerType": "VMAppContainer",
    "protectableObjectType": "VMAppContainer"
  }
}

U kunt controleren of de registratie is geslaagd op basis van de waarde van de parameter registrationstatus in de hoofdtekst van het antwoord. In ons geval wordt de status weergegeven als geregistreerd voor SQLServer2012. De registratiebewerking is dus geslaagd.

Alle niet-beveiligde SQL-databases onder een VM invragen

Als u informatie wilt opvragen over beveiligbare items in een opslagaccount, gebruikt u de Beveiligingscontainers Opvragen bewerking. Het is een asynchrone bewerking en de resultaten moeten worden bijgehouden met behulp van de locatieheader.

POST https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/inquire?api-version=2016-12-01$filter={$filter}

Stel de variabelen voor de bovenstaande URI als volgt in:

  • {resourceGroupName}: SQLServerSelfHost
  • {vaultName}: SQLServer2012
  • {fabricName}: Azure
  • {containerName}: Verwijs naar het naamattribuut in de antwoordinhoud van de GET ProtectableContainers-bewerking. In ons voorbeeld is de kenmerknaam VMAppContainer; Berekenen; SQLServerPMDemo; sqlserver-0.
POST https://management.azure.com/subscriptions/e3d2d341-4ddb-4c5d-9121-69b7e719485e/resourceGroups/SQLServerSelfHost/providers/microsoft.recoveryservices/vaults/SQLServer2012/backupFabrics/Azure/protectionContainers/VMAppContainer;Compute;SQLServerPMDemo;sqlserver-0/inquire?api-version=2016-12-01$filter=workloadType EQ 'SQLDatabase'

Zodra de aanvraag is geslaagd, wordt de statuscode OK geretourneerd.

HTTP/1.1 202 Accepted
Pragma: no-cache
Retry-After: 60
X-Content-Type-Options: nosniff
x-ms-request-id: 50295ae9-3d5b-48d1-8a6d-a0acb6d06b98
x-ms-client-request-id: 4174f98a-80b9-4747-9500-6f702ed83930; 4174f98a-80b9-4747-9500-6f702ed83930
Strict-Transport-Security: max-age=31536000; includeSubDomains
x-ms-ratelimit-remaining-subscription-writes: 1197
x-ms-correlation-request-id: 50295ae9-3d5b-48d1-8a6d-a0acb6d06b98
x-ms-routing-request-id: SOUTHINDIA:20180528T084628Z:50295ae9-3d5b-48d1-8a6d-a0acb6d06b98
Cache-Control: no-cache
Date: Mon, 28 May 2018 08:46:28 GMT
Location: https://management.azure.com/subscriptions/00000000-0000-0000-0000-0000000000/resourceGroups/SQLServerSelfHost/providers/microsoft.recoveryservices/vaults/SQLServer2012/backupFabrics/Azure/protectionContainers/VMAppContainer;Compute;SQLServerPMDemo;sqlserver-0/operationResults/f0751ec2-445a-4d0e-a6a5-a19957459655?api-version=2016-12-01
X-Powered-By: ASP.NET

Selecteer de databases waarvoor u een back-up wilt maken

Als u alle beveiligbare items onder het abonnement wilt weergeven en de gewenste database wilt zoeken waarvan een back-up moet worden gemaakt, gebruikt u de bewerking GET backupprotectableItems .

GET https://management.azure.com/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupProtectableItems?api-version=2016-12-01&$filter={$filter}

Bouw de URI als volgt:

  • {resourceGroupName}: SQLServerSelfHost
  • {vaultName}: SQLServer2012
  • {$filter}: backupManagementType eq 'AzureWorkload'
GET https://management.azure.com/subscriptions/00000000-0000-0000-0000-0000000000/resourceGroups/SQLServerSelfHost/providers/microsoft.recoveryservices/vaults/SQLServer2012/backupProtectableItems?api-version=2016-12-01&$filter=backupManagementType eq 'AzureWorkload'

Voorbeeldantwoord:

Status Code:200

{
  "value": [
    {
      "id": "/subscriptions/00000000-0000-0000-0000-0000000000/resourceGroups/SQLServerSelfHost/providers/microsoft.recoveryservices/vaults/SQLServer2012/backupFabrics/Azure/protectionContainers/vmappcontainer;compute;SQLServerSelfHost;SQLServersql2012/protectableItems/sqldatabase;mssqlserver;msdb",
      "name": "sqldatabase;mssqlserver;msdb",
      "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectableItems",
      "properties": {
        "parentName": "MSSQLSERVER",
        "serverName": "SQLServersql2012",
        "isAutoProtectable": false,
        "subinquireditemcount": 0,
        "subprotectableitemcount": 0,
        "backupManagementType": "AzureWorkload",
        "workloadType": "SQL",
        "protectableItemType": "SQLDataBase",
        "friendlyName": "msdb",
        "protectionState": "NotProtected"
      }
    }
]
}

Het antwoord bevat de lijst met alle niet-beveiligde databases en bevat alle informatie die door Azure Recovery Service is vereist voor het configureren van back-ups. Sla de databasenamen op voor toekomstig gebruik.

Back-up inschakelen voor de database

Nadat de relevante database is geïdentificeerd met de vriendelijke naam:

  1. Selecteer het beleid dat u wilt beveiligen.
  2. Vermeld bestaande beleidsregels in de kluis, zie lijstbeleids-API.
  3. Selecteer het relevante beleid door te verwijzen naar de beleidsnaam.
  4. Beleid maken tutorial.

Beveiliging inschakelen is een asynchrone PUT-bewerking waarmee een beveiligd item wordt gemaakt.

PUT https://management.azure.com/subscriptions/00000000-0000-0000-0000-0000000000/resourceGroups/SQLServerSelfHost/providers/microsoft.recoveryservices/vaults/SQLServer2012/backupFabrics/Azure/protectionContainers/{containerName};sqlserver-0/protectedItems/{protectedItemName}?api-version=2016-12-01

Stel de variabelen containerName en protectedItemName in met behulp van het id-kenmerk in de hoofdtekst van de get backupprotectableitems-bewerking .

In ons voorbeeld is de id van de bestandsshare die we willen beveiligen:

/subscriptions/00000000-0000-0000-0000-0000000000/resourceGroups/SQLServerSelfHost/providers/microsoft.recoveryservices/vaults/SQLServer2012/backupFabrics/Azure/protectionContainers/VMAppContainer;Compute;SQLServerPMDemo;sqlserver-0/protectedItems/sqldatabase;mssqlserver;msdb
  • {containerName}: VMAppContainer; Berekenen; SQLServerPMDemo; sqlserver-0
  • {protectedItemName}: sqldatabase; mssqlserver; msdb

Een aanvraagbody maken:

De volgende aanvraagbody definieert eigenschappen die vereist zijn voor het maken van een beveiligd item.

{
  "properties": {
    "backupManagementType": "AzureWorkload",
    "workloadType": "SQLDataBase",
    "policyId": "/subscriptions/00000000-0000-0000-0000-0000000000/resourceGroups/SQLServerSelfHost/providers/microsoft.recoveryservices/vaults/SQLServer2012/backupPolicies/HourlyLogBackup"
  },
  "location": "westcentralus"
}

Nadat u de PUT-aanvraag hebt ingediend voor het maken of bijwerken van beveiligde items, is het eerste antwoord 202 (geaccepteerd) met een locatieheader.

Voorbeeldrespons

Het maken van een beveiligd item is een asynchrone bewerking, waarmee een andere bewerking wordt gemaakt die moet worden bijgehouden. Er worden twee antwoorden geretourneerd: 202 (Geaccepteerd) wanneer een andere bewerking wordt gemaakt en 200 (OK) wanneer deze bewerking is voltooid.

Nadat u de PUT-aanvraag hebt ingediend voor het maken of bijwerken van beveiligde items, is het eerste antwoord 202 (geaccepteerd) met een locatieheader.

HTTP/1.1 202 Accepted
Pragma: no-cache
Retry-After: 60
Azure-AsyncOperation: https://management.azure.com/subscriptions/00000000-0000-0000-0000-0000000000/resourceGroups/SQLServerSelfHost/providers/microsoft.recoveryservices/vaults/SQLServer2012/backupFabrics/Azure/protectionContainers/VMAppContainer;Compute;SQLServerPMDemo;sqlserver-0/protectedItems/sqldatabase;mssqlserver;msdb/operationsStatus/b686a165-387f-461d-8579-c55338566338?api-version=2016-12-01
X-Content-Type-Options: nosniff
x-ms-request-id: ab6a8c6c-ab90-433a-8dc2-5194901d428d
x-ms-client-request-id: 7d03bcef-562a-4ddc-8086-a3f4981be915; 7d03bcef-562a-4ddc-8086-a3f4981be915
Strict-Transport-Security: max-age=31536000; includeSubDomains
x-ms-ratelimit-remaining-subscription-writes: 1199
x-ms-correlation-request-id: ab6a8c6c-ab90-433a-8dc2-5194901d428d
x-ms-routing-request-id: SOUTHINDIA:20180528T102112Z:ab6a8c6c-ab90-433a-8dc2-5194901d428d
Cache-Control: no-cache
Date: Mon, 28 May 2018 10:21:12 GMT
Location: https://management.azure.com/subscriptions/00000000-0000-0000-0000-0000000000/resourceGroups/SQLServerSelfHost/providers/microsoft.recoveryservices/vaults/SQLServer2012/backupFabrics/Azure/protectionContainers/VMAppContainer;Compute;SQLServerPMDemo;sqlserver-0/protectedItems/sqldatabase;mssqlserver;msdb/operationResults/b686a165-387f-461d-8579-c55338566338?api-version=2016-12-01
X-Powered-By: ASP.NET

Volg vervolgens de resulterende bewerking met behulp van de locatieheader of Azure-AsyncOperation-header met een GET-opdracht .

GET https://management.azure.com/subscriptions/00000000-0000-0000-0000-0000000000/resourceGroups/SQLServerSelfHost/providers/microsoft.recoveryservices/vaults/SQLServer2012/backupFabrics/Azure/protectionContainers/VMAppContainer;Compute;SQLServerPMDemo;sqlserver-0/protectedItems/sqldatabase;mssqlserver;msdb/operationResults/b686a165-387f-461d-8579-c55338566338?api-version=2016-12-01

Zodra de bewerking is voltooid, wordt 200 (OK) geretourneerd met de inhoud van het beveiligde item in de hoofdtekst van het antwoord.

Hoofdtekst van voorbeeldantwoord:

{
  "id": "/subscriptions/00000000-0000-0000-0000-0000000000/resourceGroups/SQLServerSelfHost/providers/microsoft.recoveryservices/vaults/SQLServer2012/backupFabrics/Azure/protectionContainers/VMAppContainer;Compute;SQLServerPMDemo;sqlserver-0/protectedItems/SQLDataBase;mssqlserver;msdb",
  "name": "SQLDataBase;mssqlserver;msdb",
  "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems",
  "properties": {
    "friendlyName": "msdb",
    "serverName": "sqlserver-0.shopkart.com",
    "parentName": "MSSQLSERVER",
    "parentType": "AzureVmWorkloadSQLInstance",
    "protectionStatus": "Healthy",
    "protectionState": "IRPending",
    "lastBackupStatus": "IRPending",
    "lastBackupErrorDetail": {
      "code": "Success",
      "message": ""
    },
    "protectedItemDataSourceId": "17592741727863",
    "protectedItemHealthStatus": "IRPending",
    "extendedInfo": {
      "recoveryPointCount": 0,
      "policyState": "Consistent"
    },
    "protectedItemType": "AzureVmWorkloadSQLDatabase",
    "backupManagementType": "AzureWorkload",
    "workloadType": "SQLDataBase",
    "containerName": "VMAppContainer;Compute;SQLServerPMDemo;sqlserver-0",
    "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-0000000000/resourceGroups/SQLServerPMDemo/providers/VMAppContainer/sqlserver-0",
    "policyId": "/subscriptions/00000000-0000-0000-0000-0000000000/resourceGroups/SQLServerSelfHost/providers/microsoft.recoveryservices/vaults/SQLServer2012/backupPolicies/HourlyLogBackup"
  }
}

Hiermee wordt bevestigd dat beveiliging is ingeschakeld voor de database en dat de eerste back-up wordt geactiveerd volgens het beleidsschema.

Een back-up op aanvraag activeren voor de database

Zodra u een database voor back-up hebt geconfigureerd, worden back-ups uitgevoerd volgens het beleidsschema. U kunt op elk gewenst moment wachten op de eerste geplande back-up of een back-up op aanvraag activeren.

Het activeren van een back-up op aanvraag is een POST-bewerking .

Notitie

De bewaarperiode van deze back-up wordt bepaald door het type back-up op aanvraag dat u hebt uitgevoerd.

  • Op aanvraag worden back-ups gedurende minimaal 45 dagen en maximaal 99 jaar bewaard.
  • Kopiëren op aanvraag accepteert alleen volledige waarde voor retentie.
  • On-demand differentieel behoudt back-ups volgens de retentie van geplande differentiëlen zoals ingesteld in het beleid.
  • Logboeken op aanvraag bewaren back-ups volgens de retentie van geplande logboeken die zijn ingesteld in het beleid.
POST https://management.azure.com/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/backup?api-version=2016-12-01

Terwijl back-ups worden ingeschakeld, zijn {containerName} en {protectedItemName} zoals hierboven samengesteld. In ons voorbeeld wordt dit omgezet in:

POST https://management.azure.com/subscriptions/00000000-0000-0000-0000-0000000000/resourceGroups/SQLServerSelfHost/providers/Microsoft.RecoveryServices/vaults/SQLServer2012/backupFabrics/Azure/protectionContainers/VMAppContainer;Compute;SQLServerPMDemo;sqlserver-0/protectedItems/sqldatabase;mssqlserver;msdb/backup?api-version=2016-12-01

Hoofdtekst van aanvraag maken

Gebruik de volgende aanvraagbody om een volledige back-up op aanvraag te maken.

{
  "properties": {
    "objectType": "AzureWorkloadBackupRequest",
    "backupType": "Full"
  }
}

Antwoorden op de back-upbewerking op aanvraag

Het activeren van een back-up op aanvraag is een asynchrone bewerking. Dit betekent dat met deze bewerking een andere bewerking wordt gemaakt die afzonderlijk moet worden bijgehouden.

Er worden twee antwoorden geretourneerd: 202 (Geaccepteerd) wanneer een andere bewerking wordt gemaakt en 200 (OK) wanneer deze bewerking is voltooid.

Voorbeeldantwoorden op de back-upbewerking op aanvraag

Nadat u de POST-aanvraag voor een back-up op aanvraag hebt ingediend, is het eerste antwoord 202 (geaccepteerd) met een locatieheader of Azure-async-header.

HTTP/1.1 202 Accepted
Pragma: no-cache
Retry-After: 60
Azure-AsyncOperation: https://management.azure.com/subscriptions/00000000-0000-0000-0000-0000000000/resourceGroups/SQLServerSelfHost/providers/microsoft.recoveryservices/vaults/SQLServer2012/backupFabrics/Azure/protectionContainers/VMAppContainer;Compute;SQLServerPMDemo;sqlserver-0/protectedItems/sqldatabase;mssqlserver;msdb/operationsStatus/cd2a3b13-d392-4e81-86ac-02ea91cc70b9?api-version=2016-12-01
X-Content-Type-Options: nosniff
x-ms-request-id: a691e2a9-8203-462d-a4da-d1badde22f83
x-ms-client-request-id: 6b033cf6-f875-4c03-8985-9add07ec2845; 6b033cf6-f875-4c03-8985-9add07ec2845
Strict-Transport-Security: max-age=31536000; includeSubDomains
x-ms-ratelimit-remaining-subscription-writes: 1199
x-ms-correlation-request-id: a691e2a9-8203-462d-a4da-d1badde22f83
x-ms-routing-request-id: SOUTHINDIA:20180528T114321Z:a691e2a9-8203-462d-a4da-d1badde22f83
Cache-Control: no-cache
Date: Mon, 28 May 2018 11:43:21 GMT
Location: https://management.azure.com/subscriptions/00000000-0000-0000-0000-0000000000/resourceGroups/SQLServerSelfHost/providers/microsoft.recoveryservices/vaults/SQLServer2012/backupFabrics/Azure/protectionContainers/VMAppContainer;Compute;SQLServerPMDemo;sqlserver-0/protectedItems/sqldatabase;mssqlserver;msdb/operationResults/cd2a3b13-d392-4e81-86ac-02ea91cc70b9?api-version=2016-12-01
X-Powered-By: ASP.NET

Volg vervolgens de resulterende bewerking met behulp van de locatieheader of Azure-AsyncOperation-header met een GET-opdracht .

GET https://management.azure.com/subscriptions/00000000-0000-0000-0000-0000000000/resourceGroups/SQLServerSelfHost/providers/microsoft.recoveryservices/vaults/SQLServer2012/backupFabrics/Azure/protectionContainers/VMAppContainer;Compute;SQLServerPMDemo;sqlserver-0/protectedItems/sqldatabase;mssqlserver;msdb/operationsStatus/cd2a3b13-d392-4e81-86ac-02ea91cc70b9?api-version=2016-12-01

Zodra de bewerking is voltooid, wordt 200 (OK) geretourneerd met de ID van de resulterende back-uptaak in de antwoordtekst.

Voorbeeld hoofdtekst van respons

{
  "id": "cd2a3b13-d392-4e81-86ac-02ea91cc70b9",
  "name": "cd2a3b13-d392-4e81-86ac-02ea91cc70b9",
  "status": "Succeeded",
  "startTime": "2018-05-28T11:43:21.6516182Z",
  "endTime": "2018-05-28T11:43:21.6516182Z",
  "properties": {
    "objectType": "OperationStatusJobExtendedInfo",
    "jobId": "c22eca5d-0c1c-48a0-a40d-69bef708d92a"
  }
}

Omdat de back-uptaak een langdurige bewerking is, moet deze worden bijgehouden zoals wordt uitgelegd in het document 'Monitor jobs met de REST API'.

Volgende stappen