Dieser Artikel wurde maschinell übersetzt.

Windows Azure-Insider

Migrieren von Datenbank-Arbeitsauslastungen in die Cloud

Bruno Terkaly
Ricardo Villalobos

Bruno Terkaly and Ricardo VillalobosEiner der größten Trends in ihm heute bewegt sich Datenbankauslastungen in die Cloud.Wir engagieren häufig Fragen über die Probleme bei der Migration von relationalen Datenbank-Arbeitslasten in Windows Azure, so dass wir beschlossen, verschiedene Produktteams und Praktikern im Bereich erhalten konkreten Antworten auf diese Herausforderungen zu erreichen.Es gibt ein Spektrum an angeboten, die sorgfältig vor der Migration berücksichtigt werden müssen und eine Vielzahl von Themen wie Kosten, Kompatibilität, Flexibilität, Wartung, Compliance und Maßstab, um nur einige zu nennen.

Dieses Monats ist über Ihre SQL Server -Datenbank auf der öffentlichen Cloud verschieben.Dies bedeutet, dass wir nicht über die Sache der privaten Cloud oder anderen lokalen Optionen.Natürlich gibt es darüber hinaus nur die Daten, eine Reihe von Fragen zu berücksichtigen, wenn eine gesamte Anwendung in die Cloud, z. B. Zwischenspeichern, Identität und Legacy Code zu verschieben.

Viele Kunden sind über die Optionen in der Wolke, verwirrt, vor allem wenn es um relationale Daten-hosting.Schließlich ist die Microsoft-relationalen Datenbank-Geschichte groß und umfassend.Im Artikel dieses Monats möchten wir Ihre Optionen zu entmystifizieren, wenn es darum geht SQL Server und Datenspeicherung mit der Windows-Azure-Plattform.

Die meisten IT-Entscheidungen basieren auf Kosten und nutzen.Eine gute Faustregel zu erinnern ist, wie Sie die Abstraktion von der Hardware zu erhöhen und starten Sie Ihre Technologien zu virtualisieren, Wirkungsgrade werden gewonnen, was zu niedrigeren Bereitstellungs- und Wartungskosten.Allerdings gibt es ein Kompromiss, wenn Sie Hardware Virtualisierung — Sie senken aber gleichzeitig Abnehmen der Grad an Kompatibilität mit vorhandenen lokalen Datenbanken, da Sie weniger Kontrolle über die Konfiguration der Datenbank hinsichtlich der zugrunde liegenden Hardware.Eines unserer Ziele hier ist um die vor-und Nachteile zu beschreiben, so dass Sie bessere Entscheidungen treffen können.

Abbildung 1 werden einige der Optionen.Es gibt mindestens vier Möglichkeiten, die Sie nutzen können, SQL Server, wie die nummerierte Kreise zeigen.Beachten Sie, dass beide Cloud-basierte und lokale Lösungen werden dargestellt.Die obere Hälfte des Abbildung 1 beschreibt die public Cloud.Wenn Sie weiter bohren in der public Cloud, du wirst sehen, es besteht aus zwei Säulen: Infrastruktur as a Service (IaaS) und Platform as a Service (PaaS).Die untere Hälfte der Abbildung zeigt die Optionen in Bezug auf lokale SQL Server.Können Sie entweder Ihre eigene private Cloud hosten oder folgen die traditionelle Methode und roh, physische Hardware, frei von allen Virtualisierungstechnologien SQL Server läuft.

SQL Server Hosting Options
Abbildung 1 SQL Server Hosting-Optionen

Die Windows Azure Portal

