VERTRIEB: 1-800-867-1380

Vorgehensweise: Verwenden des SQL Azure-Migrations-Assistenten

Letzte Aktualisierung: April 2014

Der Windows Azure SQL-Datenbankmigrations-Assistent ist ein freigegebenes Benutzeroberflächen-Quelltool, das die Migration von SQL Server-Datenbanken zu Microsoft Azure SQL-Datenbank unterstützt. Außer zum Migrieren von Daten kann er verwendet werden, um Kompatibilitätsprobleme zu identifizieren, diese nach Möglichkeit zu beseitigen und den Benutzer über alle festgestellten Probleme in Kenntnis zu setzen.

Autor: Shaun Tinline-Jones

Der SQL-Datenbankmigrations-Assistent ist ein flexibles und einfach zu bedienendes Tool zur Migration einfacher SQL Server-Datenbanken zur SQL-Datenbank. Bei komplexeren Datenbanken empfiehlt sich der Assistent, um die Änderungen zu identifizieren, die zum Erfüllen der Microsoft Azure SQL-Datenbank-Anforderungen erforderlich sind.

Der SQL-Datenbankmigrations-Assistent unterstützt die folgenden Hauptaufgaben:

  • Migrieren sowohl des Schemas als auch der Daten einer einfachen Datenbank zu Microsoft Azure SQL-Datenbank. Der Assistent kann so konfiguriert werden, dass er beim Laden umfangreicher Datenmengen mehrere gleichzeitige Massenkopiervorgänge ausführt.

  • Einfachere Analyse umfangreicher, komplexerer Datenbanken während der Entwurfs- und Planungsphase:

    • Durchsuchen Sie die Datenbank nach Objekten, die von Microsoft Azure SQL-Datenbank nicht unterstützt werden.

    • Überprüfen Sie eine Transact-SQL-Datei auf Syntax, die von Microsoft Azure SQL-Datenbank nicht unterstützt wird. Der Assistent kann entweder eine Transact-SQL-Skriptdatei oder eine SQL Server Profiler-Ablaufverfolgungsdatei analysieren.

Bevor Sie den Assistenten ausführen, sollten Sie das Handbuch über die Registerkarte "Documentation" im CodePlex-Projekt herunterladen und lesen.

Der Assistent kann in einem grafischen Assistentenmodus oder einem Eingabeaufforderungs-Hilfsprogramm ausgeführt werden. Er verwendet zwei Konfigurationsdateien, über die Sie die Verwendungsweise des Assistenten anpassen können. Bei der Ausführung im grafischen Modus legen die Konfigurationsdateien das Standardverhalten fest, und bei der Ausführung im Eingabeaufforderungsmodus steuern sie das Verhalten.

  • Die Datei NotSupportedByAzureFile.config enthält Regex-Einträge, durch die die von Microsoft Azure SQL-Datenbank nicht unterstützten Objekte definiert werden. Sie können die Konfigurationsdatei so anpassen, dass sie nach zusätzlichen Mustern sucht, die aus Datenbanken ausgeschlossen werden sollen, die Sie in Microsoft Azure SQL-Datenbank hosten möchten.

  • Über die Datei SQLAzureMW.exe.config wird das Verhalten des Hilfsprogramms gesteuert, z. B. wie Verbindungen hergestellt werden, welche Transact-SQL-Datei analysiert werden soll oder welches Verhalten dem Kopieren von Daten zugrunde liegt. Sie können die Datei ändern, um die Standardverhaltensweisen des Assistenten für Ihre Website anzupassen.

