Sdílet prostřednictvím


Zálohování databází SQL Serveru na virtuálních počítačích Azure pomocí služby Azure Backup prostřednictvím rozhraní REST API

Tento článek popisuje, jak zálohovat databáze SQL Serveru na virtuálních počítačích Azure pomocí služby Azure Backup prostřednictvím rozhraní REST API.

Poznámka:

Další informace o podporovaných konfiguracích a scénářích najdete v matici podpory zálohování SQL.

Požadavky

  • Úložiště služeb pro obnovu
  • Zásady konfigurace zálohování pro databáze SQL.

Další informace o vytváření nových trezorů a zásad najdete v kurzech k vytvoření trezoru a vytváření zásad rozhraní REST API.

Použijte následující zdroje informací:

  • Úložiště služeb obnovení: SQLServer2012
  • Zásada: HourlyLogBackup
  • Skupina prostředků: SQLServerSelfHost

Konfigurace zálohování pro nechráněné databáze SQL Serveru na virtuálním počítači Azure

Zjišťování nechráněných databází SQL Serveru

Trezor musí zjišťovat všechny virtuální počítače Azure v předplatném pomocí databází SQL, které můžete zálohovat do trezoru služby Recovery Services. Pokud chcete načíst podrobnosti, aktivujte operaci aktualizace. Jedná se o asynchronní operaci POST , která zajišťuje, že trezor obdrží nejnovější seznam všech nechráněných databází SQL v aktuálním předplatném a ukládá je do mezipaměti . Po uložení databáze do mezipaměti můžou služby Recovery Services přistupovat k databázi a chránit ji.

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

Identifikátor URI POST obsahuje {subscriptionId}, {vaultName}{vaultresourceGroupName}a {fabricName} parametry. V následujícím příkladu jsou hodnoty pro různé parametry následující:

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

Vzhledem k tomu, že všechny požadované parametry jsou uvedené v identifikátoru URI3, není potřeba použít samostatný text požadavku.

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'

Odpovědi na operaci aktualizace

Operace aktualizace je asynchronní operace. To znamená, že tato operace vytvoří jinou operaci, která se musí sledovat samostatně.

Vrátí dvě odpovědi: 202 (Přijato) při vytvoření jiné operace a 200 (OK) po dokončení této operace.

Ukázkové odpovědi na operaci aktualizace

Po odeslání požadavku POST se vrátí odpověď 202 (Accepted).

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

Pomocí hlavičky Location můžete sledovat výslednou operaci pomocí jednoduchého příkazu GET .

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

Po zjištění všech databází SQL vrátí příkaz GET odpověď 200 (Bez obsahu). Trezor teď může zjistit libovolný virtuální počítač s databázemi SQL, které je možné zálohovat v rámci předplatného.

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

Seznam virtuálních počítačů s databázemi SQL k zálohování pomocí úložiště Recovery Services

Pokud chcete ověřit, že se ukládání do mezipaměti provádí, vypište všechny virtuální počítače v předplatném s databázemi SQL, které je možné zálohovat pomocí trezoru služby Recovery Services. Potom v odpovědi vyhledejte požadovaný účet úložiště. To se provádí pomocí operace 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'

Poznámka:

Identifikátor URI GET má všechny požadované parametry. Není potřeba žádný další text žádosti.

Příklad textu odpovědi:

{
  "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"
      }
    }
  ]
}

Jelikož můžeme nalézt virtuální počítače v textu odpovědi s přátelskými názvy, operace aktualizace provedená výše byla úspěšná. Trezor služby Recovery Services teď může úspěšně zjišťovat virtuální počítače s nechráněnými databázemi SQL ve stejném předplatném.

Registrujte virtuální počítače v trezoru služby Recovery Services

Virtuální počítače je potřeba zaregistrovat v trezoru služby Recovery Services, aby služba Azure Backup byla v rámci virtuálního počítače interagována s databázemi SQL (pomocí hodnoty v poli Název identifikujte kontejner virtuálního počítače Azure). Je potřeba zadat hodnoty v požadavku JSON, abyste získali tělo požadavku HTTP ze sady vlastností výsledku seznamu chránitelných kontejnerů.

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

Nastavte proměnné pro identifikátor URI následujícím způsobem:

  • {resourceGroupName} - SQLServerSelfHost
  • {fabricName} - Azurový
  • {vaultName} - SQLServer2012
  • {containerName} - Toto je atribut názvu v textu odpovědi operace GET ProtectableContainers . V našem příkladu je název atributu VMAppContainer; Vypočítat; SQLServerPMDemo; sqlserver-0.

Poznámka:

Vždy použijte atribut jména z odpovědi a vyplňte jej v tomto požadavku. Nezakódujte ani nevytvávejte formát názvu kontejneru. Pokud ho vytvoříte nebo pevně zakódujete, volání rozhraní API selže, pokud se formát názvu kontejneru v budoucnu změní.


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

Text žádosti o vytvoření je následující:

{
  "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"
  }
}

Úplný seznam definic těla požadavku a další podrobnosti naleznete v ProtectionContainers-Register.

Jedná se o asynchronní operaci a vrátí dvě odpovědi: 202 (Přijato) při přijetí operace a 200 (OK) po dokončení operace. Pokud chcete sledovat stav operace, použijte hlavičku umístění k získání nejnovějšího stavu operace.

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

Příklad textu odpovědi po dokončení operace:

{
  "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"
  }
}

Můžete ověřit, jestli registrace proběhla úspěšně z hodnoty parametru registrationstatus v textu odpovědi. V našem případě se zobrazí stav zaregistrovaný pro SQLServer2012; operace registrace tedy proběhla úspěšně.

