Importieren und Exportieren von SQL Server-Daten mithilfe anderer Methoden - Amazon Relational Database Service

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Importieren und Exportieren von SQL Server-Daten mithilfe anderer Methoden

Im Folgenden finden Sie Informationen zur Verwendung von Snapshots für den Import Ihrer Microsoft SQL Server-Daten zu Amazon RDS. Sie finden hier auch Informationen zur Verwendung von Snapshots für den Export Ihrer Daten von einer RDS DB-Instance mit SQL Server.

Wenn es Ihr Szenario unterstützt, ist es einfacher, Daten mithilfe der nativen Sicherungs- und Wiederherstellungsfunktionalität zu und aus Amazon RDS zu verschieben. Weitere Informationen finden Sie unter Importieren und Exportieren von SQL-Server-Datenbanken mithilfe nativer Sicherung und Wiederherstellung.

Anmerkung

Amazon RDS für Microsoft SQL Server unterstützt nicht das Importieren von Daten in die msdb-Datenbank.

Importieren von Daten in RDS for SQL Server mithilfe eines Snapshots

So können Sie Daten in eine SQL Server-DB-Instance mithilfe eines Snapshots importieren
  1. Erstellen Sie eine DB -Instance. Weitere Informationen finden Sie unter Erstellen einer Amazon RDS-DB-Instance.

  2. Stoppen Sie den Zugriff von Anwendungen auf die gewünschte DB-Instance.

    Wenn Sie den Zugriff auf Ihre DB-Instance blockieren, während Sie Daten importieren, läuft die Datenübertragung schneller. Zudem müssen Sie sich keine Sorgen über Konflikte machen, während die Daten geladen werden, wenn andere Anwendungen nicht in die DB-Instance schreiben können. Falls ein Problem auftritt und Sie zum vorherigen Datenbank-Snapshot zurückkehren müssen, verlieren Sie lediglich die importierten Daten. Sie können diese Daten dann nach der Behebung des Problems erneut importieren.

    Weitere Informationen über die Zugriffskontrolle auf Ihre DB-Instance finden Sie unter Zugriffskontrolle mit Sicherheitsgruppen.

  3. Erstellen Sie einen Snapshot der Ziel-Datenbank.

    Wenn die Zieldatenbank bereits Daten enthält, empfehlen wir Ihnen einen Snapshot dieser Datenbank zu machen, bevor Sie Daten importieren. Wenn etwas beim Datenimport schief geht oder Sie die Änderungen verwerfen möchten, können Sie den vorherigen Zustand der Datenbank mithilfe des Snapshots wiederherstellen. Weitere Informationen zu Datenbank-Snapshots finden Sie unter Erstellen eines DB-Snapshots für eine Single-AZ-DB-Instance.

    Anmerkung

    Wenn Sie einen Datenbank-Snapshot erstellen, werden die I/O-Operationen zur Datenbank für einen Moment (Millisekunden) ausgesetzt, während das Backup läuft.

  4. Deaktivieren Sie automatische Backups für die Ziel-Datenbank.

    Das Deaktivieren der automatischen Backups auf der DB-Ziel-Instance verbessert die Leistung beim Importieren Ihrer Daten, da Amazon RDS die Transaktionen nicht protokolliert, wenn automatische Backups deaktiviert sind. Jedoch müssen einige Dinge beachtet werden. Automatisierte Backups sind für zeitpunktbezogene Wiederherstellungen erforderlich. Sie können daher nicht eine Datenbank zu einem bestimmten Zeitpunkt wiederherstellen, während Sie Daten importieren. Darüber hinaus werden alle automatisierten Backups, die für die DB-Instance erstellt wurden, gelöscht - es sei denn, Sie möchten sie behalten.

    Wenn Sie sich für die Aufbewahrung der automatisierten Backups entscheiden, können Sie sich vor versehentlichem Löschen von Daten schützen. Amazon RDS speichert außerdem die Eigenschaften der Datenbank-Instance zusammen mit jedem automatisierten Backup, um die Wiederherstellung zu erleichtern. Mit dieser Option können Sie eine gelöschte Datenbank-Instance auch nach dem Löschen zu einem bestimmten Zeitpunkt innerhalb der Aufbewahrungsfrist wiederherstellen. Automatische Backups werden am Ende des angegebenen Backup-Zeitraums automatisch gelöscht, genau wie bei einer aktiven Datenbank-Instance.

    Sie können auch frühere Snapshots verwenden, um die Datenbank wiederherzustellen. Snapshots, die Sie erstellt haben, bleiben verfügbar. Weitere Informationen zu automatischen Backups finden Sie unter Einführung in Backups.

  5. Deaktivieren Sie auswärtige Schlüsselbeschränkungen, wenn möglich.

    Wenn Sie auswärtige Schlüsselbeschränkungen deaktivieren müssen, können Sie das folgende Skript verwenden.

    --Disable foreign keys on all tables DECLARE @table_name SYSNAME; DECLARE @cmd NVARCHAR(MAX); DECLARE table_cursor CURSOR FOR SELECT name FROM sys.tables; OPEN table_cursor; FETCH NEXT FROM table_cursor INTO @table_name; WHILE @@FETCH_STATUS = 0 BEGIN SELECT @cmd = 'ALTER TABLE '+QUOTENAME(@table_name)+' NOCHECK CONSTRAINT ALL'; EXEC (@cmd); FETCH NEXT FROM table_cursor INTO @table_name; END CLOSE table_cursor; DEALLOCATE table_cursor; GO
  6. Verwerfen Sie Indizes, wenn möglich.

  7. Deaktivieren Sie Auslöser, wenn möglich.

    Wenn Sie Auslöser deaktivieren müssen, können Sie das folgende Skript verwenden.

    --Disable triggers on all tables DECLARE @enable BIT = 0; DECLARE @trigger SYSNAME; DECLARE @table SYSNAME; DECLARE @cmd NVARCHAR(MAX); DECLARE trigger_cursor CURSOR FOR SELECT trigger_object.name trigger_name, table_object.name table_name FROM sysobjects trigger_object JOIN sysobjects table_object ON trigger_object.parent_obj = table_object.id WHERE trigger_object.type = 'TR'; OPEN trigger_cursor; FETCH NEXT FROM trigger_cursor INTO @trigger, @table; WHILE @@FETCH_STATUS = 0 BEGIN IF @enable = 1 SET @cmd = 'ENABLE '; ELSE SET @cmd = 'DISABLE '; SET @cmd = @cmd + ' TRIGGER dbo.'+QUOTENAME(@trigger)+' ON dbo.'+QUOTENAME(@table)+' '; EXEC (@cmd); FETCH NEXT FROM trigger_cursor INTO @trigger, @table; END CLOSE trigger_cursor; DEALLOCATE trigger_cursor; GO
  8. Suchen Sie in der Quell-SQL Server-Instance nach Anmeldedaten, die Sie in die gewünschte DB-Instance importieren möchten.

    SQL Server speichert Anmeldedaten und Passwörter in der master-Datenbank. Da Amazon RDS keinen Zugriff auf die master-Datenbank gewährt, können Sie Anmeldedaten und Passwörter nicht direkt in Ihre DB-Instance importieren. Stattdessen müssen Sie die master-Datenbank auf der SQL Server-Quell-Instance abfragen, um eine DDL (Data Definition Language)-Datei zu generieren. Diese Datei sollte alle Anmeldedaten und Passwörter enthalten, die Sie der DB-Ziel-Instance hinzufügen möchten. Diese Datei sollte auch die Rollenmitgliedschaften und Berechtigungen enthalten, die Sie übertragen möchten.

    Weitere Informationen über Abfragen der master-Datenbank finden Sie unter How to Transfer the Logins and the Passwords Between Instances of SQL Server 2005 and SQL Server 2008 in der Microsoft Knowledge Base.

    Die Ausgabe des Skripts ist ein anderes Skript, das Sie in der gewünschten DB-Instance ausführen können. Das Skript im Knowledge Base-Artikel hat den folgenden Code:

    p.type IN

    Jedes Mal wenn p.type erscheint, verwenden Sie stattdessen den folgenden Code:

    p.type = 'S'
  9. Importieren Sie Daten mithilfe der Methode in Importieren der Daten.

  10. Gewähren Sie Anwendungen Zugriff auf die Ziel-DB-Instance.

    Wenn Ihr Datenimport abgeschlossen ist, können Sie den Anwendungen, die Sie während des Imports blockiert haben, den Zugang zur DB-Instance gewähren. Weitere Informationen über die Zugriffskontrolle auf Ihre DB-Instance finden Sie unter Zugriffskontrolle mit Sicherheitsgruppen.

  11. Aktivieren Sie automatische Backups für die Ziel-DB-Instance.

    Weitere Informationen zu automatischen Backups finden Sie unter Einführung in Backups.

  12. Aktivieren Sie auswärtige Schlüsselbeschränkungen.

    Wenn Sie auswärtige Schlüsselbeschränkungen vorher deaktiviert haben, können Sie diese jetzt mit dem folgenden Skript aktivieren.

    --Enable foreign keys on all tables DECLARE @table_name SYSNAME; DECLARE @cmd NVARCHAR(MAX); DECLARE table_cursor CURSOR FOR SELECT name FROM sys.tables; OPEN table_cursor; FETCH NEXT FROM table_cursor INTO @table_name; WHILE @@FETCH_STATUS = 0 BEGIN SELECT @cmd = 'ALTER TABLE '+QUOTENAME(@table_name)+' CHECK CONSTRAINT ALL'; EXEC (@cmd); FETCH NEXT FROM table_cursor INTO @table_name; END CLOSE table_cursor; DEALLOCATE table_cursor;
  13. Aktivieren Sie Indizes, wenn möglich.

  14. Aktivieren Sie Auslöser, wenn möglich.

    Wenn Sie Auslöser vorher deaktiviert haben, können Sie diese jetzt mit dem folgenden Skript aktivieren.

    --Enable triggers on all tables DECLARE @enable BIT = 1; DECLARE @trigger SYSNAME; DECLARE @table SYSNAME; DECLARE @cmd NVARCHAR(MAX); DECLARE trigger_cursor CURSOR FOR SELECT trigger_object.name trigger_name, table_object.name table_name FROM sysobjects trigger_object JOIN sysobjects table_object ON trigger_object.parent_obj = table_object.id WHERE trigger_object.type = 'TR'; OPEN trigger_cursor; FETCH NEXT FROM trigger_cursor INTO @trigger, @table; WHILE @@FETCH_STATUS = 0 BEGIN IF @enable = 1 SET @cmd = 'ENABLE '; ELSE SET @cmd = 'DISABLE '; SET @cmd = @cmd + ' TRIGGER dbo.'+QUOTENAME(@trigger)+' ON dbo.'+QUOTENAME(@table)+' '; EXEC (@cmd); FETCH NEXT FROM trigger_cursor INTO @trigger, @table; END CLOSE trigger_cursor; DEALLOCATE trigger_cursor;