Wir nutzen drei Windows-Azure-Komponenten, um unserer firmeninternen Datenbank in der Cloud bereitstellen Sie illustrieren die IaaS und PaaS-Modelle: Virtuelle Maschinen oder VMs (IaaS); Windows Azure SQL-Datenbank (PaaS); und Lagerung.Sie können durch das Management Portal zugegriffen werden, wie in gezeigt Abbildung 2.Die ersten beiden sind ziemlich offensichtlich, aber Abschnitt wäre eine Überraschung.Windows Azure Storage ist erforderlich, um die Datei BACPAC halten enthält das Datenbankschema und die Daten in der Datenbank gespeichert.Sie können diese Datei erstellen, mit SQL Server Management Studio (SSMS); Es ist das logische Äquivalent einer Datenbanksicherung.SSMS wird bequem legen Sie diese BACPAC-Datei in Windows Azure Storage, die ein idealer Ort ist, weil es direkt aus der Cloud-Versionen von SQL Server, importiert werden kann, wie in Option 3 und 4 in Abbildung 1.

The Windows Azure Management Portal
Abbildung 2 das Windows Azure Management Portal

Vier Szenarien

An Abbildung 1, wie Sie sehen, SQL Server Karten in vier Fällen verwenden.Wenn Sie die vier Szenarien in Reihenfolge durchlaufen Wirkungsgrade werden gewonnen, wodurch sich Kosten verringern.Jedoch beeinträchtigen die Optionen entsprechend Ihrer Kontrolle über die Hardware und Konfiguration, auf die Höhe des Kompatibilität wie Sie lokalen Datenbanken in der Cloud bereitstellen.

Alte Schule, Roheisen Szenario Nr.1 befasst sich mit SQL Server mit traditionellen Ansätzen, d. h. es ist nicht virtualisiert und durch IT-Mitarbeiter und DBAs hoch angepasst werden kann.Natürlich, da dies Mitarbeiter volle Kontrolle über genau wie alles konfiguriert ist und wie es funktioniert sagt, gibt es deutlich mehr Arbeit in Bereitstellung, Wartung und Skalierung der Datenbanken.Cluster für Hochverfügbarkeit (HA) vorbereiten und Durchführen von Sicherungs- und Wiederherstellungsvorgängen sind nur zwei der vielen ressourcenintensive Aufgaben, die durch einen DBA bewältigt werden müssen.

Lokalen, privaten Cloud Szenario Nr.2 zeigt SQL Server bereitgestellt, um eine private Cloud, die Virtualisierung zur Optimierung von Hardware-Ressourcen nutzt.Diese Technologie ermöglicht mit Pool SQL Server -Datenbanken mithilfe von Windows Server 2012 Hyper-V für effizienten Einsatz von Compute, Netzwerk- und Storage.Sie können eine elastische Infrastruktur für Ihre Datenbanken zu unterstützen, damit Sie effektiver rauf und runter skaliert werden können.Aus Sicht der Verwaltung bietet diese Option integrierte Self-service-Funktionen, so dass Sie Datenbanken mithilfe von Microsoft System Center 2012 bereitstellen können.Jedoch sind Sie immer noch verantwortlich für die Beschaffung der Hardware sowie Software-Patches auf dem Laufenden zu halten.

Windows Azure SQL Server Datenbank VM Windows Azure SQL Server für VMs (IaaS) macht es möglich, dass Sie Ihr Cluster in einem Microsoft-Rechenzentrum zu hosten.Der entscheidende Vorteil bietet diese public Cloud gehostet-Option ist ein hohes Maß an Kompatibilität mit vorhandenen lokalen SQL Server -Installationen.Da diese Option eine voll funktionsfähige Version des SQL Serverunterstützt, Sie können HA, transparente Datenverschlüsselung, Wirtschaftsprüfung, Business Intelligence (BI) z. B. Analysis Services nutzen und reporting Services, verteilte Transaktionen, Unterstützung für active Directory (Active Directory Federation Services oder AD FS 2.0), und vieles mehr.Darüber hinaus können Sie eigene VM erstellen oder nutzen Sie eine Vorlage aus der Windows-Azure-Bildergalerie (wird später beschrieben).Schließlich ermöglicht dieses Angebot Sie einfach, Ihre eigene virtuelle private Netzwerke (VPNs) erstellen bridging Ihre Cloud-Ressourcen zu Ihrem lokalen Netzwerk und bietet eine nahtlose Erfahrung, die verwischt die Grenzen zwischen den massiven Microsoft-Rechenzentren und Ihre internen Server.

