Weiß jemand, wie ich eine SQL Azure-Datenbank auf meinen Entwicklungscomputer kopieren kann? Ich würde gerne aufhören zu zahlen, um eine Entwicklungsdatenbank in der Cloud zu haben, aber es ist der beste Weg, um Produktionsdaten zu erhalten. Ich kopiere meine Produktionsdatenbank in eine neue Entwicklungsdatenbank, möchte aber dieselbe Datenbank lokal haben.
Irgendwelche Vorschläge?
Antworten:
Es gibt mehrere Möglichkeiten, dies zu tun:
data
in Ihre Tabelle importiert . Spalteneigenschaften, Einschränkungen, Schlüssel, Indizes, gespeicherte Prozeduren, Trigger, Sicherheitseinstellungen, Benutzer, Anmeldungen usw. werden nicht übertragen. Dies ist jedoch ein sehr einfacher Vorgang, der einfach über den Assistenten in SQL Server Management Studio ausgeführt werden kann.Das manuelle Verfahren für Methode 1 (unter Verwendung von SSIS) ist das folgende:
Sie können es automatisieren, indem Sie ein SSIS-Paket erstellen und es jederzeit erneut ausführen, wenn Sie die Daten erneut importieren möchten. Beachten Sie, dass Sie nur mit SSIS in eine saubere Datenbank importieren können. Sie können keine inkrementellen Aktualisierungen an Ihrer lokalen Datenbank vornehmen, wenn Sie dies bereits einmal getan haben.
Methode 2 (SSID-Daten plus Schemaobjekte) ist sehr einfach. Führen Sie zuerst die oben beschriebenen Schritte aus und erstellen Sie dann ein DB-Erstellungsskript (klicken Sie mit der rechten Maustaste auf die Datenbank in SSMS und wählen Sie "Skripte generieren" -> "Datenbank erstellen"). Spielen Sie dieses Skript dann in Ihrer lokalen Datenbank erneut ab.
Methode 3 wird im Blog hier beschrieben: http://dacguy.wordpress.com/2012/01/24/sql-azure-importexport-service-has-hit-production/ . Es gibt einen Videoclip, in dem DB-Inhalte als BACPAC in den Azure Blob-Speicher übertragen werden. Danach können Sie die Datei lokal kopieren und in Ihre SQL-Instanz importieren. Der Vorgang zum Importieren von BACPAC in eine Data-Tier-Anwendung wird hier beschrieben: http://msdn.microsoft.com/en-us/library/hh710052.aspx .
quelle
Kopieren von Azure-Datenbankdaten in die lokale Datenbank: Jetzt können Sie SQL Server Management Studio wie folgt verwenden:
"Weiter" / "Weiter" / "Fertig stellen"
quelle
Ich wollte nur eine vereinfachte Version von Dumbledads Antwort hinzufügen , da es die richtige ist.
quelle
In SQL Server 2016 Management Studio wurde der Prozess zum Abrufen einer Azure-Datenbank auf Ihren lokalen Computer optimiert.
Klicken Sie mit der rechten Maustaste auf die Datenbank, die Sie importieren möchten, klicken Sie auf Aufgaben> Datenebenenanwendung exportieren und exportieren Sie Ihre Datenbank in eine lokale DACPAC-Datei.
In Ihrer lokalen SQL Server-Zielinstanz können Sie mit der rechten Maustaste auf Datenbanken> Anwendung auf Datenebene importieren klicken. Sobald diese lokal ist, können Sie beispielsweise die Datenbank sichern und wiederherstellen.
quelle
Ich denke, es ist jetzt viel einfacher.
Zusätzlich verwende ich SQL Backup und FTP ( https://sqlbackupandftp.com/ ), um tägliche Backups auf einem sicheren FTP-Server durchzuführen . Ich ziehe einfach eine aktuelle BACPAC-Datei von dort und importiere sie im selben Dialogfeld, wodurch eine lokale Datenbank schneller und einfacher erstellt werden kann.
quelle
Sie können SQL Azure Data Sync auch im Windows Azure-Verwaltungsportal auschecken. Sie können damit eine gesamte Datenbank abrufen und wiederherstellen, einschließlich Schema und Daten zwischen SQL Azure und SQL Server.
quelle
Es ist ziemlich einfach. Dies hat bei mir funktioniert ... um eine Azure SQL-Datenbank auf Ihren lokalen Computer zu übertragen ...:
ABER seien Sie vorsichtig, wenn Sie AUCH die DATEN sowie die Skripte möchten, überprüfen Sie unbedingt die erweiterten Optionen, bevor Sie mit der Generierung beginnen ... Scrollen Sie nach unten zu "Arten von zu skriptenden Daten" und stellen Sie sicher, dass Sie " Schema und Daten "... oder was auch immer für Sie angemessen ist.
Sie erhalten eine schöne SQL-Skriptdatei, die dann auf Ihrem lokalen Computer ausgeführt werden kann. Sie erstellt die Datenbank und füllt sie mit allen Daten.
Bedenken Sie jedoch, dass ich in meinem Fall keine FK oder andere Einschränkungen habe. Außerdem waren es nicht viele Daten.
Ich empfehle dies nicht als Backup-Mechanismus im Allgemeinen ...
quelle
sqlcmd /S <server> /d <database> -E -i <azure_dump.sql>
Verwenden von
msdeploy.exe
Vorsichtsmaßnahme: Die Zieldatenbank kann
msdeploy.exe
nicht selbst erstellt werden. Sie müssen sie daher zuerst manuell erstellen.Laufen Sie
msdeploy.exe
so:Verwenden von
SqlPackage.exe
Exportieren Sie die Azure-Datenbank in ein Bacpac-Paket.
Importieren Sie das Paket in eine lokale Datenbank.
quelle
Bitte versuchen Sie dies: http://mooneyblog.mmdbsolutions.com/index.php/2011/01/11/simple-database-backups-with-sql-azure/ .
Eine andere Alternative wäre SQL Azure Data Sync .
Es gibt noch einen Blog-Beitrag, den ich vor ein paar Tagen gelesen habe, aber jetzt nicht finden konnte. Ich werde diesen Beitrag aktualisieren, sobald ich ihn finde.
quelle
In SQL Server Management Studio
Klicken Sie mit der rechten Maustaste auf die Datenbank, die Sie importieren möchten, klicken Sie auf Aufgaben> Datenebenenanwendung exportieren und exportieren Sie Ihre Datenbank in eine lokale DACPAC-Datei.
In Ihrer lokalen SQL Server-Zielinstanz können Sie mit der rechten Maustaste auf Datenbanken> Anwendung auf Datenebene importieren klicken. Sobald diese lokal ist, können Sie beispielsweise die Datenbank sichern und wiederherstellen.
quelle
Ich konnte den SSIS-Import / Export nicht zum Laufen bringen, da der Fehler "Fehler beim Einfügen in die schreibgeschützte Spalte" id "" angezeigt wurde. Ich konnte auch http://sqlazuremw.codeplex.com/ nicht zum Laufen bringen, und die obigen Links zu SQL Azure Data Sync funktionierten bei mir nicht.
Aber ich habe einen ausgezeichneten Blog-Beitrag über BACPAC-Dateien gefunden: http://dacguy.wordpress.com/2012/01/24/sql-azure-importexport-service-has-hit-production/
In dem Video im Beitrag durchläuft der Autor des Blogposts sechs Schritte:
Erstellen oder wechseln Sie zu einem Speicherkonto im Azure-Verwaltungsportal. Sie benötigen die Blob-URL und den primären Zugriffsschlüssel des Speicherkontos.
In dem Blogbeitrag wird empfohlen, einen neuen Container für die Bacpac-Datei zu erstellen, und es wird empfohlen, dafür den Azure Storage Explorer zu verwenden. (Hinweis: Sie benötigen die Blob-URL und den primären Zugriffsschlüssel des Speicherkontos, um sie dem Azure Storage Explorer hinzuzufügen.)
Wählen Sie im Azure Management Portal die Datenbank aus, die Sie exportieren möchten, und klicken Sie im Abschnitt Importieren und Exportieren der Multifunktionsleiste auf "Exportieren".
Der resultierende Dialog erfordert Ihren Benutzernamen und Ihr Passwort für die Datenbank, die Blob-URL und den Zugriffsschlüssel. Vergessen Sie nicht, den Container in die Blob-URL aufzunehmen und einen Dateinamen anzugeben (z . B. https://testazurestorage.blob.core.windows.net/dbbackups/mytable.bacpac ).
Nachdem Sie auf Fertig stellen geklickt haben, wird die Datenbank in die BACPAC-Datei exportiert. Dies kann eine Weile dauern. Möglicherweise wird sofort eine Null-Byte-Datei angezeigt, wenn Sie im Azure Storage Explorer einchecken. Dies ist der Import / Export-Dienst, der überprüft, ob er Schreibzugriff auf den Blob-Store hat.
Anschließend können Sie die BACPAC-Datei mit dem Azure Storage Explorer herunterladen und dann im SQL Server Management Studio mit der rechten Maustaste auf den Datenbankordner Ihres lokalen Servers klicken und Datenebenenanwendung importieren auswählen, um den Assistenten zu starten, in den die BACPAC-Datei eingelesen wird Erstellen Sie die Kopie Ihrer Azure-Datenbank. Der Assistent kann auch eine direkte Verbindung zum Blob-Store herstellen, um die BACPAC-Datei abzurufen, wenn Sie sie nicht zuerst lokal kopieren möchten.
Der letzte Schritt ist möglicherweise nur in der SQL Server 2012-Edition von SQL Server Management Studio verfügbar (das ist die Version, die ich ausführe). Ich habe keine früheren auf diesem Computer zu überprüfen. In dem Blog-Beitrag verwendet der Autor das Befehlszeilentool DacImportExportCli.exe für den Import, der meiner Meinung nach unter http://sqldacexamples.codeplex.com/releases verfügbar ist
quelle
In Bezug auf "Ich konnte den SSIS-Import / Export nicht zum Laufen bringen, da der Fehler" Fehler beim Einfügen in die schreibgeschützte Spalte "id" "aufgetreten ist. Dies kann umgangen werden, indem Sie im Zuordnungsbildschirm angeben, dass Sie möchten Identitätselemente einfügen lassen.
Danach funktionierte alles einwandfrei mit dem SQL-Import / Export-Assistenten zum Kopieren von Azure in die lokale Datenbank.
Ich hatte nur den SQL-Import- / Export-Assistenten, der mit SQL Server 2008 R2 geliefert wurde (funktionierte einwandfrei), und Visual Studio 2012 Express, um eine lokale Datenbank zu erstellen.
quelle
Die akzeptierte Antwort ist veraltet. Ich habe eine bessere Antwort gefunden: Verwenden Sie Import Data-Tier Application
Weitere Informationen finden Sie in diesem Artikel: Wiederherstellen der Azure SQL-Datenbank auf einem lokalen Server
quelle
Sie können es mit dem Tool "SQL Database Migration Wizard" versuchen. Dieses Tool bietet die Möglichkeit, Daten aus Azure SQL zu importieren und zu exportieren.
Bitte überprüfen Sie weitere Details hier.
https://sqlazuremw.codeplex.com/
quelle
Mit den neuen Azure Mobile-Diensten können Sie einen nächtlichen Sicherungsexport von SQL Azure in eine im Azure-Speicher gehostete .bacpac-Datei durchführen. Diese Lösung ist zu 100% Cloud, erfordert kein Tool eines Drittanbieters und keine lokal gehostete SQL Server-Instanz, um etwas herunterzuladen, zu kopieren oder zu sichern.
Es gibt ungefähr 8 verschiedene Schritte, aber sie sind alle einfach: http://geekswithblogs.net/BenBarreth/archive/2013/04/15/how-to-create-a-nightly-backup-of-your-sql-azure .aspx
quelle
Ich benutze immer die Import / Export-Funktion, die die einfachste unter allen zu sein scheint.
Schritt 1:
Rufen Sie die Sicherung von der Azure-Instanz wie folgt ab: Wählen Sie die Datenbank aus → Rechtsklick → Aufgaben → Datenebenenanwendung exportieren.
Schritt 2: Geben Sie einen bestimmten Namen für die Sicherungsdatei ein und speichern Sie sie an Ihrem gewünschten Speicherort
Schritt 3: Sie haben eine Sicherungskopie der Datenbank von der SQL-Instanz auf Ihre lokale Datenbank erstellt. Lässt es auf dem lokalen wiederherstellen. Kopieren Sie die gesicherte Datenbank auf Ihr C-Laufwerk. Öffnen Sie nun die PowerShell mit Administratorrechten und navigieren Sie zum Laufwerk C.
Schritt 4: Laden Sie das Powershell-Skript herunter, um den Hauptschlüssel zu entfernen. RemoveMasterKey.ps1 hat das Skript auf demselben Laufwerk, in diesem Fall C.
Schritt 5: Führen Sie das Skript wie folgt aus: \ RemoveMasterKey.ps1 -bacpacPath "C: \ identity.bacpac"
Jetzt können Sie es unter MSSQL 2017 in Ihrer lokalen Umgebung wiederherstellen.
Schritt 6: Stellen Sie eine Verbindung zu Ihrem lokalen Server her und klicken Sie auf Datenbanken → Datenebenenanwendung importieren
Schritt 7 : Geben Sie einen Namen für die wiederherzustellende Datenbank ein.
Jetzt sehen Sie alles in grün!
Lesen Sie meinen Blog mit Diagrammen.
quelle
Laden Sie Optillect SQL Azure Backup herunter - es hat eine 15-tägige Testversion, sodass es ausreicht, Ihre Datenbank zu verschieben :)
quelle
Der Trick für mich bestand darin, PKs / FKs / Einschränkungen für leere DBs zu replizieren und dann Einschränkungen beim Importieren von Daten vorübergehend zu deaktivieren (siehe https://stackoverflow.com/a/161410 ).
Etwas präziser:
Hoffe das hilft!
quelle
Jetzt können Sie dazu das SQL Server Management Studio verwenden.
quelle
Verwenden Sie den Import / Export-Dienst in SQL Azure, um eine .bacpac-Datei zu erstellen.
Schauen Sie sich diese Methode dann in einem anderen Artikel zum Stapelüberlauf an.
Lokale Wiederherstellung der Azure SQL-Datenbank Bacpac Local
quelle
Wenn jemand ein Problem beim Importieren eines Bacpac einer Datenbank hat, die Azure SQL Sync verwendet , hat Sandrino Di Mattia eine großartige einfache Anwendung entwickelt , um dieses Problem zu lösen.
quelle
Wenn jemand eine kostenlose und effektive Option zum Sichern der Datenbank auf Local wünscht (und dies auch manuell tun möchte), verwenden Sie die Schema- und Datenvergleichsfunktionen, die in der neuesten Version von Microsoft Visual Studio 2015 Community Edition (kostenlos) oder Professional / Premium / Ultimate integriert sind Auflage. Es wirkt wie ein Zauber!
Ich habe ein BizPark-Konto bei Azure und es gibt keine Möglichkeit, die Datenbank direkt zu sichern, ohne dafür zu bezahlen. Ich fand diese Option in VS funktioniert.
Die Antwort stammt von https://stackoverflow.com/a/685073/6796187
quelle
Hallo, ich verwende das SQLAzureMW-Tool für die Migration und Verwaltung von SQLAzure DB. Sehr nützlich. Es wurde von Codeplex heruntergeladen, ist aber derzeit nicht verfügbar. Der Codeplex wird heruntergefahren. Das gleiche Anwendungstool ist jetzt in GttHub verfügbar. Unter diesem Link wird die Verwendung dieses Tools erläutert und die Anwendung zum Herunterladen bereitgestellt.
https://github.com/twright-msft/azure-content/blob/master/articles/sql-database/sql-database-migration-wizard.md
quelle