Importieren der Daten

Microsoft SQL Server Management Studio ist ein grafischer SQL Server-Client, der in allen Microsoft SQL Server Editionen enthalten ist, außer in der Express Edition. SQL Server Management Studio Express von Microsoft ist als kostenloser Download verfügbar. Sie finden diesen Download auf der Microsoft-Website.

Anmerkung

SQL Server Management Studio ist nur als Windows-basierte Anwendung verfügbar.

SQL Server Management Studio beinhaltet die folgenden Tools, die nützlich für den Import von Daten in eine SQL Server DB-Instance sind:

  • Assistent für das Generieren und Veröffentlichen von Skripts

  • Assistent für den Import und Export

  • Bulk-Kopie

Assistent für das Generieren und Veröffentlichen von Skripts

Der Assistent für das Generieren und Veröffentlichen von Skripts erstellt ein Skript, das das Schema einer Datenbank, die Daten selbst, oder beides enthält. Sie können ein Skript für eine Datenbank in Ihrer lokalen SQL Server-Bereitstellung generieren. Sie können dann das Skript ausführen, um die darin enthaltenen Informationen zu einer Amazon RDS-DB-Instance zu übertragen.

Anmerkung

Bei Datenbanken mit einer Größe von 1 GiB oder mehr ist es effizienter, nur für das Datenbankschema ein Skript zu verwenden. Anschließend verwenden Sie den Assistenten für Import und Export oder die Massenkopierfunktion von SQL Server, um die Daten zu übertragen.