SQL Server für VMs unterstützt auch die neue Always-On-Funktion, ermöglicht Ihnen bis zu fünf vollständige Kopien einer Datenbank, die von jedem der beteiligten Instanzen beibehalten haben.Jeder SQL Server kann die Datenbank auf den lokalen Speicher oder an einer anderen Position hosten.Dies stellt eine Wolke gehostet, auf Unternehmensebene Alternative zur Datenbankspiegelung.

Ein weiterer Vorteil der Windows-Azure-VM ist, dass sie ermöglichen es Ihnen, die Funktionen des Windows Azure Storage, was bedeutet, dass das Betriebssystem und die Festplatten automatisch in Windows Azure standardmäßig beibehalten werden drei automatische Kopien Ihrer Daten innerhalb des Rechenzentrums und die optionale Verwendung von Geo-Replikation zu nutzen.Kurz gesagt, ermöglicht Nutzung von Windows Azure SQL Server für virtuelle Computer zu migrieren Ihrer lokalen Datenbank-Anwendungen auf Windows Azure, und minimieren, wenn nicht zu beseitigen, muss die Anwendung und der Datenbank nicht geändert.

Windows Azure SQL-Datenbank um Verwirrung über die Terminologie zu löschen, beachten Sie, dass Windows Azure SQL-Datenbank verwendet, um SQL Azure aufgerufen werden.Windows Azure SQL-Datenbank ist eine Teilmenge und eine Obermenge des traditionellen SQL Serverund befindet sich in der Wolke als Dienst.

Da Windows Azure SQL-Datenbank in der Tat eine Datenbank als Dienstleistung handelt, gibt es einige echte Vorteile.Zunächst kann es fantastisch sparsam, — einige Firmen haben ihre Datenbank-Kosten um mehr als 90 Prozent reduziert, mithilfe von Windows Azure SQL-Datenbank.Zweitens bietet es Selbstmanagement-Fähigkeiten ermöglicht Organisationen, Datendienste für Anwendungen im gesamten Unternehmen bereitzustellen, ohne die Unterstützung-Belastung des zentralen es Abteilung.Drittens der Dienst repliziert drei Kopien Ihrer Daten, und im Fall eines Hardwarefehlers bietet automatisches Failover.

Aber es gibt Einschränkungen.Die maximale Datenbankgröße ist 150GB, obwohl dies durch Splitter (der horizontale Partitionierung von Daten) erhöht werden kann.Dieser Ansatz unterliegt auch weitere Wartezeitprobleme, aufgrund der Tatsache, dass es auf eine gemeinsame Infrastruktur im Microsoft Rechenzentrum ausgeführt wird.Ein weiterer Nachteil ist, dass Sie vorübergehenden Fehler erwarten und den Code entsprechend programmieren müssen.Schließlich stellt Windows Azure SQL-Datenbank eine Teilmenge der SQL Server, was bedeutet, dass einige Funktionen, wie z. B. XML, gespeicherte Systemprozeduren, verteilte Transaktionen, Synonyme, CLR-Prozeduren, Volltextsuche und die Möglichkeit, Server verbunden haben, werden nicht unterstützt.Aufgrund dieser Einschränkungen Migration zu Windows Azure SQL-Datenbank funktioniert möglicherweise nicht für einige Szenarios.Wie Sie sehen können, ist diese Option als die vorherige Option Windows Azure SQL Server Datenbank VM, so kompatibel mit lokalen SQL Server -Instanzen nicht.

Überlegungen

