(0) exportieren Drucken
Alle erweitern

Migrieren zu SQL Server auf einem virtuellen Azure-Computer

Letzte Aktualisierung: März 2014

Dieses Thema stellt Informationen zum Migrieren einer vorhandenen lokalen SQL Server-Datenbank, die auf der Windows Server-Plattform basiert, in SQL Server auf virtuellen Azure-Computern zur Verfügung. Außerdem enthält das Thema einen Entscheidungsworkflow, der Aufschluss darüber gibt, wann die SQL Server-Anwendung auf einem virtuellen Computer in der Cloud ausgeführt werden sollte bzw. wann die vorhandene SQL Server-Datenbank in eine Azure SQL-Datenbank (SQL-Datenbank) migriert werden sollte.

Durch die Ausführung von SQL Server auf einem virtuellen Computer können die Gesamtkosten für die Bereitstellung, Verwaltung und Wartung unternehmensweiter Anwendungen gesenkt werden, indem die Anwendungen einfach zu Azure migriert werden. Bei der Migration vorhandener SQL Server-Anwendungen zu virtuellen Azure-Computern sind minimale oder gar keine Codeänderungen erforderlich. Wird SQL Server auf einem virtuellen Computer eingesetzt, können Administratoren und Entwickler weiterhin dieselben Entwicklungs- und Verwaltungstools wie in der lokalen Umgebung verwenden.

Autoren: Selcin Turkarslan
Bearbeiter: Evgeny Krivosheev, Paolo Salvatori, Lindsey Allen, Steve Howard

Abschnitte in diesem Artikel

Durch die Verwendung von SQL Server auf einem virtuellen Azure-Computer können zahlreiche lokale Szenarien in die Cloud übertragen werden:

  • Schnelle Anwendungsentwicklung (Rapid Application Development, RAD) und Testen: Entwickeln Sie eine Datenbankanwendung, die in einer produktionsähnlichen Umgebung überprüft werden muss. Anstatt zum Überprüfen oder Testen der neuen Anwendung neue Hardware zu erwerben, verwenden Sie SQL Server auf einem virtuellen Computer. Erstellen Sie einfach mit dem Plattformimage, in dem SQL Server enthalten ist, einen virtuellen Computer, oder laden Sie ein eigenes Image auf Azure hoch. Stellen Sie dann eine Verbindung mit dem neuen Computer her, verschieben Sie die Daten, richten Sie die Anwendung ein, und führen Sie Tests und Fehlerbehebungen aus.

  • Gesamtkosten der Virtualisierungsplattform: Überführen Sie die vorhandene lokale Virtualisierungsplattform in Azure. Anstatt neue Hardware zu erwerben, um die zunehmende Anzahl unternehmensweiter Anwendungen auf Ihrer eigenen lokalen Virtualisierungsplattform auszuführen, migrieren Sie sie zu Azure, um die Vorteile der SQL Server-Infrastruktur auf einem virtuellen Azure-Computer zu nutzen.

  • Schnelle bedarfsgesteuerte Skalierung: Nutzen Sie zusätzliche Computer-, Speicher- und Netzwerkressourcen, um saisonbedingte Spitzen bei der Anwendungsnutzung zu bewältigen. Verwenden Sie die SQL Server-Infrastruktur auf virtuellen Azure-Computern, anstatt zusätzliche Hardware zu kaufen, die nur für einen bestimmten Zeitraum benötigt wird.

  • Verfügbarkeit und Mobilität der Daten: Auf virtuellen Azure-Computern gehostete SQL Server-Datenbanken sind für lokale und für Cloud-Anwendungen verfügbar.