Weitere detaillierte Informationen über den Assistent für das Generieren und Veröffentlichen von Skripts finden Sie in der Microsoft SQL Server-Dokumentation.

Beachten Sie im Assistenten besonders die erweiterten Optionen auf der Seite Set Scripting Options (Scripting-Optionen einstellen), um sicherzustellen, dass alle Inhalte, die im Skript enthalten sein sollen, ausgewählt wurden. Beispielsweise sind standardmäßig keine Datenbank-Auslöser im Skript enthalten.

Wenn das Skript generiert und gespeichert ist, können Sie SQL Server Management Studio verwenden, um sich mit Ihrer DB-Instance zu verbinden und das Skript auszuführen.

Assistent für den Import und Export

Der Import-Export-Assistent erstellt ein spezielles Paket mit Integrationsdiensten, die Sie verwenden können, um Daten aus Ihrer lokalen SQL Server-Datenbank in die gewünschte DB-Instance zu kopieren. Der Assistent kann filtern, welche Tabellen und sogar welche Tupel innerhalb von Tabellen in die bestimmte DB-Instance kopiert werden sollen.

Anmerkung

Der Import-Export-Assistent funktioniert gut mit großen Datensätzen, aber es ist nicht unbedingt der schnellste Weg, um Daten remote aus Ihrer lokalen Einrichtung zu exportieren. Eine schnellere Methode ist die SQL Server-Bulk-Kopie-Funktion.

