Megosztás a következőn keresztül:


SQL Server-adatbázisok biztonsági mentése Azure-beli virtuális gépeken az Azure Backup REST API-val történő használatával

Ez a cikk azt ismerteti, hogyan készíthet biztonsági másolatot az SQL Server-adatbázisokról Azure-beli virtuális gépeken az Azure Backup REST API-val történő használatával.

Megjegyzés:

A támogatott konfigurációkkal és forgatókönyvekkel kapcsolatos további információkért tekintse meg az SQL biztonsági mentési támogatási mátrixát .

Előfeltételek

  • Helyreállítási szolgáltatások tárolója
  • Szabályzat az SQL-adatbázisok biztonsági mentésének konfigurálásához.

További információért az új tárolók és szabályzatok létrehozásáról, tekintse meg a tároló létrehozása és szabályzat létrehozása REST API-útmutatókat.

Használja a következő erőforrásokat:

  • Helyreállítási szolgáltatások tárolója: SQLServer2012
  • Szabályzat: HourlyLogBackup
  • Erőforráscsoport: SQLServerSelfHost

Biztonsági mentés konfigurálása nem védett SQL Server-adatbázisokhoz az Azure-beli virtuális gépen

Nem védett SQL Server-adatbázisok felderítése

A tárolónak az előfizetésben lévő összes Azure-beli virtuális gépet olyan SQL-adatbázisokkal kell felderítenie, amelyekről biztonsági másolatot készíthet a Recovery Services-tárolóról. A részletek lekéréséhez indítsa el a frissítési műveletet. Ez egy aszinkron POST művelet, amely biztosítja, hogy a trezor megkapja az aktuális előfizetés összes nem védett SQL-adatbázisának legfrissebb listáját, és gyorsítótárazza azokat. Az adatbázis gyorsítótárazása után a helyreállítási szolgáltatások hozzáférhetnek az adatbázishoz, és megvédhetik azt.

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

A POST URI rendelkezik {subscriptionId}, {vaultName}és {vaultresourceGroupName}{fabricName} paraméterekkel. A következő példában a különböző paraméterek értékei a következők:

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

Mivel az URI3-ban minden szükséges paraméter meg van adva, nincs szükség külön kérelemtörzsre.

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'

A frissítési műveletre adott válaszok

A frissítési művelet aszinkron művelet. Ez azt jelenti, hogy ez a művelet létrehoz egy másik műveletet, amelyet külön kell nyomon követni.

Két választ ad vissza: 202 (Elfogadva) egy másik művelet létrehozásakor, és 200 (OK) a művelet befejezésekor.

Példa a frissítési műveletre adott válaszokra

A POST-kérelem elküldése után a rendszer 202(Elfogadott) választ ad vissza.

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

Kövesse nyomon az eredményként kapott műveletet a Hely fejléc használatával egy egyszerű GET paranccsal.

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

Az összes SQL-adatbázis felderítése után a GET parancs egy 200(tartalom nélküli) választ ad vissza. A tároló mostantól képes felderíteni az előfizetésen belül biztonsági másolatot készíthető SQL-adatbázisokkal rendelkező virtuális gépeket.

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

Virtuális gépek listázása SQL-adatbázisokkal a Recovery Services-tárolóval való biztonsági mentéshez

Annak ellenőrzéséhez, hogy a gyorsítótárazás megtörtént-e, listázza ki az előfizetésben található összes olyan virtuális gépet, amely SQL-adatbázisokat tartalmaz, amelyekről a Recovery Services-tárolóval készíthető biztonsági mentés. Ezután keresse meg a kívánt tárfiókot a válaszban. Ez a GET ProtectableContainers művelettel történik.

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'

Megjegyzés:

A GET URI az összes szükséges paramétert használja. Nincs szükség további kérelemtörzsre.

Példa a válasz törzsére:

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

Mivel a válasz törzsében található virtuális gépeket a felhasználóbarát nevükkel találjuk meg, a fent végrehajtott frissítési művelet sikeres volt. A Recovery Services-tároló mostantól sikeresen felderítheti a nem védett SQL-adatbázisokkal rendelkező virtuális gépeket ugyanabban az előfizetésben.