Im folgenden Entscheidungsworkflow wird erläutert, wann SQL Server auf einem virtuellen Computer bzw. einer Azure SQL-Datenbank der Vorzug gegeben werden sollte:

  • Verwenden Sie für neue Datenbankanwendungen entweder eine Azure SQL-Datenbank (SQL-Datenbank) oder SQL Server auf einem virtuellen Computer in Azure:

    • Wenn die SQL-Datenbank alle erforderlichen Funktionen unterstützt, stellen Sie in Azure eine neue SQL-Datenbankinstanz bereit. Entwickeln Sie die neue Datenbankanwendung mit dem Azure SDK und Plug-Ins für Visual Studio 2010, Java, PHP oder Node.js. Stellen Sie die Anwendung in Azure bereit, und erstellen Sie die Tabellen in der SQL-Datenbank.

    • Wenn eine SQL-Datenbank nicht alle erforderlichen Funktionen unterstützt und Sie die Kosten für die Umgestaltung der Anwendungsdatenbank sparen möchten, stellen Sie einen neuen virtuellen Computer mit dem SQL Server-Plattformimage bereit, das im Verwaltungsportal verfügbar ist. Erstellen Sie unter Verwendung der SQL Server Data Tools ein Datenbank-Bereitstellungspaket. Stellen Sie das Datenbankpaket unter SQL Server auf einem virtuellen Computer bereit. Sie können die Datenbank mit den herkömmlichen Verwaltungstools wie SQL Server Management Studio verwalten, aktualisieren und überwachen.

  • Bestimmen Sie bei vorhandenen Datenbankanwendungen, welche Datenbanken zuerst zu SQL Server auf virtuellen Azure-Computern migriert werden sollen. Befolgen Sie dann einen dieser beiden Ansätze:

    • Konvertieren Sie physische oder virtuelle Computer mit dem System Center 2012 Virtual Machine Manager, einem P2V-Assistenten (Physical-to-Virtual) oder einem V2V-Assistenten (Virtual-to-Virtual), in virtuelle Hyper-V-Festplatten. Laden Sie die VHD-Dateien mithilfe des Cmdlets Add-AzureVHD in den Azure-Speicher hoch. Anschließend können Sie mit der hochgeladenen VHD einen neuen virtuellen Computer bereitstellen. Sie können die Datenbank mit den herkömmlichen Verwaltungstools wie SQL Server Management Studio verwalten, aktualisieren und überwachen.

    • Stellen Sie einen neuen virtuellen Computer mit dem SQL Server-Plattformimage sowie Cloud-Serverressourcen auf Anwendungsebene im Azure-Verwaltungsportal bereit. Erstellen Sie unter Verwendung der SQL Server Data Tools und SQL Server Management Studio ein Datenbank-Bereitstellungspaket. Migrieren Sie die vorhandene Anwendungsebene mit dem Azure SDK und Plug-Ins für Visual Studio 2010, Java, PHP oder Node.js in ein Azure-Projekt. Stellen Sie in Azure eine Anwendungsebene bereit, und greifen Sie auf die Daten in der Cloud zu.

Führen Sie bei der Migration der Datenbank und der Daten zu SQL Server auf einem virtuellen Azure-Computer die folgenden Schritte in der angegeben Reihenfolge aus:

  1. Bereiten Sie das Datenbankschema und die Datendatei in der lokalen Umgebung mit der Option "DAC", "Sichern" oder "Trennen" vor. Weitere Informationen finden Sie unter Vorbereiten des Schemas und der Daten in einer lokalen Umgebung und Hochladen des Schemas und der Daten auf eine SQL Server-Instanz auf einem virtuellen Computer weiter unten.

  2. Komprimieren und verschlüsseln Sie optional die Dateien, bevor Sie sie in Azure übertragen.

  3. Übertragen Sie das Datenbankschema, die Daten und die Protokolldateien in Azure. Wenn Sie das Cmdlet Add-AzureVHD verwenden, speichern Sie die Dateien zuerst auf einer virtuellen Festplatte (VHD), und laden Sie die VHD dann auf Azure hoch. Weitere Informationen finden Sie unter Verschieben des Datenbankschemas und der Datendatei auf einen virtuellen Azure-Computer weiter unten.

  4. Laden Sie das Datenbankschema und die Datendatei auf SQL Server auf einem virtuellen Computer. Weitere Informationen finden Sie unter Vorbereiten des Schemas und der Daten in einer lokalen Umgebung und Hochladen des Schemas und der Daten auf eine SQL Server-Instanz auf einem virtuellen Computer weiter unten.

  5. Erstellen Sie alle Metadaten, die von den Migrationstools nicht erstellt werden konnten, auf dem virtuellen Azure-Computer mit SQL Server neu.