Weitere detaillierte Informationen über den Import-Export-Assistenten finden Sie in der Microsoft SQL Server-Dokumentation.

Führen Sie im Assistenten auf der Seite Choose a Destination (Ziel auswählen) folgende Schritte aus:

  • Geben Sie im Feld Servername den Namen des Endpunkts für Ihre DB-Instance ein.

  • Wählen Sie als Server-Authentifizierungsmodus Use SQL Server Authentication (SQL Server-Authentifizierung verwenden) aus.

  • Geben Sie im Feld Benutzername und Passwort die Anmeldeinformationen für den Hauptbenutzer ein, den Sie für die DB-Instance erstellt haben.

Bulk-Kopie

Die SQL Server-Bulk-Kopie-Funktion ist eine effiziente Methode zum Kopieren von Daten aus einer Quelldatenbank auf Ihre DB-Instance. Bulk-Kopie schreibt die Daten, die Sie für die Datei festlegen, wie z. B. eine ASCII-Datei. Sie können die Bulk-Kopie nochmal ausführen, um die Inhalte der Datei in die gewünschte DB-Instance zu schreiben.

In diesem Abschnitt wird das Hilfsprogramm bcp verwendet, das in allen Editionen von SQL Server enthalten ist. Weitere detaillierte Informationen zu Bulk-Import und -Export-Operationen finden Sie in der Microsoft SQL Server-Dokumentation.

Anmerkung

Bevor Sie eine Bulk-Kopie verwenden, müssen Sie zuerst Ihr Datenbankschema in die gewünschte DB-Instance importieren. Der Assistent für das Generieren und Veröffentlichen von Skripts, der vorher in diesem Thema beschrieben wurde, ist ein ausgezeichnetes Tool für diesen Zweck.

