Der Import/Export-Dienst von Azure SQL-Datenbank und SQL Managed Instance benötigt viel Zeit, um eine Datenbank zu importieren oder zu exportieren.

Gilt für:Azure SQL-DatenbankAzure SQL Managed Instance

Wenn Sie den Import/Export-Dienst verwenden, kann der Vorgang länger dauern als erwartet. In diesem Artikel werden die möglichen Gründe für diese Verzögerung sowie alternative Methoden zur Umgehung dieses Problems beschrieben.

Import-/Exportdienst von Azure SQL-Datenbank

Der Import-/Exportdienst von Azure SQL-Datenbank ist ein REST-basierter Webdienst, der in jedem Azure-Rechenzentrum ausgeführt wird. Dieser Dienst wird aufgerufen, wenn Sie im Azure-Portal eine der Optionen zum Importieren oder Exportieren einer Datenbank verwenden, um Ihre Datenbank zu verschieben. Der Dienst bietet kostenlose Anforderungswarteschlangen und Computedienste für Importe und Exporte zwischen Azure SQL-Datenbank und Azure Blob Storage.

Bei den Import- und Exportvorgängen handelt es sich nicht um eine herkömmliche physische Datenbanksicherung, sondern um eine logische Sicherung der Datenbank in einem speziellen BACPAC-Format. Mit dem BACPAC-Format können Sie vermeiden, ein physisches Format zu verwenden, das sich möglicherweise zwischen den Versionen von Microsoft SQL Server, Azure SQL-Datenbank und Azure SQL Managed Instance unterscheidet.

Wodurch wird der Prozess verzögert?

Der Import-/Exportdienst von Azure SQL-Datenbank stellt für die Verarbeitung von Import- und Exportvorgängen eine begrenzte Anzahl von Compute-VMs (virtual machines, virtuelle Computer) pro Region bereit. Die Compute-VMs werden pro Region gehostet, um regionsübergreifende Bandbreitenverzögerungen und -gebühren bei Import- oder Exportvorgängen zu vermeiden. Eine zu hohe Anzahl gleichzeitiger Anforderungen in einer Region kann zu erheblichen Verzögerungen bei der Vorgangsverarbeitung führen. Die für die Anforderungsausführung benötigte Zeit kann wenige Sekunden, aber auch mehrere Stunden betragen.

Da der Import/Export-Dienst eine logische Sicherung der Datenbank durchführt, ist die dazu erforderliche Zeit stärker abhängig von der Anzahl der Objekte in der Datenbank als bei einer herkömmlichen physischen Datenbanksicherung.

Hinweis

Nachdem Ressourcen zugewiesen wurden und die Verarbeitung einer Anforderung gestartet wurde, bricht der Dienst die Anforderung nach zwei Tagen automatisch ab.

Wenn Ihre Datenbankexporte nur für die Wiederherstellung nach versehentlichem Löschen von Daten verwendet werden, bieten alle Editionen von Azure SQL-Datenbank eine Self-Service-Wiederherstellungsfunktion auf der Grundlage von systemgenerierten Sicherungen. Falls diese Exporte aber aus anderen Gründen erforderlich sind und Sie eine konsistente oder besser planbare Import-/Exportleistung benötigen, ziehen Sie die folgenden Optionen in Betracht:

Überlegungen beim Exportieren oder Importieren einer Datenbank

  • Alle in diesem Artikel behandelten Methoden nutzen Datenbanktransaktionseinheiten (Database Transaction Units, DTUs) oder das CPU-Kontingent, was eine Drosselung durch den Azure SQL-Datenbank-Dienst zur Folge hat. Sie können die DTU-Statistiken für die Datenbank im Azure-Portal anzeigen. Wenn die Datenbank ihre Ressourcenlimits erreicht hat, führen Sie ein Upgrade der Dienstebene aus, um weitere Ressourcen hinzuzufügen.
  • Clientanwendungen (wie etwa das Hilfsprogramm SqlPackage oder Ihre benutzerdefinierte DAC-Anwendung) sollten im Idealfall auf einer VM in derselben Region ausgeführt werden, in der sich auch Ihre Datenbank befindet. Andernfalls treten ggf. durch Netzwerklatenz bedingte Leistungsproblemen auf.
  • Das Exportieren großer Tabellen ohne gruppierte Indizes kann sehr langsam sein oder sogar Fehler zur Folge haben. Dieses Verhalten tritt auf, da die Tabelle nicht parallel aufgeteilt und exportiert werden kann. Stattdessen muss sie in einer einzelnen Transaktion exportiert werden, was besonders bei großen Tabellen die Leistung beeinträchtigt und unter Umständen zu einem Exportfehler führt.

Überlegungen beim Exportieren einer Datenbank