Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Dieser Artikel beschreibt, wie man SQL Server-Streamingdatenbank- und Instanzsnapshot-Sicherungen mit Azure PowerShell verwaltet. Um Backups zu konfigurieren oder Daten wiederherzustellen, siehe Backup und Wiederherstellung.
Prerequisites
- Installiere das neueste Azure PowerShell-Modul, einschließlich Az.RecoveryServices. Snapshot-Beispiele benötigen Unterstützung für
MSSQLInstance. - Haben Sie eine registrierte SQL-VM und eine geschützte Datenbank oder Instanz. Überprüfen Sie die Supportmatrix für SQL Server-Backups.
- Werte in Winkelklammern ersetzen. Melden Sie sich bei dem Abonnement an, das den Schlüsseltresor enthält, und rufen Sie das Objekt daraus ab:
Connect-AzAccount
Select-AzSubscription -SubscriptionId "<vault-subscription-id>"
$vault = Get-AzRecoveryServicesVault -ResourceGroupName "<vault-rg>" -Name "<vault-name>"
SQL-Komponenten und geschützte Elemente finden
Liste schützbarer Komponenten
Discovery verwendet MSSQL, um SQL-Instanzen, Verfügbarkeitsgruppen und Datenbanken aufzulisten. Um eine Instanz auszuwählen, geben Sie SQLInstance, ihren Namen und ihren Server an:
Get-AzRecoveryServicesBackupProtectableItem -WorkloadType MSSQL -VaultId $vault.ID
$instance = Get-AzRecoveryServicesBackupProtectableItem -WorkloadType MSSQL `
-ItemType SQLInstance -Name "<instance-name>" -ServerName "<vm-name>" `
-VaultId $vault.ID
Snapshot-geschützte Instanzen auflisten
Verwenden Sie MSSQLInstance, um geschützte Instanz-Objekte tresorweit abzurufen:
Get-AzRecoveryServicesBackupItem -BackupManagementType AzureWorkload `
-WorkloadType MSSQLInstance -VaultId $vault.ID
Um den Lookup auf eine VM zu limitieren, wählen Sie zuerst deren Container aus.
Get-AzRecoveryServicesBackupItem hat keinen Parameter -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
Wählen Sie ein Datenbankelement aus
Verwenden Sie MSSQL für ein Datenbankelement, einschließlich einer Datenbank, die unter einer Instance Snapshot-Policy geschützt ist:
$databaseItem = Get-AzRecoveryServicesBackupItem -Container $container `
-WorkloadType MSSQL -Name "SQLDataBase;<instance-name>;<database-name>" -VaultId $vault.ID
Die folgenden Beispiele verwenden $item für das geschützte Objekt, das verwaltet werden soll. Wählen Sie eine der folgenden Zuweisungen für den vorgesehenen Umfang:
$item = $instanceItem
Oder, für eine Datenbank:
$item = $databaseItem
Jobs überwachen
Backup- und Wiederherstellungsbefehle geben eine Job-ID zurück. Verwenden Sie Get-AzRecoveryServicesBackupJobDetail, um die Jobdetails abzurufen:
Get-AzRecoveryServicesBackupJobDetail -JobId "<job-id>" -VaultId $vault.ID
Um laufende Workload-Jobs zu finden:
Get-AzRecoveryServicesBackupJob -Status InProgress `
-BackupManagementType AzureWorkload -VaultId $vault.ID
Für einen unterstützten Abbruch rufen Sie den Job ab und geben ihn an Stop-AzRecoveryServicesBackupJob weiter:
$job = Get-AzRecoveryServicesBackupJob -JobId "<job-id>" -VaultId $vault.ID
Stop-AzRecoveryServicesBackupJob -Job $job -VaultId $vault.ID
Für das Streaming von SQL-Backups deckt PowerShell-Jobverfolgung vom Benutzer ausgelöste Vorgänge ab. Verwenden Sie Azure Monitor für geplante Backup-Überwachung und Backup-Warnungen bei Ausfällen.
Ändern Sie die Backup-Richtlinie eines Elements
Rufen Sie eine Richtlinie ab, die mit der Arbeitsbelastung und dem Schutztyp des ausgewählten Elements kompatibel ist, und aktivieren Sie dann den Schutz durch die Nutzung der neuen Richtlinie. Für eine snapshot-geschützte Instanz wählen Sie eine MSSQLInstance Snapshot-Richtlinie:
$targetPolicy = Get-AzRecoveryServicesBackupProtectionPolicy -Name "<target-policy-name>" `
-VaultId $vault.ID
Enable-AzRecoveryServicesBackupProtection -Item $item -Policy $targetPolicy -VaultId $vault.ID
Um die ausgewählten Datenbanken einer Instanz zu konfigurieren, verwenden Sie das Beispiel für Snapshot-Schutz.
Bearbeiten einer vorhandenen Richtlinie
Rufen Sie die Richtlinie ab und rufen Sie Zeitplan- und Aufbewahrungsobjekte für ihren Workload-Typ ab. Dieses Beispiel verwendet eine Streaming-Datenbank-Richtlinie:
$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()
Überprüfen und passen Sie den vollständigen Zeitplan und die Retentionseinstellungen an, bevor Sie sie anwenden. Standard-Richtlinienobjekte können sich von der bestehenden Richtlinie unterscheiden. Die Anwendung einer Richtlinienänderung wirkt sich auf die zugehörigen Backup-Elemente aus:
Set-AzRecoveryServicesBackupProtectionPolicy -Policy $policy `
-SchedulePolicy $schedule -RetentionPolicy $retention -VaultId $vault.ID
Wenn das Richtlinienupdate bei einigen Elementen fehlschlägt, untersuche die fehlgeschlagenen Jobs. Nachdem du die Ursache behoben hast, versuche die inkonsistenten Punkte erneut:
Set-AzRecoveryServicesBackupProtectionPolicy -Policy $policy `
-FixForInconsistentItems -VaultId $vault.ID
Beispiele für Momentaufnahmezeitpläne und Aufbewahrungsobjekte finden Sie unter Eine Richtlinie für Momentaufnahmen erstellen.
Schutz beenden
Bestätigen Sie, dass $item die gewünschte Datenbank oder Instanz ist, bevor Sie den Schutz beenden. Das Deaktivieren des Schutzes für eine Instanz wirkt sich auf die Datenbanken aus, die durch diese Instanz geschützt werden.
Backup-Daten beibehalten
Stoppen Sie geplante Backups, während bestehende Wiederherstellungspunkte erhalten bleiben:
Disable-AzRecoveryServicesBackupProtection -Item $item -VaultId $vault.ID
Das cmdlet fordert zur Bestätigung auf. Füge nur hinzu, -Force wenn deine Automatisierung die Bestätigung übernimmt.
Löschen von Sicherungsdaten
Warning
Der folgende Befehl fordert das Löschen der Wiederherstellungspunkte des ausgewählten Elements an. Überprüfe das Element und deine Aufbewahrungsanforderungen, bevor du weitermachst. Vault-Unveränderlichkeit und Soft-Delete-Einstellungen können das Löschverhalten beeinflussen.
Disable-AzRecoveryServicesBackupProtection -Item $item `
-RemoveRecoveryPoints -VaultId $vault.ID
Den automatischen Streamingschutz deaktivieren
Zeigen Sie Instanzen mit aktiviertem autoprotection an, wählen Sie die vorgesehene Instanz aus und deaktivieren Sie autoprotection für zukünftige Datenbanken:
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
Eine SQL-VM neu registrieren
Warning
Die Neuregistrierung ist eine Maßnahme zur Fehlerbehebung. Überprüfen Sie Fehler bei der erneuten Registrierung, bevor Sie es verwenden.
Für eine Streaming-SQL-Workload rufen Sie den registrierten Container ab und reichen Sie die Neuregistrierung ein:
$container = Get-AzRecoveryServicesBackupContainer -ContainerType AzureVMAppContainer `
-BackupManagementType AzureWorkload -FriendlyName "<vm-name>" -VaultId $vault.ID
Register-AzRecoveryServicesBackupContainer -Container $container `
-BackupManagementType AzureWorkload -WorkloadType MSSQL -VaultId $vault.ID
Registrierung einer SQL-VM aufheben
Deregistrieren Sie die VM erst, wenn alle ihre Datenbanken und Instanzen nicht mehr geschützt sind und keine Sicherungsdaten mehr vorhanden sind. Die Entregistrierung gilt für den gesamten VM-Anwendungscontainer, nicht für eine einzige Datenbank:
$container = Get-AzRecoveryServicesBackupContainer -ContainerType AzureVMAppContainer `
-BackupManagementType AzureWorkload -FriendlyName "<vm-name>" -VaultId $vault.ID
Unregister-AzRecoveryServicesBackupContainer -Container $container -VaultId $vault.ID
Das CMDLET fordert zur Bestätigung auf.
-Force überspringt die Bestätigung; -PassThru gibt das Containerobjekt zurück.
SQL Always On-Verfügbarkeitsgruppen
Registrieren Sie jeden Knoten einer Verfügbarkeitsgruppe, bevor Sie deren SQL-Komponenten entdecken. Discovery listet die Verfügbarkeitsgruppe und ihre Datenbanken sowie die eigenständigen SQL-Instanzen und Datenbanken jedes Knotens auf. Verwenden Sie zurückgegebene Item- und Containernamen, um Verfügbarkeitsgruppendatenbanken von knotenlokalen Datenbanken zu unterscheiden. Weitere Informationen finden Sie unter Backups der SQL Server-Verfügbarkeitsgruppe.