Ab SQL Server 2014 können Sie auch den Assistenten zum Bereitstellen einer SQL Server-Datenbank für einen virtuellen Azure-Computer in SQL Server Management Studio verwenden, um eine Datenbank aus einer Instanz des Datenbankmoduls in SQL Server in einem virtuellen Azure-Computer bereitzustellen. Weitere Informationen finden Sie unter Bereitstellen einer SQL Server-Datenbank auf einem virtuellen Windows Azure-Computer.

In diesem Abschnitt wird beschrieben, wie das Datenbankschema und die Datendateien in der lokalen Umgebung vorbereitet werden. Sie können je nach Bedarf unter mehreren Optionen wählen:

Sie können eine Datenebenenanwendung (DAC) verwenden, um das Datenbankschema und die Datendatei vorzubereiten, die von der lokalen Umgebung in Azure übertragen werden sollen:

  • DACPAC-Datei: Eine DACPAC-Datei enthält die Definitionen aller SQL Server-Objekte, z. B. Tabellen, Sichten und Instanzobjekte, die der Datenbank eines Benutzers zugeordnet sind. Eine DACPAC-Datei dient der Erfassung und Bereitstellung eines Datenbankschemas und kann außerdem zum Aktualisieren einer vorhandenen Datenbank verwendet werden. Weitere Informationen zum Extrahieren eines Datenebenenanwendungs-Pakets (DAC) aus einer vorhandenen SQL Server-Datenbank finden Sie unter Extrahieren einer DAC aus einer Datenbank.

  • BACPAC-Datei: Eine BACPAC-Datei umfasst das Datenbankschema sowie die in der Datenbank gespeicherten Daten. Eine BACPAC-Datei wird hauptsächlich zum Erfassen des Schemas und der Daten verwendet. Sie stellt das logische Äquivalent einer Datenbanksicherung dar und kann nicht zum Aktualisieren vorhandener Datenbanken verwendet werden. Weitere Informationen zum Erstellen einer BACPAC-Datei finden Sie unter Exportieren einer Datenebenenanwendung.

Sie können das Schema und die Daten einer Datenbank in eine BACPAC-Datei exportieren. Anschließend können Sie das Schema und die Daten in eine neue Datenbank auf dem Hostserver importieren. Beide Funktionen werden von den Datenbankverwaltungstools unterstützt. Server Management Studio und die DACFx-API. Weitere Informationen finden Sie unter Importieren einer BACPAC-Datei zum Erstellen einer neuen Benutzerdatenbank und unter dem Microsoft.SqlServer.Dac-Namespace in der MSDN Library.

Hinweise:

  • Die BACPAC- oder DACPAC-Datei wird vom DAC-Vorgang nicht automatisch verschlüsselt. Sie sollten sicherstellen, dass die Kommunikation zwischen der lokalen Umgebung und Azure sicher ist. Sie können die BACPAC- oder DAC-Datei auch getrennt verschlüsseln, um zusätzlichen Schutz zu gewährleisten, wenn die Datei im Azure-BLOB-Speicher oder auf dem lokalen Datenträger gespeichert ist.

  • DAC unterstützt keine Volltextkataloge.

  • Zur Erhöhung der Sicherheit werden die Anmeldenamen für die SQL Server-Authentifizierung ohne Kennwort in einem DAC-Paket gespeichert. Sobald das Paket bereitgestellt oder aktualisiert wird, wird der Anmeldename als deaktivierter Anmeldename mit einem generierten Kennwort erstellt. Um die Anmeldenamen zu aktivieren, melden Sie sich unter einem Anmeldenamen an, der über die ALTER ANY LOGIN-Berechtigung verfügt, und verwenden ALTER LOGIN, um den Anmeldenamen zu aktivieren und ein neues Kennwort zuzuweisen, das dem Benutzer mitgeteilt werden kann. Dies ist für Anmeldenamen der Windows-Authentifizierung nicht erforderlich, da die zugehörigen Kennwörter nicht von SQL Server verwaltet werden.