Wenn Ihre Datenbank von einer on-Premise-Lösung auf eine public Cloud zu migrieren, gibt es mehrere Aspekte zu berücksichtigen.Ein wichtiger Faktor ist die Leistung, die CPU-Auslastung-Konto, Disk i/o, Speichereinschränkungen, und Netzwerkdurchsatz und Latenz berücksichtigt.Sie müssen auch zu denken, über wie viel Festplatte Speicherplatz benötigt wird, sowie die Anzahl der VMs.Netzwerktopologie ist ein Anliegen, wenn Daten­base-Anwendungen benötigen eine Verbindung zu lokalen Ressourcen, möglicherweise benötigen Sie ein VPN herstellen, das ist ein weiteres Angebot der Windows Azure Platform.Compliance und Sicherheit sind auch äußerst wichtig, vor allem, wenn es um Kundendaten geht — speziell die Lage, Übertragung und Verarbeitung von Daten.Es gibt wesentliche Verbindlichkeiten in Bezug auf Anamnese, Test und Labor-Ergebnisse und Informationen zur Krankenversicherung, um nur einige zu nennen.

Migrieren einer SQL Server -Datenbank zu einer Windows Azure VM

Obwohl Microsoft eine Gemeinschaft Technology Preview (CTP) Version des Bereitstellungs-Assistenten freigegeben, nehmen wir einen mehr manuellen Ansatz, der gibt eine bessere Vorstellung davon, was, während der Bereitstellung passiert.Wir im Wesentlichen eine BACPAC-Datei von unserer firmeninternen Datenbank erstellen und dann in unserem Windows-Azure- SQL Server VM importieren.

Bevor Sie eine BACPAC-Datei erstellen, empfehlen wir zwei vorbereitende Schritte.Zunächst trennen Sie alle Benutzer aus der Datenbank, und führen Sie eine traditionelle Sicherung.Dies schont die Integrität des Transaktionsprotokolls und sorgt dafür, dass die Datenbank ordnungsgemäß und vollständig bereitgestellt wird.Es wird absolut davon abgeraten die Schaffung einer BACPAC-Datei aus einer live-Produktion-Datenbank.BACPAC Dateien sollte aus einem backup-Image erstellt werden.Als Nächstes erstellen Sie eine Windows-Azure- SQL Server VM.Sie können eigene VM erstellen und laden Sie sie, wenn Sie wollen, aber ein einfacher Weg ist, die Windows-Azure-Bildergalerie zu nutzen, die auf dem Windows Azure Management Portal vorhanden ist.Sie können wählen einfach aus einer Liste von verfügbaren VM-Images.

Um zu starten, melden Sie sich bei der Windows-Azure-Verwaltungsportal.Klicken Sie auf der Befehlsleiste auf neu | Virtuelle Maschine | Aus der Galerie.Abbildung 3listet die verschiedenen Varianten von SQL Server und Windows-Server, aus denen Sie wählen können.

The Image Gallery for Windows Azure Virtual Machines
Abbildung 3 die Bildergalerie für Windows Azure virtuelle Maschinen

Nachdem Sie ein Bild aus der Galerie ausgewählt haben, können Sie aus einer Liste von Hardware-Optionen wählen.Abbildung 4 zeigt, die auf dem hohen Sie enden können 8 Kerne und 56GB RAM.

Available Virtual Machine Configurations
Abbildung 4 verfügbare virtuelle Maschinenkonfigurationen

Exportieren einer BACPAC von Ihrer lokalen Datenbank zunächst nicht vergessen, dass dieser Prozess SQL Server 2012-spezifisch ist.

  1. Um eine BACPAC-Datei zu erstellen, starten Sie SSMS und eine Verbindung zu der lokalen Instanz.
  2. Als nächstes im Objekt-Explorer erweitern Sie den Knoten für die Instanz aus der Sie Exportieren der Datenbank und der daraus resultierenden BACPAC zu erstellen möchten.
  3. Maustaste auf die Datenbank, klicken Sie auf Aufgaben, und wählen Sie Export Data-Tier-Anwendung.Ein Assistent wird angezeigt, und für das Speicher-Ziel der BACPAC-Datei werden Sie aufgefordert.