Der folgende Befehl stellt eine Verbindung zur lokalen SQL Server-Instance her. Er generiert eine tabulatorgetrennte Datei für eine angegebene Tabelle im C:\-Stammverzeichnis Ihrer bestehenden SQL Server-Bereitstellung. Die Tabelle wird durch ihren vollständigen, gültigen Namen angegeben und die Textdatei hat denselben Namen wie die kopierte Tabelle.

bcp dbname.schema_name.table_name out C:\table_name.txt -n -S localhost -U username -P password -b 10000

Der vorherige Code beinhaltet die folgenden Optionen:

  • -n gibt an, dass eine Massenkopie die nativen Datentypen der Daten verwendet, die zu kopieren sind.

  • -S gibt die SQL Server-Instance an, mit der sich das Hilfsprogramm bcp verbindet.

  • -U gibt den Benutzernamen des Kontos an, das in der SQL Server-Instance angemeldet wird.

  • -P gibt das Passwort für den Benutzer an -U.

  • -b gibt die Anzahl der Zeilen pro Batch importierter Daten an.

Anmerkung

Es könnte noch andere Parameter geben, die für Ihren Importvorgang wichtig sind. Beispielsweise könnten Sie den Parameter -E benötigen, der sich auf die Identitätswerte bezieht. Weitere Informationen finden Sie in der vollständigen Beschreibung der Befehlszeilensyntax für das Hilfsprogramm bcp in der Microsoft SQL Server-Dokumentation.

Angenommen, eine Datenbank mit dem Namen store, die das Standardschema dbo verwendet, enthält eine Tabelle mit dem Namen customers. Das Benutzerkonto admin mit dem Passwort insecure kopiert 10.000 Zeilen aus der Tabelle customers in eine Datei mit dem Namen customers.txt.

bcp store.dbo.customers out C:\customers.txt -n -S localhost -U admin -P insecure -b 10000

Nachdem Sie die Datendatei erstellt haben, können Sie die Daten mit einem ähnlichen Befehl zu Ihrer DB-Instance hochladen. Erstellen Sie vorher die Datenbank und das Schema auf der DB-Ziel-Instance. Verwenden Sie dann das Argument in, um die Input-Datei anzugeben, anstelle von out, um die Output-Datei anzugeben. Anstelle der Verwendung von localhost zur Angabe der lokalen SQL Server-Instance, geben Sie den Endpunkt Ihrer DB-Instance an. Wenn Sie einen anderen Port als 1433 verwenden, geben Sie auch diesen an. Der Benutzername und das Passwort entsprechen den Angaben für den Master-Benutzer Ihrer DB-Instance. Die Syntax ist wie folgt.

bcp dbname.schema_name.table_name in C:\table_name.txt -n -S endpoint,port -U master_user_name -P master_user_password -b 10000

Um mit dem vorherigen Beispiel fortzufahren, nehmen wir an, dass der Benutzername admin und das Passwort insecure lauten. Der Endpunkt für diese DB-Instance lautet rds.ckz2kqd4qsn1.us-east-1.rds.amazonaws.com und verwendet Port 4080. Der Befehl lautet wie folgt.

bcp store.dbo.customers in C:\customers.txt -n -S rds.ckz2kqd4qsn1.us-east-1.rds.amazonaws.com,4080 -U admin -P insecure -b 10000
Anmerkung

Geben Sie aus Sicherheitsgründen ein anderes Passwort als hier angegeben an.

Exportieren von Daten aus RDS for SQL Server

Sie können eine der folgenden Optionen auswählen, um Daten aus einer RDS for SQL-Server-DB-Instance zu exportieren:

SQL Server-Assistent für Import und Export (SQL Server Import and Export Wizard)

Sie können den SQL Server-Assistenten für Import und Export verwenden, um eine oder mehrere Tabellen, Ansichten oder Abfragen aus Ihrer RDS for SQL-Server-DB-Instance in einen anderen Datenspeicher zu kopieren. Dies ist die beste Wahl, wenn sich der Ziel-Datenspeicher nicht in SQL Server befindet. Weitere Informationen finden Sie unter SQL Server Import and Export Wizard in der SQL Server-Dokumentation.