Um eine Datenbank auf eine andere SQL Server-Instanz oder einen anderen Server zu verschieben, können Sie Sicherungs- und Wiederherstellungsvorgänge verwenden. Wenn die SQL Server-Versionen in der lokalen Umgebung und auf dem virtuellen Computer übereinstimmen, können Sie eine Datenbanksicherungsdatei auf den virtuellen Computer kopieren und die Datenbank anschließend wiederherstellen. Weitere Informationen finden Sie unter Sichern und Wiederherstellen von SQL Server-Datenbanken.

Hinweise:

  • Die Sicherung und Wiederherstellung ist schneller als die Verwendung der DAC-Option.

  • Sie können eine komprimierte Sicherung der Daten erstellen. Weitere Informationen finden Sie unter Sicherungskomprimierung.

  • Sie können die vorhandenen und vertrauten Tools, wie den Sicherungs-Assistenten von SQL Server Management Studio, sowie Tools von Drittanbietern verwenden.

  • Wenn Sie die Datenbank auf eine andere Serverinstanz verschieben, müssen Sie alle Metadaten der abhängigen Entitäten und Objekte in der master- und msdb-Datenbank auf der Zielserverinstanz neu erstellen. Weitere Informationen finden Sie unter Verwalten von Metadaten beim Bereitstellen einer Datenbank auf einer anderen Serverinstanz.

Um eine Datenbank auf eine andere SQL Server-Instanz oder einen anderen Server zu verschieben, können Sie Trenn- und Anfügevorgänge verwenden. Kopieren Sie die Daten- (MDF, NDF) und Protokolldateien (LDF) auf einen lokalen Ordner des virtuellen Computers, und fügen Sie dann die Datenbank an. Weitere Informationen finden Sie unter Verschieben einer Datenbank durch Trennen und Anfügen.

Hinweise:

  • Durch das Trennen einer Datenbank wird diese aus der SQL Server-Instanz entfernt. Die Datenbank selbst bleibt jedoch innerhalb der Datendateien und Transaktionsprotokolldateien intakt. Die Quelldatenbank muss offline geschaltet werden. Diese Option eignet sich am besten zum Aktualisieren von Datenbanken oder Verschieben von sehr großen Datenbanken.

  • Eine Datenbank kann in folgenden Fällen nicht getrennt werden

    • Die Datenbank ist repliziert und veröffentlicht.

    • Eine Datenbankmomentaufnahme ist in der Datenbank vorhanden.

    • Die Datenbank wird in einer Datenbank-Spiegelungssitzung gespiegelt.

    • Die Datenbank ist fehlerverdächtig.

    • Die Datenbank ist eine Systemdatenbank.

  • Es wird empfohlen, vor dem Trennen eine neue vollständige Sicherung zu erstellen und differenzielle Sicherungen neu zu starten.

  • Wenn Sie Trenn- und Anfügevorgänge für Datenbanken durchführen, können Sie die Funktion Datenkomprimierung verwenden, um die Daten in einer Datenbank zu komprimieren und dadurch die Datenbankgröße zu verringern. Darüber hinaus können Sie separate Komprimierungs- und Dekomprimierungstools für die getrennten Dateien verwenden.

  • Wenn Sie eine Datenbank an eine andere Serverinstanz anfügen, müssen Sie die Metadaten für die Datenbank, wie Anmeldenamen und Aufträge, auf der anderen Serverinstanz u. U. teilweise oder vollständig neu erstellen, um Benutzern und Anwendungen ein konsistentes Verhalten zu bieten. Weitere Informationen finden Sie unter Verwalten von Metadaten beim Bereitstellen einer Datenbank auf einer anderen Serverinstanz.

