Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Ten artykuł opisuje, jak zarządzać bazą danych przesyłania strumieniowego SQL Server oraz kopiami zapasowymi migawek instancji za pomocą Azure PowerShell. Aby skonfigurować kopie zapasowe lub odzyskać dane, zobacz Backup i Przywracanie.
Prerequisites
- Zainstaluj najnowszy moduł Azure PowerShell, w tym Az.RecoveryServices. Przykłady snapshotów wymagają obsługi
MSSQLInstance. - Posiadaj zarejestrowaną maszynę wirtualną SQL oraz chronioną bazę danych lub instancję. Przejrzyj matrycę wsparcia kopii zapasowych SQL Server.
- Zamień wartości w nawiasach kątowych. Zaloguj się do subskrypcji zawierającej magazyn i pobierz z niego obiekt:
Connect-AzAccount
Select-AzSubscription -SubscriptionId "<vault-subscription-id>"
$vault = Get-AzRecoveryServicesVault -ResourceGroupName "<vault-rg>" -Name "<vault-name>"
Znajdź komponenty SQL i chronione elementy
Lista elementów możliwych do ochrony
Discovery używa MSSQL do wyświetlania instancji SQL, grup dostępności i baz danych. Aby wybrać instancję, należy określić SQLInstance, jej nazwę oraz jej serwer:
Get-AzRecoveryServicesBackupProtectableItem -WorkloadType MSSQL -VaultId $vault.ID
$instance = Get-AzRecoveryServicesBackupProtectableItem -WorkloadType MSSQL `
-ItemType SQLInstance -Name "<instance-name>" -ServerName "<vm-name>" `
-VaultId $vault.ID
Wyświetl instancje chronione przez snapshoty
Użyj MSSQLInstance, aby odzyskać chronione elementy instancji z całego skarbca:
Get-AzRecoveryServicesBackupItem -BackupManagementType AzureWorkload `
-WorkloadType MSSQLInstance -VaultId $vault.ID
Aby ograniczyć wyszukiwanie do jednej maszyny wirtualnej, najpierw wybierz jej kontener.
Get-AzRecoveryServicesBackupItem nie ma parametru -ServerName :
$container = Get-AzRecoveryServicesBackupContainer -ContainerType AzureVMAppContainer `
-BackupManagementType AzureWorkload -FriendlyName "<vm-name>" -VaultId $vault.ID
$instanceItem = Get-AzRecoveryServicesBackupItem -Container $container `
-WorkloadType MSSQLInstance -Name "sqlinstance;<instance-name>" -VaultId $vault.ID
Wybierz element bazy danych
Użyj MSSQL dla elementu bazy danych, w tym bazy danych chronionej zasadą migawki instancji:
$databaseItem = Get-AzRecoveryServicesBackupItem -Container $container `
-WorkloadType MSSQL -Name "SQLDataBase;<instance-name>;<database-name>" -VaultId $vault.ID
Poniższe przykłady używają $item jako chronionego elementu do zarządzania. Wybierz jedno z następujących zadań dla zamierzonego zakresu:
$item = $instanceItem
Albo dla bazy danych:
$item = $databaseItem
Monitorowanie zadań
Polecenia kopii zapasowej i przywracania zwracają identyfikator zadania. Użyj Get-AzRecoveryServicesBackupJobDetail , aby pobrać szczegóły zadania:
Get-AzRecoveryServicesBackupJobDetail -JobId "<job-id>" -VaultId $vault.ID
Aby znaleźć zadania obciążenia w toku:
Get-AzRecoveryServicesBackupJob -Status InProgress `
-BackupManagementType AzureWorkload -VaultId $vault.ID
Aby wykonać obsługiwane anulowanie, pobierz zadanie i przekaż je do polecenia Stop-AzRecoveryServicesBackupJob:
$job = Get-AzRecoveryServicesBackupJob -JobId "<job-id>" -VaultId $vault.ID
Stop-AzRecoveryServicesBackupJob -Job $job -VaultId $vault.ID
Dla strumieniowania kopii zapasowych SQL śledzenie zadań PowerShell obejmuje operacje wyzwalane przez użytkownika. Używaj Azure Monitor do monitorowania zaplanowanych kopii zapasowych oraz alertów kopii zapasowych dotyczących awarii.
Zmień politykę kopii zapasowych elementu
Pobierz politykę zgodną z obciążeniem i typem ochrony wybranego elementu, a następnie włącz ochronę za pomocą nowej polityki. Dla instancji chronionej przez MSSQLInstance snapshot wybierz politykę snapshot:
$targetPolicy = Get-AzRecoveryServicesBackupProtectionPolicy -Name "<target-policy-name>" `
-VaultId $vault.ID
Enable-AzRecoveryServicesBackupProtection -Item $item -Policy $targetPolicy -VaultId $vault.ID
Aby skonfigurować wybrane bazy danych instancji, użyj przykładu ochrony migawek.
Edytowanie istniejących zasad
Pobierz politykę i pobierz obiekty harmonogramu oraz retencji dla jej typu obciążenia roboczego. Ten przykład wykorzystuje zasady dotyczące strumieniowej bazy danych:
$policy = Get-AzRecoveryServicesBackupProtectionPolicy -Name "<streaming-policy-name>" `
-VaultId $vault.ID
$schedule = Get-AzRecoveryServicesBackupSchedulePolicyObject -WorkloadType MSSQL
$retention = Get-AzRecoveryServicesBackupRetentionPolicyObject -WorkloadType MSSQL
$schedule.FullBackupSchedulePolicy.ScheduleRunTimes[0] = `
(Get-Date "2026-10-19T01:30:00Z").ToUniversalTime()
Przejrzyj i dostosuj pełny harmonogram oraz ustawienia retencji przed ich zastosowaniem. Domyślne obiekty zasad mogą różnić się od istniejącej zasady. Zastosowanie zmiany zasad wpływa na powiązane elementy kopii zapasowej:
Set-AzRecoveryServicesBackupProtectionPolicy -Policy $policy `
-SchedulePolicy $schedule -RetentionPolicy $retention -VaultId $vault.ID
Jeśli aktualizacja polityki dla niektórych przedmiotów nie powiodła się, sprawdź nieudane zadania. Po rozwiązaniu przyczyny spróbuj ponownie wykonać te niespójne elementy:
Set-AzRecoveryServicesBackupProtectionPolicy -Policy $policy `
-FixForInconsistentItems -VaultId $vault.ID
Przykłady harmonogramu snapshot i obiektów retencji można znaleźć w artykule Utwórz politykę snapshot.
Zatrzymaj ochronę
Upewnij się, że $item to baza danych lub instancja, której potrzebujesz, przed zatrzymaniem ochrony. Wyłączenie ochrony dla instancji wpływa na bazy danych chronione przez tę instancję.
Zachowaj dane kopii zapasowej
Zatrzymaj zaplanowane kopie zapasowe, zachowując istniejące punkty odzyskiwania:
Disable-AzRecoveryServicesBackupProtection -Item $item -VaultId $vault.ID
Cmdlet prosi o potwierdzenie. Dodawaj -Force tylko wtedy, gdy twoja automatyzacja obsługuje potwierdzenie.
Usuwanie danych kopii zapasowej
Warning
Następująca komenda żąda usunięcia punktów odzyskiwania wybranego elementu. Przed kontynuowaniem sprawdź element i wymagania dotyczące retencji. Niezmienność magazynu i ustawienia miękkiego usuwania mogą wpływać na sposób usuwania.
Disable-AzRecoveryServicesBackupProtection -Item $item `
-RemoveRecoveryPoints -VaultId $vault.ID
Wyłącz ochronę strumieniowania w czasie rzeczywistym
Wypisz instancje z włączoną autoochroną, wybierz zamierzoną instancję i wyłącz autoochronę dla przyszłych baz danych:
Get-AzRecoveryServicesBackupProtectableItem -WorkloadType MSSQL -VaultId $vault.ID | `
Where-Object { $_.IsAutoProtected -eq $true }
$instance = Get-AzRecoveryServicesBackupProtectableItem -WorkloadType MSSQL `
-ItemType SQLInstance -Name "<instance-name>" -ServerName "<vm-name>" -VaultId $vault.ID
Disable-AzRecoveryServicesBackupAutoProtection -InputItem $instance `
-BackupManagementType AzureWorkload -WorkloadType MSSQL -VaultId $vault.ID
Re-register a SQL VM
Warning
Ponowna rejestracja to operacja diagnostyczna. Przejrzyj niepowodzenia w ponownej rejestracji przed jego użyciem.
W przypadku strumieniowego obciążenia SQL pobierz zarejestrowany kontener i prześlij ponowną rejestrację:
$container = Get-AzRecoveryServicesBackupContainer -ContainerType AzureVMAppContainer `
-BackupManagementType AzureWorkload -FriendlyName "<vm-name>" -VaultId $vault.ID
Register-AzRecoveryServicesBackupContainer -Container $container `
-BackupManagementType AzureWorkload -WorkloadType MSSQL -VaultId $vault.ID
Wyrejestruj maszynę wirtualną SQL
Odrejestruj maszynę wirtualną dopiero wtedy, gdy wszystkie jej bazy danych i instancje nie są już chronione i nie pozostały żadne dane kopii zapasowej. Dezrejestracja dotyczy całego kontenera aplikacji VM, a nie jednej bazy danych:
$container = Get-AzRecoveryServicesBackupContainer -ContainerType AzureVMAppContainer `
-BackupManagementType AzureWorkload -FriendlyName "<vm-name>" -VaultId $vault.ID
Unregister-AzRecoveryServicesBackupContainer -Container $container -VaultId $vault.ID
Cmdlet prosi o potwierdzenie.
-Force pomija potwierdzenie; -PassThru zwraca obiekt kontenera.
Grupy dostępności SQL Always On
Rejestruj każdy węzeł grupy dostępności przed wykryciem jej komponentów SQL. Discovery wykrywa grupę dostępności i jej bazy danych, wraz z oddzielnymi instancjami SQL i bazami danych każdego węzła. Używaj nazw zwróconych elementów i kontenerów, aby odróżnić bazy danych grup dostępności od baz danych lokalnych dla węzła. Więcej informacji można znaleźć w sekcji kopie zapasowe grup dostępności programu SQL Server.