Der SQL Server-Assistent für Import und Export ist als Teil von Microsoft SQL Server Management Studio verfügbar. Dieser grafische SQL Server-Client ist in allen Microsoft SQL Server-Editionen außer in der Express Edition enthalten. SQL Server Management Studio ist nur als Windows-basierte Anwendung verfügbar. SQL Server Management Studio Express von Microsoft ist als kostenloser Download verfügbar. Sie finden diesen Download auf der Microsoft-Website.

So verwenden Sie SQL Server-Assistent für Import und Export, um Daten zu exportieren
  1. Stellen Sie in SQL Server Management Studio eine Verbindung mit Ihrer RDS for SQL-Server-DB-Instance her. Weitere detaillierte Informationen hierzu finden Sie unter Herstellen einer Verbindung zu einer DB-Instance in der Microsoft SQL Server-Datenbank-Engine.

  2. Erweitern Sie im Object Explorer (Objektexplorer) den Abschnitt Datenbanken, öffnen Sie das Kontextmenü (rechter Mausklick) für die Quelldatenbank, wählen Sie Aufgaben und anschließend Export Data (Daten exportieren) aus. Der Assistent wird angezeigt.

  3. Öffnen Sie die Seite Choose a Data Source (Datenquelle auswählen) und führen Sie folgende Schritte durch:

    1. Wählen Sie für Datenquelle SQL Server Native Client 11.0 aus.

    2. Stellen Sie sicher, dass das Feld Server name (Servername) den Endpunkt Ihrer RDS for SQL-Server-DB-Instance anzeigt.

    3. Wählen Sie Use SQL Server Authentication (SQL Server-Authentifizierung verwenden) aus. Geben Sie für Benutzername und Passwort den Hauptbenutzernamen und das Hauptpasswort Ihrer DB-Instance ein.

    4. Stellen Sie sicher, dass das Feld Datenbank die Datenbank anzeigt, von der Sie Daten exportieren möchten.

    5. Wählen Sie Next (Weiter).

  4. Führen Sie auf der Seite Choose a Destination (Ziel auswählen) folgende Schritte durch:

    1. Geben Sie für Ziel die Zeichenfolge SQL Server Native Client 11.0 an.

      Anmerkung

      Es sind weitere Zieldatenquellen verfügbar. Dazu gehören: .NET Framework-Datenanbieter, OLE DB-Anbieter, SQL Server Native Client-Anbieter, ADO.NET-Anbieter, Microsoft Office Excel, Microsoft Office Access und die Flat File-Quelle. Wenn Sie eine dieser Datenquellen auswählen, überspringen Sie den Rest von Schritt 4. Einzelheiten zu den Verbindungsinformationen, die als Nächstes anzugeben sind, finden Sie unter Auswählen eines Ziels in der SQL Server-Dokumentation.

    2. Geben Sie für Servername den Servernamen der SQL Server-DB-Ziel-Instance an.

    3. Wählen Sie den angemessenen Authentifizierungstyp aus. Geben Sie einen Benutzernamen und Passwort ein, wenn nötig.

    4. Wählen Sie für Datenbank den Namen der Zieldatenbank aus oder wählen Sie Neu aus, um eine neue Datenbank zu erstellen, in die die exportierten Daten gespeichert werden.

      Wenn Sie New (Neu) auswählen, finden Sie unter Datenbank erstellen in der SQL Server-Dokumentation weitere Einzelheiten über bereitzustellende Datenbankinformationen.

    5. Wählen Sie Next (Weiter).

  5. Wählen Sie auf der Seite Table Copy or Query (Tabellenkopie oder -abfrage) die Option Copy data from one or more tables or views (Daten von einer oder mehreren Tabellen oder Ansichten kopieren) oder Write a query to specify the data to transfer (Anfrage zur Spezifizierung der Transferdaten schreiben) aus. Wählen Sie Next (Weiter).

  6. Wenn Sie Write a query to specify the data to transfer (Anfrage zur Spezifizierung der Transferdaten schreiben) auswählen, wird die Seite Provide a Source Query (Quellabfrage bereitstellen) angezeigt. Kopieren oder tippen Sie eine SQL-Abfrage ein und wählen Sie anschließend Parse (Parsen) aus, um sie zu überprüfen. Wenn die Abfrage bestätigt ist, klicken Sie auf Weiter.

  7. Führen Sie auf der Seite Select Source Tables and Views (Quelltabellen oder -ansichten auswählen) die folgenden Schritte durch:

    1. Wählen Sie die Tabellen und Ansichten, die Sie exportieren möchten, aus oder überprüfen Sie, dass die Abfrage, die sie getätigt haben, ausgewählt ist.

    2. Wählen Sie Edit Mappings (Zuweisungen bearbeiten) aus und geben Sie die Datenbank- und Spaltenzuweisungsinformationen an. Weitere Informationen finden Sie unter Spaltenzuordnungen in der SQL Server-Dokumentation.

    3. (Optional) Wählen Sie die Tabelle, Ansicht oder Abfrage aus und klicken Sie anschließend auf Preview (Vorversion), um eine Vorversion der zu exportierenden Daten anzuzeigen.

    4. Wählen Sie Next (Weiter).

  8. Auf der Seite Run Package (Paket ausführen) muss Run immediately (Sofort ausführen) ausgewählt sein. Wählen Sie Next (Weiter).

  9. Überprüfen Sie auf der Seite Complete the Wizard (Assistenten abschließen), dass die Details zum Datenexport wie erwartet sind. Wählen Sie Finish (Abschließen).

  10. Wählen Sie auf der Seite The execution was successful (Ausführung erfolgreich) die Option Schließen aus.

