Frage Dump Microsoft SQL Server-Datenbank zu einem SQL-Skript


Gibt es eine Möglichkeit, eine Microsoft SQL Server-Datenbank in ein SQL-Skript zu exportieren?

Ich suche nach etwas, das sich ähnlich wie mysqldump verhält, einen Datenbanknamen annimmt und ein einzelnes Skript erstellt, das alle Tabellen, gespeicherten Prozeduren neu erstellt, alle Daten usw. neu einfügt.

Ich habe gesehen http://vyaskn.tripod.com/code.htm#inserts, aber ich möchte idealerweise etwas, um alles neu zu erstellen (nicht nur die Daten), die in einem einzigen Schritt funktioniert, um das endgültige Skript zu produzieren.


116
2017-08-25 01:47


Ursprung


@Matt Ja, es exportiert die Daten nicht. Deshalb habe ich erwähnt, dass Sie es mit dem von Ihnen vorgeschlagenen Skript kombinieren sollten. Diese Methode erstellt jedoch ein Skript in der richtigen Reihenfolge. - Julio César
In Mangement Studio 2008 müssen Sie lediglich die Option "export data" aktivieren, und das Skript enthält sowohl Schema- als auch insert-Anweisungen. - user24161
Verbunden: Wie exportiert man Daten als CSV-Format von SQL Server mit sqlcmd? - kenorb


Antworten:


Klicken Sie in SQL Server Management Studio mit der rechten Maustaste auf Ihre Datenbank, und wählen Sie Aufgaben / Skripts generieren aus. Folgen Sie dem Assistenten und Sie erhalten ein Skript, das die Datenstruktur in der richtigen Reihenfolge nach Fremdschlüsseln neu erstellt. Wählen Sie im Assistentenschritt "Skriptoptionen festlegen" die Option "Erweitert" und ändern Sie die Option "Datentypen zum Skript" in "Schema und Daten".

TIPP: Im letzten Schritt wählen Sie "Skript in ein neues Abfragefenster", es wird auf diese Weise viel schneller arbeiten.


102
2017-08-25 01:59



Denken Sie daran, in erweiterte Optionen zu gehen und es dem Skript nicht nur das Schema, sondern auch die Daten mitzuteilen. - RomanSt
@romkyns verdient alle Up-Stimmen! "Datentypen für das Skript" ist der genaue Optionsname. Sie werden "Schema und Daten" auswählen. - solidau
Das Hauptproblem bei Skripten, die aus SSMS generiert werden, ist, dass sie nicht korrekt angeordnet sind, um Abhängigkeiten zu berücksichtigen. Dies ist kein Problem für kleine Datenbanken, wo Sie dies manuell tun können, aber es ist definitiv ein Problem, wenn die Datenbank mehr als 50 Objekte bekommt. Bisher haben wir erfolgreich eingesetzt ApexSQL-Skript dafür. Es ist ein Premium-Tool, aber Sie können es im Testmodus verwenden, um die Arbeit zu erledigen. Meiner Ansicht nach Rotes Tor hat auch ein ähnliches Werkzeug. - David Smithers


Versuchen SQL Server-Datenbankveröffentlichungs-Assistent. Möglicherweise müssen Sie das Skript neu anordnen, um es aufgrund von Abhängigkeiten in einem Durchgang ausführen zu lassen, aber es enthält Ihr Schema und Ihre Daten.

Wenn Sie 2005 keine SQL XMO-Objekte installiert haben, erhalten Sie beim Ausführen einen Fehler der Zauberer. Sie werden die Microsoft SQL Server 2005-Verwaltungsobjektsammlung benötigen


34
2017-08-25 01:57



Tatsächlich müssen Sie das Skript nicht neu anordnen, da es alle Einschränkungen löscht, das Schema erstellt, die Daten einfügt und schließlich die Einschränkungen neu erstellt. - Daniel Silveira
Super, das ist ziemlich ordentlich - Beep beep
Dies ist ein großartiges Werkzeug, obwohl nur SQL Server 2015 unterstützt. Wie wäre es mit 2008 und später? - Nam G VU


ich fand SQL-Kipper ziemlich nützlich. Es ist kostenlos, also können Sie es versuchen. Sie können die Datenbanktabellen und -spalten, Ansichten und sogar die Ergebnisse benutzerdefinierter Abfragen als SQL-Insert-Anweisungen auswählen.


11
2018-02-10 16:40



Letzte stabile Version funktioniert nicht mit gespeicherten Prozeduren. - VMAtm
Die letzte Version kann von heruntergeladen werden download.cnet.com/SQL-Dumper/3000-10254_4-10514574.html - Raynet


Da ich das richtige Tool nicht finden konnte, entschied ich mich, mein eigenes zu erstellen: ein Befehlszeilenprogramm sqlserverdump. Schau es dir an http://sqlserverdump.codeplex.com/. Es erstellt Schema und Daten in einem einzigen Schritt neu.


7
2017-09-22 06:50





Versuchen DBSourceTools. Es wurde entwickelt, um eine Quellendatenbank zu scripten und in einer Zieldatenbank erneut bereitzustellen. Es scriptet Schema und Daten.


6
2018-03-08 03:50





Die empfohlene Lösung funktioniert nur für SQL 2000 und 2005. Wenn Sie dies auf SQL 2008 tun möchten,

Sie können es mit SQL 2008 ohne andere Plugins machen. Klicken Sie mit der rechten Maustaste auf die Datenbank und wählen Sie "Aufgaben -> Skripte erstellen ...". Wählen Sie die Datenbank und was Sie sichern möchten. Klicken Sie auf "Weiter" und legen Sie "Script Data" auf "True" fest.

Weitere Dokumentation unter Link:

http://blog.sqlauthority.com/2011/05/07/sql-server-2008-2008-r2-create-script-to-copy-database-schema-and-all-the-objects-data-schema- Stored-Procedure-Funktionen-Trigger-Tabellen-Views-Constraints-und-alle-andere-Datenbank-Objekte /


5
2018-05-29 22:58



meta.stackexchange.com/questions/8231/... - jscott


Der SQL Server-Datenbankveröffentlichungs-Assistent scheint tatsächlich der beste Weg dafür zu sein. Das Problem dabei ist, dass es nicht unter Windows 7 zu laufen scheint. Ich musste meinen alten Computer benutzen, um es zu benutzen. Auf der positiven Seite funktioniert es mit älteren SQL Server-Versionen wie 2000.

Für neuere SQL-Versionen und Betriebssysteme könnte diese Software einen Blick wert sein: http://sqlbackupandftp.com/


2
2018-04-27 19:32





Ombelt macht ein nettes Werkzeug zum Exportieren von MS SQL Server DBs. www.ombelt.com

ähnlich wie die Deponien anderer DB.

Funktioniert bei mir.


0
2017-08-25 05:54





Überprüfen Sie das Microsoft SQL Server Schema Dump-Projekt (mssql-schema-dump Werkzeug bei GitHub).

Verwendungszweck: mssqldump -h data-source-host -u username -p password [-d path/for/files] [-c] [-s] [-a] [-b DB1[,DB2[,DB3]]]

Der Export unterstützt:

  • DB: Schema, Benutzertypen, Benutzertabellenarten, Trigger, Volltextkataloge, Volltext-StopLists, gespeicherte Prozeduren, Funktionen
  • DB.Tables: Schema, Trigger, Indizes, DRI, Statistiken
  • DB.Views: Schema, Trigger, Indizes, DRI, Statistiken

0
2018-02-08 17:44