Der SQL-Datenbankmigrations-Assistent vereint drei Funktionen, um Massenkopiervorgänge mit höheren Durchsatzraten zuverlässiger auszuführen, als es beispielsweise bei Verwendung einer Datenebenenanwendung (DAC) BACPAC der Fall ist.

  • Der SQL-Datenbankmigrations-Assistent verfügt über eine integrierte Logik zum Behandeln von Verbindungsabbrüchen. Er unterteilt die Schemaupdates in einzelne Batches, wobei jeder Batch als separate Transaktion verwaltet wird. Der Assistent wird so lange ausgeführt, bis die Verbindung von Microsoft Azure SQL-Datenbank beendet wird. Wenn im Assistenten ein Verbindungsfehler auftritt, bevor die Schemaupdates abgeschlossen wurden, stellt er erneut eine Verbindung mit Microsoft Azure SQL-Datenbank her und nimmt die Verarbeitung nach der Transaktion auf, für die zuletzt erfolgreich ein Commit ausgeführt wurde. Auf die gleiche Weise unterteilt der Assistent die Daten – wenn sie mit "bcp" in Microsoft Azure SQL-Datenbank hochgeladen werden – in einzelne Batches und ermittelt anhand einer Wiederholungslogik den letzten erfolgreichen Datensatz, der vor Beendigung der Verbindung hochgeladen wurde. Anschließend wird der Datenupload von "bcp" mit dem nächsten Datensatz neu gestartet.

  • Sie können den Assistenten für die Verwendung mehrerer, gleichzeitiger Massenkopiervorgänge konfigurieren, um das Laden großer Datenmengen zu beschleunigen. Der Assistent ist nicht in der Lage, mehrere gleichzeitige Massenkopiervorgänge für eine einzelne Tabelle auszuführen, kann jedoch verwendet werden, um gleichzeitige Massenkopiervorgänge für verschiedene Tabellen zu planen.

  • Sie können die Wahrscheinlichkeit reduzieren, dass der Assistent von Microsoft Azure SQL-Datenbank eingeschränkt wird, indem Sie eine Wartezeit zwischen Massenkopiervorgängen festlegen und eine kleine Batchgröße konfigurieren. Die Batchgröße muss in einem ausgewogenen Verhältnis zur Anzahl der Batches stehen. Wenn die Batchgröße zu klein ist, führt dies möglicherweise zu einer großen Anzahl von Batches, die einzeln über das Netzwerk übertragen werden müssen. Dies kann zu Netzwerklatenzprobleme führen. Führen Sie einige Tests durch, um eine Batchgröße zu ermitteln, die klein genug ist, um eine Einschränkung zu vermeiden, jedoch gleichzeitig groß genug, um die Netzwerklatenz zu reduzieren.

[Nach oben]

noteHinweis
Der SQL-Datenbankmigrations-Assistent ist ein freigegebenes Quelltool, das von der Community erstellt und unterstützt wird.

Der SQL-Datenbankmigrations-Assistent enthält keinen Transact-SQL-Parser, sondern führt den Mustervergleich auf Grundlage von Regex-Definitionen in der Datei NotSupportedByAzureFile.config aus. Einige Musterübereinstimmungen könnten falsch-positiv sein. Darüber hinaus muss die mit dem Assistenten bereitgestellte Konfigurationsdatei nicht unbedingt Muster für alle Elemente enthalten, die von Microsoft Azure SQL-Datenbank nicht unterstützt werden. Um das Migrationsprojekt am Laufen zu halten, können Sie die Konfigurationsdatei dahin gehend aktualisieren, dass die Muster hinzugefügt werden, sobald sie erkannt werden. Allgemeine Probleme können an das CodePlex-Projekt übermittelt werden, damit sie in zukünftigen Versionen des Assistenten berücksichtigt werden. Wenn das Projekt eine gründlichere Analyse einer Datenbank erfordert, sollten Sie erwägen, eine DAC-Paketdatei zu extrahieren und diese in ein SQL Server Data Tools-Projekt zu importieren, in dem Sie die SQL-Datenbank als Projektziel festlegen können. Während das Projekt mithilfe eines Transact-SQL-Parsers von SQL Server Data Tools analysiert wird, werden möglicherweise nicht alle Microsoft Azure SQL-Datenbank-Inkompatibilitäten in einer Datenbank gefunden.

Die zuverlässigste Methode festzustellen, ob alle Schemaprobleme behandelt wurden, besteht darin, eine Testbereitstellung des neuen Datenbankschemas auf Microsoft Azure SQL-Datenbank auszuführen. Ob alle Transact-SQL-Probleme im Anwendungscode behandelt wurden, kann am zuverlässigsten überprüft werden, indem die Anwendung anhand einer auf Microsoft Azure SQL-Datenbank bereitgestellten Kopie der Datenbank getestet wird.

