SQL-adatbázisok kezelése Azure-beli virtuális gépen az Azure CLI használatával
Az Azure CLI-vel Azure-erőforrásokat hozhat létre és kezelhet a parancssorból vagy szkripteken keresztül. Ez a cikk azt ismerteti, hogyan felügyelhet egy azure-beli virtuális gépen található, biztonsági mentéssel rendelkező SQL-adatbázist az Azure CLI használatával. Ezeket a műveleteket a Azure Portal is végrehajthatja.
Ebből a cikkből megtudhatja, hogyan:
- Biztonsági mentési és visszaállítási feladatok monitorozása
- SQL-példányhoz hozzáadott új adatbázisok védelme
- Szabályzat módosítása
- A védelem kikapcsolása
- Védelem folytatása
Ha sql-adatbázis biztonsági mentését használta az Azure-ban a parancssori felület használatával az SQL-adatbázis biztonsági mentéséhez, akkor a következő erőforrásokat használja:
- SqlResourceGroup nevű erőforráscsoport
- SqlVault nevű tároló
- VMAppContainer nevű védett tároló; Kiszámítható; SQLResourceGroup;testSQLVM
- Biztonsági mentési adatbázis/ sqldatabase nevű elem;mssqlserver;master
- Erőforrások a westus2 régióban
Az Azure CLI megkönnyíti a Azure Backup használatával biztonsági másolatot készítő Azure-beli virtuális gépen futó SQL-adatbázisok kezelését. Az alábbi szakaszok az egyes felügyeleti műveleteket ismertetik.
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 .
Biztonsági mentési és visszaállítási feladatok monitorozása
Az az backup job list paranccsal monitorozza a befejezett vagy jelenleg futó feladatokat (biztonsági mentés vagy visszaállítás). A parancssori felület lehetővé teszi az aktuálisan futó feladatok felfüggesztését , vagy megvárhatja, amíg egy feladat befejeződik.
az backup job list --resource-group SQLResourceGroup \
--vault-name SQLVault \
--output table
A kimenet a következőképpen jelenik meg:
Name Operation Status Item Name Start Time UTC
------------------------------------ --------------- --------- ---------- -------------------
e0f15dae-7cac-4475-a833-f52c50e5b6c3 ConfigureBackup Completed master [testSQLVM] 2019-12-03T03:09:210831+00:00
ccdb4dce-8b15-47c5-8c46-b0985352238f Backup (Full) Completed master [testSQLVM] 2019-12-01T10:30:58.867489+00:00
4980af91-1090-49a6-ab96-13bc905a5282 Backup (Differential) Completed master [testSQLVM] 2019-12-01T10:36:00.563909+00:00
F7c68818-039f-4a0f-8d73-e0747e68a813 Restore (Log) Completed master [testSQLVM] 2019-12-03T05:44:51.081607+00:00
Szabályzat módosítása
Az SQL biztonsági mentési konfigurációja alapjául szolgáló szabályzat módosításához használja az az backup policy set parancsot. A parancsban szereplő névparaméter arra a biztonsági mentési elemre hivatkozik, amelynek a házirendjét módosítani szeretné. Itt cserélje le az sqldatabase;mssqlserver;master SQL-adatbázis szabályzatát egy új newSQLPolicy szabályzatra. Új szabályzatokat az az backup policy create paranccsal hozhat létre.
az backup item set-policy --resource-group SQLResourceGroup \
--vault-name SQLVault \
--container-name VMAppContainer;Compute;SQLResourceGroup;testSQLVM \
--policy-name newSQLPolicy \
--name sqldatabase;mssqlserver;master \
A kimenet a következőképpen jelenik meg:
Name Operation Status Item Name Backup Management Type Start Time UTC Duration
------------------------------------ --------------- --------- ----------- ------------------------ -------------------------------- --------------
ba350996-99ea-46b1-aae2-e2096c1e28cd ConfigureBackup Completed master AzureWorkload 2022-06-22T08:24:03.958001+00:00 0:01:12.435765
Különbségi biztonsági mentési szabályzat létrehozása
Különbségi biztonsági mentési szabályzat létrehozásához használja az az backup policy create parancsot a következő paraméterekkel:
- --backup-management-type: Azure Workload.
- --workload-type: SQL DataBase.
- --name: A szabályzat neve.
- --policy: JSON-fájl az ütemezés és a megőrzés megfelelő részleteivel.
- --resource-group: A tároló erőforráscsoportja.
- --vault-name: A tároló neve/
Példa:
az backup policy create --resource-group SQLResourceGroup --vault-name SQLVault --name SQLPolicy --backup-management-type AzureWorkload --policy SQLPolicy.json --workload-type SQLDataBase
JSON-minta (sqlpolicy.json):
"eTag": null,
"id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SQLResourceGroup/providers/Microsoft.RecoveryServices/vaults/SQLVault/backupPolicies/SQLPolicy",
"location": null,
"name": "sqlpolicy",
"properties": {
"backupManagementType": "AzureWorkload",
"workLoadType": "SQLDataBase",
"settings": {
"timeZone": "UTC",
"issqlcompression": false,
"isCompression": false
},
"subProtectionPolicy": [
{
"policyType": "Full",
"schedulePolicy": {
"schedulePolicyType": "SimpleSchedulePolicy",
"scheduleRunFrequency": "Weekly",
"scheduleRunDays": [
"Sunday"
],
"scheduleRunTimes": [
"2022-06-13T19:30:00Z"
],
"scheduleWeeklyFrequency": 0
},
"retentionPolicy": {
"retentionPolicyType": "LongTermRetentionPolicy",
"weeklySchedule": {
"daysOfTheWeek": [
"Sunday"
],
"retentionTimes": [
"2022-06-13T19:30:00Z"
],
"retentionDuration": {
"count": 104,
"durationType": "Weeks"
}
},
"monthlySchedule": {
"retentionScheduleFormatType": "Weekly",
"retentionScheduleWeekly": {
"daysOfTheWeek": [
"Sunday"
],
"weeksOfTheMonth": [
"First"
]
},
"retentionTimes": [
"2022-06-13T19:30:00Z"
],
"retentionDuration": {
"count": 60,
"durationType": "Months"
}
},
"yearlySchedule": {
"retentionScheduleFormatType": "Weekly",
"monthsOfYear": [
"January"
],
"retentionScheduleWeekly": {
"daysOfTheWeek": [
"Sunday"
],
"weeksOfTheMonth": [
"First"
]
},
"retentionTimes": [
"2022-06-13T19:30:00Z"
],
"retentionDuration": {
"count": 10,
"durationType": "Years"
}
}
}
},
{
"policyType": "Differential",
"schedulePolicy": {
"schedulePolicyType": "SimpleSchedulePolicy",
"scheduleRunFrequency": "Weekly",
"scheduleRunDays": [
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
"Saturday"
],
"scheduleRunTimes": [
"2022-06-13T02:00:00Z"
],
"scheduleWeeklyFrequency": 0
},
"retentionPolicy": {
"retentionPolicyType": "SimpleRetentionPolicy",
"retentionDuration": {
"count": 30,
"durationType": "Days"
}
}
},
{
"policyType": "Log",
"schedulePolicy": {
"schedulePolicyType": "LogSchedulePolicy",
"scheduleFrequencyInMins": 120
},
"retentionPolicy": {
"retentionPolicyType": "SimpleRetentionPolicy",
"retentionDuration": {
"count": 15,
"durationType": "Days"
}
}
}
],
"protectedItemsCount": 0
},
"resourceGroup": "SQLResourceGroup",
"tags": null,
"type": "Microsoft.RecoveryServices/vaults/backupPolicies"
}
A szabályzat sikeres létrehozása után a parancs kimenete megjeleníti azt a JSON-házirendet, amelyet paraméterként adott át a parancs végrehajtása során.
A szabályzat következő szakaszát módosíthatja a különbségi biztonsági mentések szükséges biztonsági mentési gyakoriságának és megőrzésének megadásához.
Például:
{
"policyType": "Differential",
"retentionPolicy": {
"retentionDuration": {
"count": 30,
"durationType": "Days"
},
"retentionPolicyType": "SimpleRetentionPolicy"
},
"schedulePolicy": {
"schedulePolicyType": "SimpleSchedulePolicy",
"scheduleRunDays": [
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
"Saturday"
],
"scheduleRunFrequency": "Weekly",
"scheduleRunTimes": [
"2017-03-07T02:00:00+00:00"
],
"scheduleWeeklyFrequency": 0
}
}
Példa:
Ha csak szombaton szeretne különbségi biztonsági mentéseket készíteni, és 60 napig meg szeretné őrizni őket, végezze el a következő módosításokat a szabályzatban:
- Frissítse a retentionDuration számát 60 napra.
- Csak a szombatot adja meg ScheduleRunDaysként.
{
"policyType": "Differential",
"retentionPolicy": {
"retentionDuration": {
"count": 60,
"durationType": "Days"
},
"retentionPolicyType": "SimpleRetentionPolicy"
},
"schedulePolicy": {
"schedulePolicyType": "SimpleSchedulePolicy",
"scheduleRunDays": [
"Saturday"
],
"scheduleRunFrequency": "Weekly",
"scheduleRunTimes": [
"2017-03-07T02:00:00+00:00"
],
"scheduleWeeklyFrequency": 0
}
}
Az SQL-példányhoz hozzáadott új adatbázisok védelme
Ha egy SQL-példányt egy Recovery Services-tárolóval regisztrál , az automatikusan felderíti a példány összes adatbázisát.
Ha azonban később új adatbázisokat adott hozzá az SQL-példányhoz, használja az az backup protectable-item initialize parancsot. Ez a parancs felderíti a hozzáadott új adatbázisokat.
az backup protectable-item initialize --resource-group SQLResourceGroup \
--vault-name SQLVault \
--container-name VMAppContainer;Compute;SQLResourceGroup;testSQLVM \
--workload-type SQLDataBase
Ezután az az backup protectable-item list parancsmaggal listázhatja az SQL-példányon felderített összes adatbázist. Ez a lista azonban nem tartalmazza azokat az adatbázisokat, amelyeken a biztonsági mentés már konfigurálva van. A biztonsági mentéshez szükséges adatbázis felderítése után tekintse meg az SQL-adatbázis biztonsági mentésének engedélyezése című témakört.
az backup protectable-item list --resource-group SQLResourceGroup \
--vault-name SQLVault \
--workload-type SQLDataBase \
--protectable-item-type SQLDataBase \
--output table
A biztonsági másolatot készíteni kívánt új adatbázis megjelenik ebben a listában, amely a következőképpen jelenik meg:
Name Protectable Item Type ParentName ServerName IsProtected
--------------------------- ---------------------- ------------ ----------- ------------
sqldatabase;mssqlserver;db1 SQLDataBase mssqlserver testSQLVM NotProtected
sqldatabase;mssqlserver;db2 SQLDataBase mssqlserver testSQLVM NotProtected
SQL-adatbázis védelmének leállítása
Az SQL-adatbázisok védelmét a következő folyamatokban állíthatja le:
- Állítsa le az összes jövőbeli biztonsági mentési feladatot, és törölje az összes helyreállítási pontot.
- Állítsa le az összes jövőbeli biztonsági mentési feladatot, és hagyja érintetlenül a helyreállítási pontokat.
Ha úgy dönt, hogy elhagyja a helyreállítási pontokat, vegye figyelembe az alábbi részleteket:
- Minden helyreállítási pont örökre érintetlen marad, és minden metszés leáll a védelem leállításakor az adatok megőrzésével.
- A védett példányért és a felhasznált tárterületért díjat számítunk fel.
- Ha a biztonsági másolatok leállítása nélkül töröl egy adatforrást, az új biztonsági mentések sikertelenek lesznek.
A védelem leállítására szolgáló folyamatokat az alábbiakban találja.
Védelem leállítása az adatok megőrzésével
Az adatok megőrzésével történő védelem leállításához használja az az backup protection disable' parancsot.
az backup protection disable --resource-group SQLResourceGroup \
--vault-name SQLVault \
--container-name VMAppContainer;Compute;SQLResourceGroup;testSQLVM \
--item-name sqldatabase;mssqlserver;master \
--workload-type SQLDataBase \
--output table
A kimenet a következőképpen jelenik meg:
Name ResourceGroup
------------------------------------ ---------------
g0f15dae-7cac-4475-d833-f52c50e5b6c3 SQLResourceGroup
A művelet állapotának ellenőrzéséhez használja az az backup job show parancsot.
Védelem leállítása az adatok megőrzése nélkül
Ha az adatok megőrzése nélkül szeretné leállítani a védelmet, használja az az backup protection disable parancsot.
az backup protection disable --resource-group SQLResourceGroup \
--vault-name SQLVault \
--container-name VMAppContainer;Compute;SQLResourceGroup;testSQLVM \
--item-name sqldatabase;mssqlserver;master \
--workload-type SQLDataBase \
--delete-backup-data true \
--output table
A kimenet a következőképpen jelenik meg:
Name ResourceGroup
------------------------------------ ---------------
g0f15dae-7cac-4475-d833-f52c50e5b6c3 SQLResourceGroup
A művelet állapotának ellenőrzéséhez használja az az backup job show parancsot.
Védelem folytatása
Ha leállítja az SQL-adatbázis védelmét az adatok megőrzésével, később folytathatja a védelmet. Ha nem őrzi meg a biztonsági mentési adatokat, nem tudja folytatni a védelmet.
A védelem folytatásához használja az az backup protection resume parancsot.
az backup protection resume --resource-group SQLResourceGroup \
--vault-name SQLVault \
--container-name VMAppContainer;Compute;SQLResourceGroup;testSQLVM \
--policy-name SQLPolicy \
--output table
A kimenet a következőképpen jelenik meg:
Name ResourceGroup
------------------------------------ ---------------
b2a7f108-1020-4529-870f-6c4c43e2bb9e SQLResourceGroup
A művelet állapotának ellenőrzéséhez használja az az backup job show parancsot.