SQL Server-Assistent für das Generieren und Veröffentlichen von Skripts und Hilfsprogramm bcp

Sie können den SQL Server-Assistenten für das Generieren und Veröffentlichen von Skripts verwenden, um Skripts für eine gesamte Datenbank oder nur für ausgewählte Objekte zu erstellen. Sie können diese Skripts auf einer Ziel-SQL Server-DB-Instance ausführen, um die geskripteten Objekte neu zu erstellen. Sie können anschließend das Hilfsprogramm bcp verwenden, um einen Bulk-Export der Daten für die ausgewählten Objekte in die Ziel-DB-Instance durchzuführen. Diese Methode ist die beste Wahl, wenn Sie eine gesamte Datenbank (einschließlich Objekten, die keine Tabellen sind) oder große Datenmengen zwischen zwei SQL Server-DB-Instances verschieben möchten. Eine vollständige Beschreibung der bcp-Befehlszeilensyntax finden Sie unter bcp-Dienstprogramm in der Microsoft SQL Server-Dokumentation.

Der SQL Server-Assistent zum Generieren und Veröffentlichen von Skripts ist als Teil von Microsoft SQL Server Management Studio verfügbar. Dieser grafische SQL Server-Client ist in allen Microsoft SQL Server-Editionen außer in der Express Edition enthalten. SQL Server Management Studio ist nur als Windows-basierte Anwendung verfügbar. SQL Server Management Studio Express von Microsoft ist als kostenloser Download verfügbar.