Virtuális gépek regisztrálása a Recovery Services tárban

Regisztrálnia kell a virtuális gépeket a Recovery Services-tárolóban, hogy az Azure Backup szolgáltatás képes legyen együttműködni a virtuális gépen belüli SQL-adatbázisokkal (az Azure-beli virtuálisgép-tároló azonosításához használja a Név mezőben szereplő értéket). Meg kell adnia a JSON-kérelemben szereplő értékeket, hogy lekérje a HTTP-kérelem törzsét a lista védhető tárolók eredményének tulajdonságokat tartalmazó zsákjából.

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

Állítsa be az URI változóit az alábbiak szerint:

  • {resourceGroupName} - SQLServerSelfHost
  • {fabricName} - Kék
  • {vaultName} - SQLServer2012
  • {containerName} – Ez a GET ProtectableContainers művelet választörzsében található névattribútum. A példánkban az attribútum neve VMAppContainer; Számlál; SQLServerPMDemo; sqlserver-0.

Megjegyzés:

Mindig használja fel a válasz névattribútumát, és töltse ki ezt a kérést. Ne rögzítse és ne hozza létre a tárolónév formátumot. Ha létrehozza vagy keményen kódolja, az API-hívás sikertelen lesz, ha a tárolónév formátuma a jövőben megváltozik.


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

A létrehozási kérés törzse a következő:

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

A kérelem törzsének és egyéb részleteinek definícióinak teljes listáját a ProtectionContainers-Register című témakörben találja.

Ez egy aszinkron művelet, és két választ ad vissza: 202 (Elfogadva) a művelet elfogadásakor, és 200 (OK) a művelet befejezésekor. A művelet állapotának nyomon követéséhez használja a hely fejlécét a művelet legújabb állapotának lekéréséhez.

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éldául így néz ki a válasz törzse, ha a művelet befejeződött:

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

A válasz törzsében található registrationstatus paraméter értékéből ellenőrizheti, hogy a regisztráció sikeres volt-e. Esetünkben az SQLServer2012-ben regisztrált állapotot jeleníti meg; így a regisztrációs művelet sikeres volt.

Az összes nem védett SQL-adatbázis lekérdezése virtuális gép alatt

A tárfiókok védhető elemeiről a Protection Containers-Inquire művelettel érdeklődhet. Ez egy aszinkron művelet, és az eredményeket a hely fejlécével kell nyomon követni.

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}

Állítsa be a fenti URI változóit az alábbiak szerint:

  • {resourceGroupName}: SQLServerSelfHost
  • {vaultName}: SQLServer2012
  • {fabricName}: Azure
  • {containerName}: Tekintse meg a GET ProtectableContainers művelet válasz törzsében található névattribútumot. A példánkban az attribútum neve VMAppContainer; Számlál; 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'

Ha a kérés sikeres, az OK állapotkódot adja vissza.

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

Jelölje ki a biztonsági másolatot készíteni kívánt adatbázisokat

Az előfizetés összes védhető elemének listázásához és a biztonsági mentéshez szükséges adatbázis megkereséséhez használja a GET backupprotectableItems műveletet.

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

Hozza létre az URI-t az alábbiak szerint:

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

Mintaválasz:

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

A válasz tartalmazza az összes nem védett adatbázis listáját, és tartalmazza az Azure Recovery Service által a biztonsági mentés konfigurálásához szükséges összes információt. Mentse az adatbázisneveket későbbi használatra.

Biztonsági mentés engedélyezése az adatbázishoz

Miután a megfelelő adatbázis azonosításra került a barátságos névvel:

  1. Válassza ki a védeni kívánt szabályzatot.
  2. Meglévő szabályzatok listázása a tárolóban, lásd a List Policy API-t.
  3. Válassza ki a megfelelő szabályzatot a szabályzat nevére hivatkozva.
  4. Házirend-oktatóanyag létrehozása.

A védelem engedélyezése egy aszinkron PUT művelet, amely védett elemet hoz létre.

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

