Exportieren und Importieren von SQL Server-Datenbankdaten in ein SQL-Skript

September 8th, 2022

Wir stehen recht häufig vor der Aufgabe, Datenbankverzeichnisdaten zu migrieren. Die Datenbank für einen Personalvermittlungsdienst, die wir in der vorangegangenen Artikelserie erstellt haben, bildet dabei keine Ausnahme. In diesem Artikel zeigen wir Ihnen, wie Sie Daten in eine .sql-Datei exportieren und anschließend in die Zieldatenbank importieren können. Sie können entweder die gesamte Datenbank oder bestimmte Objekte migrieren, je nachdem, was Sie vorhaben.

Zunächst einmal sollten Sie wissen, dass es viele Möglichkeiten gibt, dieses Problem zu lösen:

  1. Mit dbForge Data Compare for SQL Server.
  2. Verwendung der in SSMS eingebetteten Datenexportwerkzeuge.
  3. Über die Implementierung von SSIS-Paketen.

Die meisten der oben genannten Lösungen sind jedoch zu umständlich, wenn es darum geht, eine oder mehrere Tabellen zu migrieren.

In diesem Artikel werden wir einen Blick auf die Data Pump-Lösung werfen, die ebenfalls Teil von dbForge Studio for SQL Server ist. Dieses Tool erleichtert den Datenimport und -export, da es erweiterte Optionen, Vorlagen und eine Reihe von weit verbreiteten Datenformaten für den Export und Import bietet.

Eine Schritt-für-Schritt-Anleitung für die Erstellung einer Datenbank für einen Personalvermittlungsdienst finden Sie hier.

The database schema for a recruitment service

Abb.1. Datenbankschema für einen Personalvermittlungsdienst

Wie exportiert man SQL Server-Daten in ein SQL-Skript?

  1. Wählen Sie Datenexport auf Datenbankebene aus

    Legen wir los! Wählen Sie die gewünschte Datenbank aus und klicken Sie mit der rechten Maustaste auf die gewünschte Tabelle (wenn Sie eine bestimmte Tabelle exportieren möchten) oder die Datenbank (wenn Sie mehrere Tabellen exportieren möchten) und wählen Sie Export Data:
    Data export on the database level

  2. Klicken Sie auf Export Data

    Selecting data export on the table level

  3. Wählen Sie das Exportformat

    Auf der Registerkarte Export format können Sie dann zwischen verschiedenen Formaten für den Datenexport wählen. Wir wählen SQL-Skripte und drücken auf Next: Selecting the export format

  4. Wählen Sie die zu exportierenden Daten

    Wählen Sie nun auf der Registerkarte Source die Tabellen aus, aus denen Daten exportiert werden sollen, dann klicken Sie auf Next.
    In diesem Fall wählen wir drei Verzeichnisse aus:
    1. “dbo.Company” – Liste von Unternehmen.
    2. “dbo.Position” – Liste der Stellen.
    3. “dbo.Skill” – Liste der Fähigkeiten.
    Beachten Sie, dass es möglich ist, die Verbindung und die Datenbank jederzeit zu ändern.
    The source data for export

  5. Wählen Sie die Art der Skripterstellung

    Wählen Sie dann auf der Registerkarte Options die Art der Skripterstellung für den Datenexport aus und legen Sie fest, ob Sie den Datenbanknamen in das Skript aufnehmen möchten. Klicken Sie dann auf Next.
    Beachten Sie, dass das Fenster 4 Arten der Skripterstellung für den Datenexport vorschlägt:
    1. INSERT (EINFÜGEN). Ein Skript für das Einfügen von Daten wird generiert.
    2. UPDATE (AKTUALISIEREN). Ein Skript für die Aktualisierung von Daten wird generiert, d.h. die passenden Schlüsselfelder werden gefunden und die Aktualisierung wird durchgeführt.
    3. DELETE (LÖSCHEN). Ein Skript zum Löschen von Daten wird generiert, d.h. alle Daten, die mit den exportierten Daten nach Schlüsselfeldern auf der Seite der Zieldatenbank übereinstimmen, werden gelöscht.
    4. MERGE (ZUSAMMENFÜHREN). Ein Skript zum Zusammenführen von Daten wird generiert, welches die ersten beiden Typen umfasst: INSERT und UPDATE.
    The statement types in the data export options

  6. Wählen Sie die Spalten und Schlüsselfelder für den Export aus

    Auf der Registerkarte Table columns müssen Sie nun die erforderlichen Spalten und Schlüsselfelder für den Export auswählen (standardmäßig werden alle Spalten für den Export ausgewählt, und die Schlüsselfelder entsprechen den Definitionen der Primärschlüssel der entsprechenden Tabellen). Klicken Sie dann auf Next: The table columns tab where you can select the columns and key field for export

  7. Wählen Sie die zu exportierenden Daten aus

    Wählen Sie anschließend auf der Registerkarte Exported rows die zu exportierenden Daten aus und klicken Sie auf Next. Beachten Sie, dass Sie sowohl alle Zeilen als auch einen genauen Bereich von Zeilen für den Datenexport auswählen können.Exported rows tab where you can select a range of rows or all rows for export

  8. Konfigurieren Sie die Registerkarte Errors handling

    Zusätzlich können Sie auf der Registerkarte Errors handling Parameter für die Fehlerbehandlung konfigurieren.
    Beachten Sie, dass User häufig die Option Write a report to a log file wählen, wenn sie die Berichtsergebnisse analysieren müssen. Der Einfachheit halber sollten Sie die Standardoptionen beibehalten und auf Export klicken, um mit dem Datenexport zu beginnen.On the errors handling tab, you can select the way you want to handle errors and configure log settings

  9. Schließen Sie den Datenexport ab

    Wenn der Datenexport abgeschlossen ist, können Sie entweder auf Finish klicken oder den Ordner mit den erstellten Skripten öffnen, indem Sie auf die Schaltfläche Open result folder klicken:
    Data export completion

  10. Lassen Sie sich die Skripte anzeigen

    Als Ergebnis werden für jede Verzeichnistabelle 3 Skripte erstellt:
    The 3 SQL scripts generated for data export