So können Sie den SQL Server-Assistenten für das Generieren und Veröffentlichen von Skripts und das Hilfsprogramm bcp für einen Datenexport verwenden
  1. Stellen Sie in SQL Server Management Studio eine Verbindung mit Ihrer RDS für SQL-DB-Instance her. Weitere detaillierte Informationen hierzu finden Sie unter Herstellen einer Verbindung zu einer DB-Instance in der Microsoft SQL Server-Datenbank-Engine.

  2. Erweitern Sie in Object Explorer (Objektexplorer) den Knotenpunkt Datenbanken und wählen Sie die Datenbank aus, die Sie skripten möchten.

  3. Folgen Sie den Anweisungen in Assistent zum Generieren und Veröffentlichen von Skripts in der SQL Server-Dokumentation, um eine Skriptdatei zu erstellen.

  4. Verbinden Sie sich in SQL Server Management Studio mit Ihrer Ziel-SQL Server-DB-Instance.

  5. Mit ausgewählter SQL Server-DB-Ziel-Instance im Object Explorer (Objektexplorer) wählen Sie im Menü File (Datei) die Option Open (Öffnen) aus, wählen Sie File (Datei) und öffnen Sie die Skriptdatei.

  6. Wenn Sie für die gesamte Datenbank ein Skript erstellt haben, prüfen Sie die Anweisung CREATE DATABASE im Skript. Stellen Sie sicher, dass die Datenbank an dem von Ihnen gewünschten Speicherort und mit den korrekten Parametern erstellt wird. Weitere Informationen finden Sie unter CREATE DATABASE in der SQL Server-Dokumentation.

  7. Wenn Sie im Skript Benutzer für die Datenbank erstellen, überprüfen Sie, ob bereits Serveranmeldedaten in der Ziel-DB-Instance für diese Benutzer vorhanden sind. Wenn dies nicht der Fall ist, erstellen Sie Anmeldedaten für diese Benutzer. Andernfalls werden die geskripteten Befehle für das Erstellen der Datenbankbenutzer fehlschlagen. Weitere Informationen finden Sie unter Erstellen eines Anmeldenamens in der SQL Server-Dokumentation.

  8. Wählen Sie im SQL-Editor-Menü !Execute aus, um die Skriptdatei auszuführen und die Datenbankobjekte zu erstellen. Sobald das Skript abgeschlossen ist, überprüfen Sie, dass alle Datenbankobjekte wie erwartet vorhanden sind.

  9. Verwenden Sie das Hilfsprogramm bcp, um Daten aus der RDS for SQL-Server-DB-Instance in Dateien zu exportieren. Öffnen Sie eine Eingabeaufforderung und geben Sie den folgenden Befehl ein.

    bcp database_name.schema_name.table_name out data_file -n -S aws_rds_sql_endpoint -U username -P password

    Der vorherige Code beinhaltet die folgenden Optionen:

    • table_name ist der Name einer der Tabellen, die Sie in der Zieldatenbank neu erstellt haben und die jetzt mit Daten versehen wird.

    • data_file ist der vollständige Pfad und Name der Datei, die erstellt werden soll.

    • -n gibt an, dass eine Massenkopie die nativen Datentypen der Daten verwendet, die zu kopieren sind.

    • -S gibt die SQL Server-DB-Instance an, aus der exportiert werden soll.

    • -U gibt den zu verwendenden Benutzernamen an, wenn eine Verbindung mit der SQL Server-DB-Instance hergestellt wird.

    • -P gibt das Passwort für den Benutzer an -U.

    Im Folgenden wird ein Beispielbefehl gezeigt.

    bcp world.dbo.city out C:\Users\JohnDoe\city.dat -n -S sql-jdoe.1234abcd.us-west-2.rds.amazonaws.com,1433 -U JohnDoe -P ClearTextPassword

    Wiederholen Sie diesen Schritt, bis Sie Dateien für alle Tabellen haben, die Sie exportieren möchten.

  10. Bereiten Sie Ihre DB-Ziel-Instance für den Massenimport von Daten mithilfe der Anweisungen unter Vorbereiten des Massenimports von Daten in der SQL Server-Dokumentation vor.

  11. Entscheiden Sie sich für eine Methode zum Massenimport, nachdem Sie die Leistung und andere wichtige Faktoren eingeschätzt haben, die unter Informationen zu Massenimport- und Massenexportvorgängen in der SQL Server-Dokumentation aufgeführt werden.

  12. Führen Sie einen Massenimport der Daten aus den mit dem bcp-Hilfsprogramm erstellten Datendateien aus. Befolgen Sie hierzu die Anweisungen unter Im- und Exportieren von Massendaten mithilfe des Dienstprogramms bcp oder Importieren von Massendaten mithilfe von BULK INSERT oder OPENROWSET(BULK...) in der SQL Server-Dokumentation, abhängig von Ihrer Entscheidung in Schritt 11.