Das tolle hier ist, dass der Assistent können Sie in einem Microsoft-Rechenzentrum die BACPAC-Datei in Windows Azure Storage zu speichern, die den Importvorgang vom Windows Azure SQL Server VM drastisch vereinfacht werden kann.Wenn Sie kein Speicher-Konto besitzen, müssen Windows Azure Management Portal und erstellen Sie eine erste.Achten Sie auf der Storage Account Name und Management Key zugeordnet, aufnehmen, wie sie vom Assistenten erforderlich sind.Wenn keine Fehler auftreten, Sie sind jetzt die BACPAC-Datei erstellt.Beachten Sie, dass dieser Prozess mehrere Minuten, bis zu mehreren Stunden abhängig von der Größe Ihrer Datenbank dauern kann.Außerdem, wie bereits erwähnt, müssen Sie sich bewusst sein, dass es Service für bestehende Nutzer die verbunden sind, unterbricht, so Sie ein herkömmlichen Backup zuerst tun sollten, bevor Sie eine BACPAC-Datei erstellen.

Die BACPAC-Datei ist nur ein Blob in Windows Azure Storage.Sobald Sie das Projekt erfolgreich erstellt haben, können Sie starten Visual Studio und zeigen Sie die Datei mithilfe des Server-Explorers (oder ähnliche Werkzeuge, die können Sie Windows Azure Storage durchsuchen).Die URL für Ihre BACPAC-Datei wird wie folgt aussehen: https://[Your-Storage-­Konto-Name]. blob.core.windows.NET / [Ihr -­Container-Name] / [eigener-Datenbank-Name] .bacpac.

Remoting in Ihrer SQL Server -Datenbank-VM Sie müssen nun in der SQL Server -Datenbank-VM bereits zu entfernten.Beachten Sie, dass die Anmeldeinformationen nicht Ihre Windows Azure Abonnementanmeldeinformationen werden, aber eher die Anmeldeinformationen Sie, angegeben Wenn Sie die VM erstellt.In unserem Fall war der Login-Name "Msdn-Vm\the-Admin" plus das wir eingegebene Kennwort.

Importieren der BACPAC-Datei von Windows Azure Storage sobald Sie in die VM angemeldet sind, Sie können in der Cloud gehosteten VM BACPAC-Datei importieren.

  1. Mit der lokalen Instanz des SQL Serverherstellen Sie, dann starten Sie SSMS.
  2. Im Objekt-Explorer mit der rechten Maustaste auf Datenbanken, und wählen Sie dann das Menüelement Import Data-Tier-Anwendung, um den Assistenten zu starten.Der Assistent ist ähnlich dem verwendet, um die BACPAC für die lokalen Datenbank zu erstellen.Geben Sie erneut die Speicherdetails Konto, z. B. den Namen der Speicherplatz-Account und dem Management-Schlüssel.Der Assistent wird der Container und die Namen der BACPAC Datei angezeigt.
  3. Klicken Sie auf neben kompletten Datenbank Importvorgang.Abbildung 5 zeigt einen erfolgreichen Import der Datenbank in der Cloud gehosteten VM in einem Microsoft-Rechenzentrum.

Successful Import of MarketIndexData
Abbildung 5 erfolgreiche Import von MarketIndexData

Eine SQL Server -Datenbank migrieren zu einer Windows Azure SQL-Datenbank

Wie bereits erwähnt, hat Microsoft ein PaaS-Datenbank-Angebot bekannt als Windows Azure SQL-Datenbank.Um die BACPAC-Datei (die verpackten firmeninternen Datenbank gerade erstellten) zu importieren, Windows Azure Management Portal einloggen.Wählen Sie SQL-Datenbanken und dann importieren aus dem Befehlsfenster.Sie werden aufgefordert, geben die URL für die BACPAC-Datei als Blob-Datei in Windows Azure Storage wohnten wie in Abbildung 6.Dies ist die gleiche URL, die zuvor für die BACPAC-Datei verwendet.Dies ist einer der großen Vorteile von BACPAC-Dateien: Sie können verwendet werden, für den Import von SQL-Datenbank von Windows Azure und Windows Azure SQL Server Datenbank VMs.