Sie können die folgenden zusätzlichen Techniken verwenden, um Datenbanken zwischen Servern zu kopieren oder zu verschieben.

  • Sie können den Assistenten zum Kopieren von Datenbanken in SQL Server Management Studio verwenden, um Datenbanken zwischen Servern zu kopieren oder zu verschieben oder um eine SQL Server-Datenbank auf eine höhere Version zu aktualisieren. Weitere Informationen finden Sie unter Verwenden des Assistenten zum Kopieren von Datenbanken. Wenn Sie mit diesem Tool lokale Datenbanken zu Azure kopieren möchten, müssen Sie das virtuelle Azure-Netzwerk für Hybridverbindungen einrichten.

  • Der SQL Server-Import/Export-Assistent bietet eine Methode zum Kopieren von Daten zwischen Datenquellen und zum Erstellen von Basispaketen. Weitere Informationen zum Assistenten finden Sie im SQL Server-Import/Export-Assistenten. Mit dem SQL Server-Import/Export-Assistenten werden Daten aus einer Quelle in ein Ziel kopiert. Mit dem Assistenten können auch eine Zieldatenbank und Zieltabellen erstellt werden. Wenn Sie jedoch mehrere Datenbanken, Tabellen oder andere Datenbankobjekte kopieren müssen, verwenden Sie stattdessen den Assistenten zum Kopieren von Datenbanken. Wenn Sie lokale Datenbanken mit dem SQL Server-Import/Export-Assistenten zu Azure kopieren möchten, müssen Sie das virtuelle Azure-Netzwerk für Hybridverbindungen einrichten.

  • Sie können mit dem Assistenten zum Generieren und Veröffentlichen von Skripts Skripts zur Übertragung einer Datenbank zwischen Instanzen des SQL Server-Datenbankmoduls erstellen. Die generierten Skripts können auf einer anderen Datenbankmodul-Instanz ausgeführt werden. Sie können den Assistenten außerdem dazu verwenden, den Inhalt einer Datenbank direkt in einem Webdienst zu veröffentlichen, der mit den Datenbank-Veröffentlichungsdiensten erstellt wurde. Sie können Skripts für eine gesamte Datenbank oder für eine Auswahl bestimmter Objekte erstellen. Weitere Informationen finden Sie im Assistenten zum Generieren und Veröffentlichen von Skripts.

  • Sie können die Transfer-Klasse der SQL Server Management Objects (SMO)-Bibliothek verwenden. Weitere Informationen finden Sie unter Übertragen von Daten. Bei Verwendung von SMO können die Quell- und Zieldatenbanken online bleiben, und die Datenbankdateien müssen nicht in einem separaten Schritt in bzw. aus dem Azure-BLOB-Speicher verschoben werden. Der Nachteil bei SMO besteht darin, dass auf beiden Seiten eine Clientverbindung zur Datenbank unter Verwendung von TDS hergestellt würde, was bei großen Datasets sehr ineffizient ist.

  • Mit dem Task "Datenbanken übertragen" kann eine SQL Server-Datenbank zwischen zwei SQL Server-Instanzen kopiert oder verschoben werden. Die Datenbank kann im Online- oder im Offlinemodus übertragen werden. Wenn Sie den Onlinemodus verwenden, bleibt die Datenbank verbunden und wird mithilfe des SMO-Objekts (SQL Management Object) zum Kopieren der Datenbankobjekte übertragen. Wenn Sie im Offlinemodus arbeiten, wird die Datenbankverbindung getrennt, die Datenbankdateien werden kopiert oder verschoben, und die Datenbank wird am Ziel verbunden, nachdem die Übertragung erfolgreich abgeschlossen wurde.

