Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Azure CLI används för att skapa och hantera Azure-resurser från kommandoraden eller via skript. Den här artikeln beskriver hur du hanterar en säkerhetskopierad SQL-databas på en virtuell Azure-dator med Hjälp av Azure CLI. Du kan också utföra dessa åtgärder med hjälp av Azure-portalen.
Anmärkning
Om du har använt Säkerhetskopiera en SQL-databas i Azure med CLI för att säkerhetskopiera din SQL-databas använder du följande resurser:
- En resursgrupp med namnet SQLResourceGroup
- Ett valv med namnet SQLVault
- Skyddad container med namnet VMAppContainer; Beräkna; SQLResourceGroup; testSQLVM
- Säkerhetskopierad databas/objekt med namnet sqldatabase; mssqlserver; mästare
- Resurser i regionen westus2
Azure CLI underlättar processen med att hantera en SQL-databas som körs på en virtuell Azure-dator som säkerhetskopieras med Hjälp av Azure Backup. I följande avsnitt beskrivs var och en av hanteringsåtgärderna.
Läs mer om konfigurationer och scenarier som stöds för SQL-säkerhetskopieringen.
Övervaka säkerhetskopierings- och återställningsjobb
Använd kommandot az backup job list för att övervaka slutförda eller pågående jobb (säkerhetskopiering eller återställning). MED CLI kan du också pausa ett jobb som körs eller vänta tills ett jobb har slutförts.
az backup job list --resource-group SQLResourceGroup \
--vault-name SQLVault \
--output table
Utdata visas som:
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
Ändra en princip
Om du vill ändra principen som ligger till grund för SQL-säkerhetskopieringskonfigurationen använder du kommandot az backup policy set . Namnparametern i det här kommandot refererar till säkerhetskopieringsobjektet vars princip du vill ändra. Ersätt principen för SQL Database sqldatabase. mssqlserver; master med en ny princip newSQLPolicy. Du kan skapa nya principer med kommandot az backup policy create .
az backup item set-policy --resource-group SQLResourceGroup \
--vault-name SQLVault \
--container-name VMAppContainer;Compute;SQLResourceGroup;testSQLVM \
--policy-name newSQLPolicy \
--name sqldatabase;mssqlserver;master \
Utdata visas som:
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
Skapa en princip för differentiell säkerhetskopiering
Om du vill skapa en princip för differentiell säkerhetskopiering använder du kommandot az backup policy create med följande parametrar:
- --backup-management-type: Azure-arbetsbelastning.
- --workload-type: SQL-databas.
- --name: Namnet på policyn.
- --policy: JSON-fil med lämpliga detaljer för tidplan och kvarhållning.
- --resource-group: Resursgrupp för valvet.
- --vault-name: Namnet på valvet/
Exempel:
az backup policy create --resource-group SQLResourceGroup --vault-name SQLVault --name SQLPolicy --backup-management-type AzureWorkload --policy SQLPolicy.json --workload-type SQLDataBase
JSON-exempel (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"
}
När policyn har skapats visar utdata från kommandot den policy-JSON som du skickade som en parameter när kommandot kördes.
Du kan ändra följande avsnitt i principen för att ange den nödvändiga säkerhetskopieringsfrekvensen och kvarhållningen för differentiella säkerhetskopior.
Till exempel:
{
"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
}
}
Exempel:
Om du bara vill ha differentiella säkerhetskopior på lördag och behålla dem i 60 dagar gör du följande ändringar i principen:
- Uppdatera kvarhållningsperioden till 60 dagar.
- Ange endast lördag som ScheduleRunDays.
{
"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
}
}
Skydda de nya databaser som läggs till i en SQL-instans
Om du registrerar en SQL-instans med ett Recovery Services-valv identifieras automatiskt alla databaser i den här instansen.
Men om du har lagt till nya databaser i SQL-instansen senare använder du kommandot az backup protectable-item initialize . Det här kommandot identifierar de nya databaser som har lagts till.
az backup protectable-item initialize --resource-group SQLResourceGroup \
--vault-name SQLVault \
--container-name VMAppContainer;Compute;SQLResourceGroup;testSQLVM \
--workload-type SQLDataBase
Använd sedan cmdleten az backup protectable-item list för att visa en lista över alla databaser som har identifierats på din SQL-instans. Den här listan utesluter dock de databaser där säkerhetskopiering redan har konfigurerats. När databasen som ska säkerhetskopieras har identifierats läser du Aktivera säkerhetskopiering i SQL-databas.
az backup protectable-item list --resource-group SQLResourceGroup \
--vault-name SQLVault \
--workload-type SQLDataBase \
--protectable-item-type SQLDataBase \
--output table
Den nya databas som du vill säkerhetskopiera visas i den här listan, som visas som:
Name Protectable Item Type ParentName ServerName IsProtected
--------------------------- ---------------------- ------------ ----------- ------------
sqldatabase;mssqlserver;db1 SQLDataBase mssqlserver testSQLVM NotProtected
sqldatabase;mssqlserver;db2 SQLDataBase mssqlserver testSQLVM NotProtected
Stoppa skyddet för en SQL-databas
Du kan sluta skydda en SQL-databas i följande processer:
- Stoppa alla framtida säkerhetskopieringsjobb och ta bort alla återställningspunkter.
- Stoppa alla framtida säkerhetskopieringsjobb och lämna återställningspunkterna intakta.
Om du väljer att lämna återställningspunkter bör du tänka på följande detaljer:
- Alla återställningspunkter förblir intakta för alltid och all beskärning stoppas vid stoppskydd med kvarhållningsdata.
- Du debiteras för den skyddade instansen och det förbrukade lagringsutrymmet.
- Om du tar bort en datakälla utan att stoppa säkerhetskopior misslyckas nya säkerhetskopior.
Processerna för att stoppa skyddet beskrivs nedan.
Avbryt skyddet med kvarhållning av data
Om du vill stoppa skyddet med kvarhållningsdata använder du kommandot az backup protection disable.
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
Utdata visas som:
Name ResourceGroup
------------------------------------ ---------------
g0f15dae-7cac-4475-d833-f52c50e5b6c3 SQLResourceGroup
Om du vill verifiera statusen för den här åtgärden använder du kommandot az backup job show .
Stoppa skyddet utan att behålla data
Om du vill stoppa skyddet utan att behålla data använder du kommandot az backup protection disable .
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
Utdata visas som:
Name ResourceGroup
------------------------------------ ---------------
g0f15dae-7cac-4475-d833-f52c50e5b6c3 SQLResourceGroup
Om du vill verifiera statusen för den här åtgärden använder du kommandot az backup job show .
Återuppta skyddet
När du stoppar skyddet för SQL-databasen med kvarhållningsdata kan du återuppta skyddet senare. Om du inte behåller säkerhetskopierade data kan du inte återuppta skyddet.
Om du vill återuppta skyddet använder du kommandot az backup protection resume .
az backup protection resume --resource-group SQLResourceGroup \
--vault-name SQLVault \
--container-name VMAppContainer;Compute;SQLResourceGroup;testSQLVM \
--policy-name SQLPolicy \
--output table
Utdata visas som:
Name ResourceGroup
------------------------------------ ---------------
b2a7f108-1020-4529-870f-6c4c43e2bb9e SQLResourceGroup
Om du vill verifiera statusen för den här åtgärden använder du kommandot az backup job show .
Nästa steg
- Lär dig hur du säkerhetskopierar en SQL-databas som körs på en virtuell Azure-dator med hjälp av Azure-portalen.
- Lär dig hur du hanterar en säkerhetskopierad SQL-databas som körs på en virtuell Azure-dator med hjälp av Azure-portalen.