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.
Gilt für:Azure SQL Managed Instance
In diesem Artikel wird beschrieben, wie Sie eine Datenbank online zwischen Instanzen in Azure SQL Managed Instance kopieren oder verschieben. Sowohl Datenbankkopien- als auch Verschiebungsvorgänge werden in verschiedenen Azure-Abonnements innerhalb desselben Azure-Mandanten unterstützt.
Übersicht
Sie können eine Onlinekopie oder einen Verschiebungsvorgang einer Datenbank in sql-verwalteten Instanzen ausführen, indem Sie die Always On-Verfügbarkeitsgruppentechnologie verwenden. Das Feature zum Kopieren und Verschieben erstellt eine neue Datenbank auf der Zielinstanz als Kopie der Quelldatenbank. Mit diesem Feature erfolgt die Datenreplikation kontinuierlich, asynchron und in Quasi-Echtzeit.
Wenn Sie eine Datenbank kopieren , bleibt die Quelldatenbank während des Vorgangs online und nach Abschluss des Vorgangs.
Umgekehrt wird die Quelldatenbank nach Abschluss des Vorgangs gelöscht, wenn Sie eine Datenbank verschieben .
Sie können mehrere Vorgänge zum Kopieren und Verschieben von Datenbanken von der SQL-Quellinstanz aus in eine oder mehrere Zielinstanzen ausführen.
Das Kopieren und Verschieben einer Datenbank unterscheidet sich von der Point-in-Time-Wiederherstellung (PITR), da sie nach Abschluss des Vorgangs eine Kopie der Datenbank erstellt. Bei der Zeitpunktwiederherstellung wird eine Kopie der Datenbank aus einem angegebenen Moment in der Vergangenheit erstellt.
Wichtig
Wenn Sie eine Datenbank an ein neues Ziel verschieben, werden vorhandene Sicherungen für die Zeitpunktwiederherstellung nicht mit der Datenbank verschoben und sind nicht verfügbar. Die Datenbank startet eine neue Sicherungskette auf der Zielinstanz, sobald der Verschiebevorgang abgeschlossen ist.
Verwenden dieses Features
Das Verschieben oder Kopieren einer Datenbank ist für Folgendes nützlich:
- Verwalten von Datenbankwachstum und Leistungsanforderungen.
- Ausgleichen von Arbeitslasten über mehrere SQL-verwaltete Instanzen.
- Verschieben Sie Datenbanken in eine Instanz mit mehr verfügbaren Ressourcen für die Verarbeitung der Workload.
- Konsolidieren mehrerer Datenbanken aus mehreren Instanzen.
- Erstellen einer Datenbankparität zwischen Entwicklungs-, Test- und Produktionsumgebungen.
Workflow
Im Folgenden sehen Sie den Workflow für das Kopieren oder Verschieben einer Datenbank:
Wählen Sie die Datenbank, die verwaltete SQL-Quellinstanz und die Zielinstanz aus, und starten Sie den Vorgang.
Die Datenbank wird an die Zielinstanz gesendet. Überprüfen Sie den Status des Vorgangs, um festzustellen, ob er noch ausgeführt oder abgeschlossen ist.
Nach Abschluss des Seedings wird als Vorgangsstatus Zum Abschluss bereit angezeigt.
Bis der Vorgang manuell abgeschlossen ist, werden alle Änderungen, die mit der Quelldatenbank geschehen, auf die Zieldatenbank angewendet. Sie können den Vorgang jederzeit abbrechen. Sie haben 24 Stunden Zeit, um den Vorgang explizit abzuschließen. Wenn Sie ihn nicht innerhalb von 24 Stunden abschließen, wird der Vorgang automatisch abgebrochen, und die Zieldatenbank wird gelöscht.
Nachdem der Vorgang manuelle abgeschlossen wurde, geht Ihre Zieldatenbank online und ist für Lese- und Schreibworkloads bereit.
Wenn Sie die Datenbank verschieben möchten, wird die Quelldatenbank gelöscht. Wenn Sie die Datenbank kopieren, bleibt die Quelldatenbank online, die Datensynchronisation wird jedoch beendet.
Ein Beispielworkflow für einen Verschiebungsvorgang ist im folgenden Diagramm dargestellt:
Der Entwurf des Datenbankverschiebungsvorgangs garantiert keinen Datenverlust. Wenn ein Benutzer den Verschiebungsvorgang abgeschlossen hat, akzeptiert die Quelldatenbank keine Arbeitslasten mehr, und die Transaktion wird in die Zieldatenbank repliziert. Erst dann wird die Zieldatenbank online, und die Quelldatenbank wird gelöscht. Mit diesem Entwurf wird sichergestellt, dass alle Daten aus der Quelldatenbank in die Zieldatenbank verschoben werden.
Der Datenbankkopievorgang ähnelt dem Verschieben der Datenbank. Der einzige wichtige Unterschied besteht darin, wie der Vorgang endet. Durch das Abschließen des Datenbankkopievorgangs wird die Replikation des Transaktionsprotokolls in die Zieldatenbank beendet. Obwohl der Benutzer den Befehl explizit ausgibt, um den Kopiervorgang abzuschließen, steuert der Benutzer nicht den genauen Moment, in dem die Protokollreplikation beendet wird. Schließlich sind Quell- und Zieldatenbanken online, unabhängig und bereit für Lese-/Schreibzugriff.
Voraussetzungen
Bevor Sie eine Datenbank kopieren oder verschieben können, müssen die folgenden Anforderungen erfüllt sein:
- Sie müssen über Leseberechtigungen für die Ressourcengruppe verfügen, die die von SQL verwaltete Quellinstanz enthält, und Sie müssen Schreibberechtigungen auf Datenbankebene für die Quell- und Zielinstanzen besitzen.
- Wenn sich die Quell- und Zielinstanzen in unterschiedlichen virtuellen Netzwerken befinden, muss Netzwerkkonnektivität zwischen den virtuellen Netzwerken der beiden Instanzen bestehen, z. B. durch Peering virtueller Azure-Netzwerke. Außerdem muss ein- und ausgehender Datenverkehr an Port 5022 und dem Portbereich 11000-11999 für das TCP-Protokoll zugelassen werden. Diese Anforderung gilt sowohl für Subnetze, die die Quelle als auch die Zielinstanz hosten. Weitere Informationen finden Sie unter Einrichten der Netzwerkkonnektivität zwischen Instanzen in verschiedenen Azure VNets.
Kopieren oder Verschieben einer Datenbank
Sie können eine Datenbank mithilfe des Azure-Portals in eine andere von SQL verwaltete Instanz kopieren oder verschieben. Gehen Sie folgendermaßen vor:
Wechseln Sie im Azure-Portal zu Ihrer sql-verwalteten Instanz.
Wählen Sie unter Datenverwaltung die Option Datenbanken aus.
Wählen Sie mindestens eine Datenbank und dann am oberen Rand des Bereichs entweder Kopieren oder Verschieben aus.
Wenn Sie Verschieben auswählen, wird die Quelldatenbank nach Abschluss des Vorgangs gelöscht, während die Quelldatenbank bei Kopieren nach Abschluss des Vorgangs online bleibt. Wenn Sie eine der beiden Optionen auswählen, wird die Seite Move Managed Database (Verwaltete Datenbank verschieben) oder Copy Managed Database (Verwaltete Datenbank kopieren) geöffnet. Nachdem die Seite geöffnet wurde, können Sie mehrere Datenbanken auswählen, die in den Vorgang einbezogen werden sollen.
Geben Sie im Bereich "Quelldetails " Details für die Quelldatenbank und die verwaltete SQL-Instanz an.
Geben Sie im Bereich "Zieldetails " Details für die verwaltete SQL-Zielinstanz an.
Wählen Sie Review + Start (Überprüfen + Starten) aus, um Ihre Quell- und Zieldetails zu überprüfen, und wählen Sie dann Start aus, um den Vorgang zu starten.
Wenn Sie Start auswählen, gelangen Sie wieder zur Seite Datenbanken für Ihre Instanz, auf der Sie den Fortschritt des Vorgangs überwachen können.
Überprüfen Sie auf der Seite Datenbanken in der Spalte Vorgangsdetails, ob der Status Ihres Vorgangs Verschieben wird ausgeführt bzw. Kopieren wird ausgeführt lautet.
Wenn Sie den Vorgang abbrechen müssen, können Sie die Option In Bearbeitung sowie die verwendete Datenbank und dann Vorgang abbrechen auswählen, um das Seeding zu beenden und die Zieldatenbank löschen.
Überwachen Sie den Vorgang. Nach Abschluss des Seedings wird in der Spalte Vorgangsdetails der Status Verschieben bereit für den Abschluss oder Kopieren bereit für den Abschluss angezeigt.
Wählen Sie Zum Abschluss bereit aus, um die Spalte Vorgangsdetails zu öffnen. Wählen Sie die Datenbank aus, die Sie kopieren oder verschieben möchten, und wählen Sie dann Abschließen aus, um den Vorgang abzuschließen und die Zieldatenbank online zu schalten.
An der Quelldatenbank vorgenommene Änderungen werden während dieser Zeit in die Zieldatenbank repliziert, bis Sie Abschließen auswählen. Wenn Sie ihn nicht innerhalb von 24 Stunden abschließen, wird der Vorgang automatisch abgebrochen, und die Zieldatenbank wird gelöscht. Wenn Sie Abschließen auswählen, wird der Vorgang abgeschlossen, und Sie gelangen zurück zur Seite Datenbanken, auf der Sie überprüfen können, ob der Vorgang abgeschlossen wurde.
Wenn Sie die Datenbank verschoben haben, ist der Datenbankname nicht verfügbar, da er jetzt offline ist.
Leistung von Kopier- und Verschiebungsvorgängen
Sowohl Datenbankkopie- als auch Verschiebungsvorgänge weisen zwei Phasen auf. Die erste Phase ist das initiale Seeding und die zweite die Replikation der Änderungen von der Quelldatenbank zur Zieldatenbank. Normalerweise ist das initiale Seeding die anspruchsvollere Phase des Vorgangs. Die Zeit, die für das initiale Seeding benötigt wird, hängt von der Größe der Daten und der Anzahl der aktiven Kopier- oder Verschiebungsvorgänge ab. Die Intensität der Arbeitslast, die auf der verwalteten Quell- und Zielinstanz von Azure SQL stattfindet, sowie die Geschwindigkeit des Netzwerks zwischen Quelle und Ziel beeinflussen ebenfalls die Keimrate. Unter optimalen Umständen und wenn die Verbindung zwischen Quelle und Ziel mithilfe des empfohlenen globalen virtuellen Netzwerk-Peerings hergestellt wird, beträgt die Datenübertragungsgeschwindigkeit bis zu 360 GB pro Stunde. Der Seedingprozess und seine Geschwindigkeit können über den DMV sys.dm_hadr_physical_seeding_stats überwacht werden.
SELECT
role_desc,
transfer_rate_bytes_per_second,
transferred_size_bytes,
database_size_bytes,
start_time_utc,
estimate_time_complete_utc,
end_time_utc,
local_physical_seeding_id
FROM
sys.dm_hadr_physical_seeding_stats;
Begrenzungen
Beachten Sie die folgenden Einschränkungen des Features zum Kopieren und Verschieben:
- Die Quell- und Zielinstanzen dürfen nicht identisch sein.
- Die Quellinstanz und die Zielinstanz müssen sich beide in derselben Azure-Region befinden.
- Sie können Benutzerdatenbanken nur kopieren und verschieben. Das Kopieren und Verschieben von Systemdatenbanken wird nicht unterstützt.
- Für eine Datenbank kann jeweils nur ein einziger Verschiebe- oder Kopiervorgang durchgeführt werden.
- Für die Quellinstanz können bis zu acht Kopier- oder Verschiebevorgänge gleichzeitig ausgeführt werden. Sie können mehr als acht Vorgänge starten, aber einige werden in die Warteschlange eingereiht und später verarbeitet, wie vom Dienst verwaltet.
- Sie können eine Datenbank während eines Kopier- oder Verschiebevorgangs nicht umbenennen.
- Datenbanktags werden nicht mit Kopier- oder Verschiebungsvorgängen kopiert.
- Durch das Kopieren und Verschieben von Datenbanken werden keine Sicherungen für die Zeitpunktwiederherstellung kopiert oder verschoben.
- Sie können keine Datenbank kopieren oder verschieben, die Teil einer Failovergruppe ist oder den Managed Instance-Link verwendet.
- Die von SQL verwaltete Quell- oder Zielinstanz sollte nicht mit einer Failovergruppe (Geo-Notfallwiederherstellung) konfiguriert werden.
- Sie müssen die Transaktionsreplikation neu konfigurieren, die Datenerfassung (Data Capture, CDC) oder verteilte Transaktionen ändern, nachdem Sie eine Datenbank verschoben haben, die auf diesen Features basiert.
- Wenn die Quelldatenbank einen kundenseitig verwalteten Schlüssel (Customer Managed Key, CMK) als TDE-Schutz verwendet, muss die Zielinstanz zum Kopieren oder Bewegen der Datenbank zur SQL Managed Zielinstance Zugriff auf denselben Schlüssel haben, der zur Verschlüsselung der Quelldatenbank in Azure Key Vault verwendet wurde.
- Datenbanken können nur auf Instanzen kopiert oder verlegt werden, die über übereinstimmende oder höhere Versionen gemäß den Update-Richtlinien verfügen. Beispielsweise kann eine Datenbank aus einer Instanz, die mit der Always-up-to-Updaterichtlinie konfiguriert ist, nicht kopiert oder in eine Instanz verschoben werden, die mit der SQL Server 2022 - oder SQL Server 2025-Updaterichtlinie konfiguriert ist. Sobald eine Datenbank mit einer Richtlinie für eine höhere Versionsaktualisierung in eine Instanz kopiert oder verschoben wurde, kann sie nicht kopiert oder in eine Instanz verschoben werden, die mit einer Richtlinie für eine niedrigere Versionsaktualisierung konfiguriert ist.
Zugehöriger Inhalt
Weitere Dokumentation zum Kopieren und Verschieben von Datenbanken.
- Die Azure PowerShell-Dokumentation zum Datenbankkopiervorgang und Datenbankverschiebungsvorgang.
- Die Azure CLI-Dokumentation zum Datenbankkopiervorgang und Datenbankverschiebungsvorgang.
- Herstellen der Konnektivität zwischen SQL Managed Instances.
Weitere Datenverschiebungsoptionen finden Sie unter: