Wie stelle ich meine lokale Datenbank in der Windows Azure-Datenbank wieder her?

77

Ich habe meine Anwendung auf Windows Azure hochgeladen. Jetzt möchte ich meine lokale Datenbank in der Windows Azure-Datenbank speichern.

Bitte schlagen Sie mir vor, wie ich eine Tabelle erstellen und die Tabelle dort sichern kann.

Pankaj Mishra
quelle

Antworten:

71

Dafür gibt es mehrere Möglichkeiten:

  1. Am zuverlässigsten (was ich normalerweise verwende) ist die Verwendung des SQL Azure-Migrationsassistenten
  2. Dann haben Sie die Option "Skripte generieren" in Ihrem SSMS (SQL Server Management Studio 2008 R2 oder höher). Die Option "Skripte generieren" verfügt über eine Funktion, mit der SQL Azure-kompatibles Skript erstellt werden kann. Es kann auch Daten skripten. Ich empfehle jedoch die Verwendung der ersten Methode, wenn Sie auch Daten migrieren möchten. Der SQL Azure-Migrationsassistent verwendet das BCP-Tool, mit dem die Daten in Binärdateien gespeichert werden, während SSMS nur Inline-INSERT-Anweisungen generiert
  3. SSIS (SQL Server Integration Services) - Sie können eine Datenübertragungsaufgabe erstellen, aber ich würde sie für kleine DBs sehr selten verwenden.
  4. Datenebenenanwendung exportieren / importieren (mithilfe des DACPAC-Pakets) - Dadurch wird Ihr Schema migriert und Ihre Daten können ebenfalls migriert werden.

UPDATE 2017-10-24

Die Azure SQL-Datenbank unterstützt jetzt die Transaktionsreplikation von Ihrem lokalen SQL Server. Sie können Ihre Azure SQL-Datenbank als Abonnenten und Ihren SQL Server vor Ort als Herausgeber konfigurieren. Weitere Informationen zu Optionen und Strategien für die Datenbankmigration finden Sie hier: https://docs.microsoft.com/en-us/azure/sql-database/sql-database-cloud-migrate

Update 23.12.2017

Der SQL Azure-Migrationsassistent wurde durch den Datenmigrationsassistenten ersetzt: https://docs.microsoft.com/en-us/azure/sql-database/sql-database-cloud-migrate

Astaykov
quelle
Ich habe versucht, SQL Server 2014-Tools für den Job zu verwenden, war jedoch nicht erfolgreich. Der SQL Azure-Migrationsassistent hat die Aufgabe ordnungsgemäß ausgeführt.
nrod
1
In einer zweiten Migration einige Tage später SQL Azure Migration Wizardhalf das nicht. Die Lösung endete als: eine Datenebene aus dem Extrahieren von Local SQL Server (mit Visual Studio SQL Server Object Explorer) und dann die gleichen Datei in veröffentlichen Azure SQL - Datenbank (auch mit Visual Studio SQL Server Object Explorer) und das Kontrollkästchen Auswahl Registern als Datenebenenanwendung und überprüft unvereinbar Plattform zuläßt in erweiterte Optionen. Hat wirklich gut funktioniert!
Nrod
Ich bin erstaunt, wie die Leute 2017 kommen und die 2011 abgegebenen Antworten ablehnen. In diesem speziellen Fall werde ich dennoch antworten, dass die zuverlässigste Methode zum Verschieben der SQL-Datenbank in Azure SQL DB die Verwendung des SQL Azure-Migrationsassistenten ist. Es sei denn, Sie suchen nach einer Migration ohne Ausfallzeiten.
Astaykov
2
Der SQL Azure-Migrationsassistent wurde durch den Datenmigrationsassistenten
Jeroen
21

Wenn Sie bereits eine Datenbank auf dem lokalen Computer haben, können Sie diese mit SQL Management Studio direkt auf Azure migrieren. Folge diesen Schritten:

  1. Klicken Sie mit der rechten Maustaste auf den Datenbanknamen in SSMS

Geben Sie hier die Bildbeschreibung ein

  1. Folgen Sie dem Assistenten, der dann angezeigt wird
Vishal
quelle
Benötigen Sie etwas anderes als die IP, wenn Sie eine Verbindung zu Azure herstellen? Benötigen Sie einen Port?
Dan B
Nein, Sie benötigen nur die Anmeldeinformationen Ihres SQL Azure-Kontos, um eine Verbindung zu Azure in SSMS herzustellen. In Azure Portal sollten Sie Ihre IP-Adresse hinzugefügt haben, um mithilfe der Firewall-Einstellungen in SQL Azure auf die Datenbank zugreifen zu können.
Vishal
Das hat bei mir gut funktioniert, aber Sie müssen etwas vorsichtig sein, welche Benutzer mit der Datenbank verknüpft sind. Alle Windows-basierten Benutzer oder Dienste führen zu einem Fehler beim Prozess. Sobald Sie sie entfernt haben, ist alles gut, um wieder zu gehen.
Jocull
5

Es gibt einige Möglichkeiten, um diese Funktionalität zu erreichen.

  1. SQL Azure-Import / Export. "DACPAC" & "BACPAC"
  2. Microsoft Codename "Datenübertragung"
  3. SQL Azure-Datensynchronisierung Windows Azure SQL-Datensynchronisierung
  4. Migrieren von Datenbanken mit dem Import / Export-Assistenten in SSMS
  5. SQL Azure-Migrationsassistent (wie in anderen Antworten erwähnt)
Cory-Fowler
quelle
Es tut uns leid, wenn dadurch ein altes Thema wiederbelebt wird, aber einige dieser Links sind jetzt veraltet und nicht mehr verfügbar.
Jamie Barrow
Es gab nur einen Link, der nicht verfügbar ist. Er wurde jetzt aktualisiert.
Cory-Fowler
2
Vielen Dank. Außerdem ist die Laborphase des Microsoft-Codenamens "Datenübertragung" abgeschlossen. Ich konnte auf dieser Seite nichts damit zu tun haben, nur angenommen, dass sie jetzt veraltet ist.
Jamiebarrow
1

Ich gehe davon aus, dass Sie sich auf SQL Azure beziehen. In diesem Fall möchten Sie wahrscheinlich den SQL Azure-Migrationsassistenten unter http://sqlazuremw.codeplex.com/ verwenden.

Igorek
quelle
0

Ich glaube, SQL Server 2012 Management Studio und SQL Azure Tools bieten jetzt auch diese Option.

Wenn Sie in SSMS mit der rechten Maustaste auf das Datenbankstammverzeichnis klicken, gibt es die Option "Datenebenenanwendung importieren ...", mit der Sie einen BACPAC wiederherstellen können (Sie können auch mit der rechten Maustaste auf eine Datenbank klicken und "Datenebene exportieren" auswählen Anwendung ... "zum Exportieren einer vorhandenen Datenbank in ein BACPAC).

SQL Server Data Tools aktiviert Visual Studio 2010 mit einer Datenvergleichsoption, mit der auch Daten zwischen zwei Datenbankinstanzen verschoben werden können (was für kleinere Datenpatches geeignet wäre).

Jamiebarrow
quelle