Állítsa be a containerName és a protectedItemName változókat a GET backupprotectableitems művelet válasz törzsében található ID attribútummal.

A példánkban a védeni kívánt fájlmegosztás azonosítója a következő:

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

Kérelem törzsének létrehozása:

A következő kérelemtörzs a védett elemek létrehozásához szükséges tulajdonságokat határozza meg.

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

Miután elküldte a PUT kérést a védett elemek létrehozására vagy frissítésére, a kezdeti válasz 202 (Elfogadva) egy 'location' fejlécet tartalmazva.

Mintaválasz

A védett elemek létrehozása aszinkron művelet, amely egy másik követendő műveletet hoz létre. Két választ ad vissza: 202 (Elfogadva) egy másik művelet létrehozásakor, és 200 (OK) a művelet befejezésekor.

Miután elküldte a PUT kérést a védett elemek létrehozására vagy frissítésére, a kezdeti válasz 202 (Elfogadva) egy 'location' fejlécet tartalmazva.

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

Ezután egy GET paranccsal kövesse nyomon az eredményül kapott műveletet a helyfejléc vagy az Azure-AsyncOperation fejléc használatával.

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

Miután a művelet befejeződött, a válasz törzsében lévő védett elemtartalommal együtt 200 (OK) értéket ad vissza.

Minta válasz szöveg:

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

Ez megerősíti, hogy a védelem engedélyezve van az adatbázis számára, és az első biztonsági mentés a szabályzat ütemezésének megfelelően aktiválódik.

Igény szerinti biztonsági mentés indítása az adatbázishoz

Miután konfigurált egy adatbázist a biztonsági mentéshez, a biztonsági másolatok a szabályzat ütemezésének megfelelően futnak. Megvárhatja az első ütemezett biztonsági mentést, vagy bármikor elindíthat egy igény szerinti biztonsági mentést.

Az igény szerinti biztonsági mentés indítása POST művelet.

Megjegyzés:

A biztonsági mentés megőrzési időtartamát a futtatott igény szerinti biztonsági mentés típusa határozza meg.

  • Az igény szerinti teljes biztonsági mentés legalább 45 napig és legfeljebb 99 évig őrizhető meg.
  • Az igény szerinti teljes másolás bármilyen megőrzési értéket elfogad.
  • Az igény szerinti különbözet megtartja a biztonsági mentést a szabályzatban beállított ütemezett különbözeti adatok megőrzésének megfelelően.
  • Az igény szerinti napló megőrzi a biztonsági másolatokat a szabályzatban beállított ütemezett naplók megőrzésének megfelelően.
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

A(z) {containerName} és a {protectedItemName} a fenti módon készült a biztonsági mentés engedélyezésekor. Példánkban ez a következőt jelenti:

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

Kérelem törzsének létrehozása

Az alábbi kérelemtörzs használatával hozzon létre egy igény szerinti teljes biztonsági mentést.

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

Válaszok az igény szerinti biztonsági mentési műveletre

Az igény szerinti biztonsági mentés aktiválása aszinkron művelet. Ez azt jelenti, hogy ez a művelet létrehoz egy másik műveletet, amelyet külön kell nyomon követni.

Két választ ad vissza: 202 (Elfogadva) egy másik művelet létrehozásakor, és 200 (OK) a művelet befejezésekor.

Példa válaszok az igény szerinti biztonsági mentési műveletre

Miután elküldi a POST kérést egy igény szerinti biztonsági mentéshez, az elsőként kapott válasz 202 (Elfogadva) az elhelyezési fejléccel vagy az Azure-async-fejléccel.

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

Ezután egy GET paranccsal kövesse nyomon az eredményül kapott műveletet a helyfejléc vagy az Azure-AsyncOperation fejléc használatával.

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

Ha a művelet befejeződött, 200 (OK) értéket ad vissza az eredményül kapott biztonsági mentési feladat azonosítójával a válasz törzsében.

Minta válasz tartalom

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

Mivel a biztonsági mentési feladat egy hosszú ideig futó művelet, nyomon kell követni a REST API-dokumentumot használó monitorozási feladatokban leírtak szerint.

Következő lépések