Importing the BACPAC File
Abbildung 6 die BACPAC-Datei importieren

Wenn der Importvorgang abgeschlossen ist, werden Sie in der Lage, beim Öffnen der Datenbank in SSMS, genauso wie wir mit der Windows Azure- SQL Server -Datenbank-VMs.In der Tat funktioniert SSMS mit allen vier Optionen, die zuvor dargestellt.Sie müssen nur den Namen des Servers aus dem Windows Azure Management-Portal für die Datenbank zu erhalten, und Sie müssen bestimmte Client-IP-Adressen auf dem Portal zu aktivieren.Sie finden weitere Informationen auf die Tools und Dienstprogramme unterstützen (Windows Azure SQL-Datenbank) Seite unter bit.ly/Vh8jGg.

总结

Die Windows-Azure-Plattform schnell, vor allem im Bereich des VMs und SQL Server entwickelt hat-Datenbanktechnologie.Kunden sind aggressiv ihre Datenbanken in die Cloud migrieren, in dem Bemühen, sowie Kostensenkung, um zu nutzen, andere Ressourcen, z. B. Lagerung, Zwischenspeichern, Identität, VPNs, messaging und mehr.Während Windows Azure SQL-Datenbank enorme Kostenvorteile bieten können, bieten nicht es den Grad an Kompatibilität verlangten viele Enterprise-Kunden.In zukünftigen Versionen von SSMS (2014) sollen die Bereitstellung Assistenten in dieses Monats dargestellt manuelle automatisieren.Wenn diese Assistenten kommen, sorgt die Lehren, dass Sie wissen, wie sie funktionieren und was sie tun.

Bruno Terkaly arbeitet als Entwicklungsexperte für Microsoft. Seine fundierten Kenntnisse sind das Ergebnis langjähriger Programmierungserfahrung mit einer Vielzahl von Plattformen, Sprachen, Frameworks, SDKs, Bibliotheken und APIs. Er schreibt Code, Blogs und referiert live über die Erstellung von cloudbasierten Anwendungen, insbesondere mit der Windows Azure-Plattform. Lesen Sie seinen Blog unter blogs.msdn.com/b/brunoterkaly.

Der erfahrene Softwarearchitekt Ricardo Villalobos  erstellt seit über 15 Jahren Anwendungen für Unternehmen in der Supply-Chain-Management-Branche. Halten verschiedene technische Zertifizierungen, sowie einen Master-Abschluss in Betriebswirtschaft von der Universität Dallas, arbeitet er als ein Plattform-Evangelist in der weltweit engagierten Partnern DPE-Gruppe für Microsoft. Sie können lesen Sie seinen Blog unter blog.ricardovillalobos.com.

Terkaly und Villalobos präsentieren gemeinsam bei großen Konferenzen.Sie ermutigen die Leser des Windows Azure-Insider zu ihnen Verfügbarkeit erhalten.Erreichen sie bei bterkaly@microsoft.com oder Ricardo.Villalobos@microsoft.com.

Unser Dank gilt dem folgenden technischen Experten für die Durchsicht dieses Artikels: Robin Shahan
Robin Shahan ist MVP für Microsoft Windows Azure mit über 25 Jahren Erfahrung in der Entwicklung komplexer, geschäftskritische Anwendungen.Als Vice President of Technology für GoldMail wanderten sie ihre gesamte Infrastruktur auf Windows Azure in 2 Monaten ihre Infrastrukturkosten um 90 % zu reduzieren.Sie ist jetzt ein Windows Azure-Berater.Folgen Sie @RobinDotNet auf twitter und lesen Sie ihr Blog unter http://robindotnet.wordpress.com.