Sie können kleine Dateien (Datenbanksicherungen, BACPAC- oder DACPAC-Dateien) über eine mit Remotedesktop hergestellte Verbindung durch "Kopieren/Einfügen" auf den virtuellen Computer kopieren.

Zum Übertragen umfangreicher Dateien stehen die folgenden Optionen zur Verfügung:

  • Verwenden Sie das Cmdlet Add-AzureVhd zum Hochladen von VHD-Dateien in Azure. Eine VHD-Datei kann eine Datenbank enthalten. Weitere Informationen finden Sie unter Erstellen und Hochladen einer virtuellen Festplatte, auf der das Betriebssystem Windows Server enthalten ist.

  • Laden Sie die Datei in den BLOB-Speicher im selben Rechenzentrum wie der virtuelle Computer hoch, und stellen Sie dann über Remotedesktop eine Verbindung mit dem virtuellen Computer her, und laden Sie die Datei aus dem BLOB-Speicher herunter. Weitere Informationen finden Sie unter Grundlegendes zum Cloudspeicher.

  • Kopieren Sie das Schema und die Datendateien direkt in einen freigegebenen Ordner auf dem virtuellen Computer.

  • Verwenden Sie einen Webbrowser, um eine Datenbank aus dem Internet herunterzuladen. Beispielsweise können Sie die AdventureWorks-Datenbank von CodePlex herunterladen.

In der folgenden Tabelle werden einige allgemeine Übertragungsmethoden beschrieben, die Sie zum Überführen von Dateien auf einen virtuellen Azure-Computer verwenden können. In der Tabelle werden auch die Vor- und Nachteile jeder Methode erläutert.

 

Übertragungsmethode Vorteile Nachteile

Kopieren einer VHD in den Azure-BLOB-Speicher mithilfe des Cmdlets "add-AzureVhd"

  • Schnell, für Azure optimiert

  • Unzuverlässige Verbindungen können mit Tools stabilisiert werden

  • Sichere Übertragung

  • Microsoft stellt das Cmdlet Add-AzureVhd zur Verfügung. Wenn eine grafische Benutzeroberfläche benötigt wird, können Sie derzeit die Tools von Drittanbietern verwenden.

  • Bevor Sie das Cmdlet Add-AzureVhd zum Hochladen einer VHD in Azure verwenden, müssen Sie eine VHD vorbereiten sowie ein Verwaltungszertifikat erstellen und in das Portal hochladen.

  • Sie müssen die hochgeladene VHD als Datenträger an einen virtuellen Azure-Computer anfügen.

Kopieren einer Datei in eine virtuelle Computerfreigabe

  • Einfach zu verwenden

  • Mehrere Clienttools verfügbar

  • Die Datei wird direkt auf dem virtuellen Computer gespeichert

  • Erfordert eine VPN-Verbindung.

  • Das Neustarten und Fortsetzen wird nur von einigen Tools zum Kopieren von Dateien unterstützt.

Weitere Informationen zum Einrichten, Konfigurieren und Bereitstellen von SQL Server auf einem virtuellen Computer finden Sie unter Lernprogramm: Bereitstellen eines virtuellen SQL Server-Computers in Azure. In diesem Lernprogramm wird beschrieben, wie das Azure-Verwaltungsportal verwendet wird, um einen virtuellen Computer aus dem Katalog auszuwählen und zu installieren. Darüber hinaus erfahren Sie, wie mit Remotedesktop eine Verbindung mit dem virtuellen Computer hergestellt wird und wie auf dem virtuellen Computer mithilfe von SQL Server Management Studio eine Verbindung mit SQL Server hergestellt wird.

Umfassendere Informationen finden Sie unter Bereit für die Migration zu SQL Server auf Azure-Virtuellen Computern und Implementierung von SQL Server auf Azure-Virtuellen Computern.

Siehe auch

Anzeigen:
© 2014 Microsoft