Dotazujte se na všechny nechráněné databáze SQL pod VM.

Chcete-li se dotázat na chránitelné položky v úložišti, použijte operaci Protection Containers-Inquire. Jedná se o asynchronní operaci a výsledky by se měly sledovat pomocí hlavičky umístění.

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}

Nastavte proměnné pro výše uvedený identifikátor URI následujícím způsobem:

  • {resourceGroupName}: SQLServerSelfHost
  • {vaultName}: SQLServer2012
  • {fabricName}: Azure
  • {containerName}: Odkaz na atribut name v textu odpovědi operace GET ProtectableContainers. V našem příkladu je název atributu VMAppContainer; Vypočítat; 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'

Jakmile je požadavek úspěšný, vrátí stavový kód OK.

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

Vyberte databáze, které chcete zálohovat.

Pokud chcete zobrazit seznam všech chráněných položek v rámci předplatného a vyhledat požadovanou databázi, která se má zálohovat, použijte operaci GET backupprotectableItems .

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

Vytvořte identifikátor URI následujícím způsobem:

  • {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'

Ukázková odpověď:

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"
      }
    }
]
}

Odpověď obsahuje seznam všech nechráněných databází a obsahuje všechny informace vyžadované službou Azure Recovery Service ke konfiguraci zálohování. Uložte názvy databází pro budoucí použití.

Povolení zálohování databáze

Po identifikaci příslušné databáze s přátelským názvem:

  1. Vyberte zásadu, která chcete chránit.
  2. Výpis existujících zásad v trezoru, viz seznam rozhraní POLICY API.
  3. Vyberte příslušnou zásadu tak, že odkazujete na název zásady.
  4. Kurz vytvoření zásad

Povolení ochrany je asynchronní operace PUT , která vytvoří chráněnou položku.

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

Nastavte proměnné containerName a protectedItemName pomocí atributu ID v textu odpovědi operace GET backupprotectableitems .

V našem příkladu je ID sdílené složky, kterou chceme chránit, následující:

/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; Vypočítat; SQLServerPMDemo; sqlserver-0
  • {protectedItemName}: sqldatabase; mssqlserver; msdb

Vytvoření textu požadavku:

Následující text požadavku definuje vlastnosti potřebné k vytvoření chráněné položky.

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

Po odeslání požadavku PUT pro vytvoření nebo aktualizaci chráněné položky je počáteční odpověď 202 (Přijato) s hlavičkou umístění.

Ukázková odpověď

Vytvoření chráněné položky je asynchronní operace, která vytvoří další operaci, kterou je potřeba sledovat. Vrátí dvě odpovědi: 202 (Přijato) při vytvoření jiné operace a 200 (OK) po dokončení této operace.

Po odeslání požadavku PUT pro vytvoření nebo aktualizaci chráněné položky je počáteční odpověď 202 (Přijato) s hlavičkou umístění.

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

Pak pomocí hlavičky umístění nebo hlavičky Azure-AsyncOperation sledujte výslednou operaci pomocí příkazu GET .

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

Po dokončení operace vrátí hodnotu 200 (OK) s obsahem chráněné položky v textu odpovědi.

Ukázkový obsah odpovědi:

{
  "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"
  }
}

Tím potvrdíte, že je pro databázi povolená ochrana a první zálohování se aktivuje podle plánu zásad.

Aktivace zálohování databáze na vyžádání

Jakmile nakonfigurujete databázi pro zálohování, zálohování se spustí podle harmonogramu zásad. Můžete počkat na první naplánované zálohování nebo kdykoli aktivovat zálohování na vyžádání.

Aktivace zálohování na vyžádání je operace POST .

Poznámka:

Doba uchovávání této zálohy je určena typem běhu zálohy na vyžádání.

  • Úplné zálohování na vyžádání uchovává minimálně 45 dní a maximálně 99 let.
  • Plná kopie na vyžádání přijímá libovolnou hodnotu pro uchování.
  • Rozdílová záloha na vyžádání uchovává zálohy podle zásad pro uchovávání plánovaných rozdílových záloh.
  • Protokol na vyžádání uchovává zálohy podle zásad uchovávání naplánovaných protokolů, jak jsou nastavené v zásadách.
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

{containerName} a {protectedItemName} jsou, jak je uvedeno výše, vytvořené při povolování zálohování. V našem příkladu se to překládá na:

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

Vytvoření textu požadavku

Pomocí následujícího textu požadavku vytvořte úplné zálohování na vyžádání.

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

Odpovědi na operaci zálohování na vyžádání

Aktivace zálohování na vyžádání je asynchronní operace. To znamená, že tato operace vytvoří jinou operaci, která se musí sledovat samostatně.

Vrátí dvě odpovědi: 202 (Přijato) při vytvoření jiné operace a 200 (OK) po dokončení této operace.

Ukázkové odpovědi na operaci zálohování na vyžádání

Jakmile odešlete požadavek POST na zálohování na vyžádání, počáteční odpověď je 202 (Přijato) s hlavičkou Location nebo hlavičkou 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

Pak pomocí hlavičky umístění nebo hlavičky Azure-AsyncOperation sledujte výslednou operaci pomocí příkazu GET .

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

Po dokončení operace vrátí hodnotu 200 (OK) s ID výsledné úlohy zálohování v těle odpovědi.

Ukázkový text odpovědi

{
  "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"
  }
}

Vzhledem k tomu, že úloha zálohování je dlouhotrvající operace, je potřeba ji sledovat, jak je vysvětleno v úlohách monitorování pomocí dokumentu rozhraní REST API.

Další kroky