Der Assistent ist besonders für die anfängliche Analyse einer Datenbank geeignet. Andere Tools eignen sich eher für die Verwaltung von Aufgaben bei der Entwicklung komplexer Datenbanken. Bevor diese auf Microsoft Azure SQL-Datenbank ausgeführt werden können, sind u. U. zahlreiche Änderungen erforderlich. In den Regex-Musterdefinitionen können Sie beispielsweise Ersatzmuster für die vom Assistenten gefundenen Muster angeben. Dieser Funktionalität sind jedoch Grenzen gesetzt. Um komplexere Änderungen zu verwalten, sollten Sie die Verwendung eines anderen Tools in Betracht ziehen, durch das eine DAC-Paketdatei extrahiert und in ein SQL Server Data Tools-Projekt importiert wird.

Wenn Sie eine Profilerablaufverfolgung von einem Produktionssystem erstellen, kann dies die Leistung zu stark beeinträchtigen. Es empfiehlt sich, eine Ablaufverfolgung von einem Testsystem zu erstellen. Wenn Sie ein Profil für ein Produktionssystem erstellen müssen, minimieren Sie die Auswirkungen, indem Sie nur Ereignisse zu abgeschlossenen Anweisungen nachverfolgen.

[Nach oben]

Der SQL-Datenbankmigrations-Assistent kann aus dem entsprechenden SQL-Datenbankmigrations-Assistentenprojekt auf Codeplex heruntergeladen werden. Entzippen Sie das Paket auf den lokalen Computer, und führen Sie SQLAzureMW.exe aus.

[Nach oben]

So migrieren Sie eine Datenbank:

  1. Wählen Sie den Prozess aus, den Sie mit dem Assistenten durchlaufen möchten.

  2. Wählen Sie die Quelle aus, für die Sie ein Skript erstellen möchten.

  3. Wählen Sie die Datenbankobjekte aus, für die Sie ein Skript erstellen möchten.

  4. Generieren Sie das Skript. Das Skript kann auch nachträglich noch geändert werden.

  5. Geben Sie Informationen zum Herstellen einer Verbindung mit dem Zielserver ein. Sie haben die Möglichkeit, die Zieldatenbank auf Microsoft Azure SQL-Datenbank zu erstellen.

  6. Führen Sie das Skript für den Zielserver aus.

[Nach oben]

So analysieren Sie eine Datenbank auf Migrationsprobleme:

  1. Wählen Sie den Prozess aus, den Sie mit dem Assistenten durchlaufen möchten.

  2. Wählen Sie die Quelle aus, die Sie analysieren möchten.

  3. Wählen Sie die zu analysierenden Datenbankobjekte aus.

  4. Generieren Sie das Skript.

  5. Überprüfen Sie die vom Assistenten gemeldeten Zusammenfassungsergebnisse.

[Nach oben]

So analysieren Sie eine Datenbank auf Migrationsprobleme:

  1. Wählen Sie den Prozess aus, den Sie mit dem Assistenten durchlaufen möchten.

  2. Wählen Sie die Transact-SQL-Datei aus, die Sie als Quelle analysieren möchten.

  3. Generieren Sie das Skript.

  4. Überprüfen Sie die vom Assistenten gemeldeten Zusammenfassungsergebnisse.

[Nach oben]

So analysieren Sie eine Datenbank auf Migrationsprobleme:

  1. Wählen Sie den Prozess aus, den Sie mit dem Assistenten durchlaufen möchten.

  2. Wählen Sie die Ablaufverfolgungsdatei aus, die Sie als Quelle analysieren möchten.

  3. Generieren Sie das Skript.

  4. Überprüfen Sie die vom Assistenten gemeldeten Zusammenfassungsergebnisse.

[Nach oben]

Fanden Sie dies hilfreich?
(1500 verbleibende Zeichen)
Vielen Dank für Ihr Feedback.
Anzeigen:
© 2014 Microsoft