Das T-SQL-Skript sieht folgendermaßen aus:

SET DATEFORMAT ymd
SET ARITHABORT, ANSI_PADDING, ANSI_WARNINGS, CONCAT_NULL_YIELDS_NULL, QUOTED_IDENTIFIER, ANSI_NULLS, NOCOUNT ON
SET NUMERIC_ROUNDABORT, IMPLICIT_TRANSACTIONS, XACT_ABORT OFF
GO

SET IDENTITY_INSERT JobEmplDB.dbo.Skill ON
GO
INSERT JobEmplDB.dbo.Skill(SkillID, SkillName) VALUES (689, N'C#')
...
INSERT JobEmplDB.dbo.Skill(SkillID, SkillName) VALUES (14, N'SQL')
GO
SET IDENTITY_INSERT JobEmplDB.dbo.Skill OFF
GO

Sie müssen die generierten Skripte auf die Zieldatenbank anwenden.

Was aber, wenn die Daten in einem anderen Format gespeichert wurden?

Hierfür gibt es den Datenimport, den Sie öffnen können, indem Sie mit der rechten Maustaste auf die Datenbank oder die gewünschte Tabelle klicken:

Data import on the database level

Abb.12. Auswahl des Datenimports auf Datenbankebene

Data import on the table level

Abb.13. Auswahl des Datenimports auf Tabellenebene

Machen Sie so weiter, wie wir den Datenexport durchgeführt haben. Besuchen Sie auch das Dokumentationszentrum, um mehr darüber zu erfahren, wie Sie Daten aus einer CSV-Datei importieren können. CSV ist ein kompaktes Textformat, das zum Speichern von Tabellendaten verwendet wird. Außerdem ist es ein sehr verbreitetes Format, da die meisten modernen Tabellenkalkulationsprogramme (wie Excel) mit Dateien im CSV-Format arbeiten können (Export/Import von Daten).

Das war’s erstmal. Diesmal haben wir uns mit dem Import und Export von Daten in eine SQL-Datei mithilfe einer hochgradig anpassbaren Lösung von dbForge Studio for SQL Server beschäftigt.

Overview the main features and capabilities, which dbForge SQL Tools offer

Comments are closed.