Freigeben über


Gewusst wie: Importieren von Datenbankobjekten aus einem Skript

Neben dem Importieren eines Datenbankschemas aus einer vorhandenen Datenbank können Sie auch Datenbankobjekte aus einem einem oder mehreren vorhandenen Skripts importieren. Auf diese Weise können Sie z. B. eine Datenbankdefinition, die mit Tools eines Drittanbieters erstellt wurde, in das Datenbankprojekt importieren. Das angegebene Skript wird analysiert, und alle Anweisungen, mit denen Datenbankobjekte erstellt werden, werden identifiziert und in das Datenbankprojekt importiert. Sie können Sktipte mit dem Assistenten zum Importieren von SQL-Skriptdateien oder mit einem Automatisierungsbefehl im Befehlsfenster importieren.

Wenn eine Objektdefinition einen Fehler enthält, wird das Objekt übersprungen. Wenn der Fehler eine Typdefinition betrifft, wird die Anweisung in die Datei ScriptsIgnoredOnImport.sql im Datenbankprojekt eingefügt. Wenn der Objekttyp gültig ist, doch die Definition des Objekts einen Fehler enthält, z. B. eine Ansicht, die auf eine nicht vorhandene Tabelle verweist, wird im Fenster Fehlerliste eine Fehlermeldung angezeigt.

Nicht importierte Anweisungen werden in der Datei ScriptsIgnoredOnImport.sql der Projektmappe eingefügt.

Importieren von Datenbankobjektdefinitionen

So verwenden Sie den Assistenten zum Importieren von SQL-Skripts

  1. Klicken Sie im Menü Projekt auf Skript importieren.

    Der Assistent zum Importieren von SQL-Skripts wird angezeigt.

    Tipp

    Sie können auch im Projektmappen-Explorer oder unter Schemaansicht mit der rechten Maustaste auf das Datenbankprojekt klicken und anschließend auf Skript importieren klicken.

  2. Klicken Sie auf Weiter, um zur Seite Datei auswählen zu gelangen, nachdem Sie die Einführung in den Assistenten gelesen haben.

  3. Wenn Sie mehrere Skripts importieren möchten, wechseln Sie zu Schritt 7.

  4. Klicken Sie auf Einzelne Datei.

  5. Geben Sie im Feld Dateiname den Dateinamen des Skripts, das Sie importieren möchten, einschließlich des Pfads ein. Sie können auch die Schaltfläche Durchsuchen verwenden, um die Datei zu suchen.

  6. Wechseln Sie zu Schritt 11.

  7. Klicken Sie auf Mehrere Dateien.

  8. Klicken Sie auf Durchsuchen, und navigieren Sie zu dem Ordner, der die zu importierenden Skripts enthält.

    Wichtig

    Sie wählen den Ordner aus mit dem zu importierenden Skript aus, nicht die Skripts selbst.

  9. Klicken Sie auf Ordner auswählen.

  10. Aktivieren Sie in der Liste der Dateien und Ordner die Kontrollkästchen, die den zu importierenden Skripts oder den Unterordnern mit den zu importierenden Skripts entsprechen.

  11. Klicken Sie auf Weiter.

  12. Wenn Objekte im Datenbankprojekt durch importierte Objekte ersetzt werden sollen, die denselben Namen und Typ aufweisen, aktivieren Sie das Kontrollkästchen Bereits im Projekt vorhandene Objekte überschreiben.

  13. Wenn Sie keine erweiterten Eigenschaften importieren möchten, deaktivieren Sie das Kontrollkästchen Erweiterte Eigenschaften importieren.

  14. Wenn Sie Berechtigungen importieren möchten, aktivieren Sie das Kontrollkästchen Berechtigungen importieren.

  15. Wenn Sie Berechtigungen importieren und dem Projektmodus hinzufügen möchten, müssen Sie auch das Kontrollkästchen Importierte Berechtigungen dem Projektmodell hinzufügen aktivieren.

    Tipp

    Wenn Sie Berechtigungen importieren und dem Modell hinzufügen, kann Zeit zum Öffnen des Datenbankprojekts erheblich zunehmen.

  16. Klicken Sie in Codierung auf die Codierung, mit der die Skriptdatei erstellt wurde.

  17. Klicken Sie auf Fertig stellen, um Datenbankobjektdefinitionen aus dem angegebenen Skript zu importieren.

    Während das Skript verarbeitet wird, wird eine Statusseite angezeigt, und die Objektdefinitionen werden dem Datenbankprojekt hinzugefügt. Wenn Sie Datenbankdefinitionen aus einem Skript importieren, wird eine Protokolldatei erstellt. Protokolldateien werden im Unterordner Skriptprotokolle importieren des Projektordners gespeichert.

    Tipp

    Die Quelldatei wird nicht geändert und im gemeinsam genutzten schreibgeschützten Modus geöffnet.

So verwenden Sie das Visual Studio-Automatisierungsmodell

  1. Erstellen oder öffnen Sie ein Datenbankprojekt.

    Weitere Informationen finden Sie unter Gewusst wie: Erstellen von leeren Datenbank- und Serverprojekten oder Gewusst wie: Öffnen eines Datenbank- oder Serverprojekts.

  2. Zeigen Sie im Menü Ansicht auf Weitere Fenster, und klicken Sie auf Befehlsfenster.

  3. Geben Sie im Befehlsfenster folgenden Befehl ein:

    Project.ImportScript /FileName "MyScript.sql"
    

    Ersetzen Sie MyScript.sql durch den Namen des Skripts, das Sie importieren möchten.

    Tipp

    Sie können zusätzliche Optionen für den Befehl angeben, der den Importvorgang steuert. Weitere Informationen erhalten Sie unter Referenz der Automatisierungsbefehle für Datenbankfunktionen von Visual Studio. Wenn Sie keinen Dateinamen angeben, wird der Assistent zum Importieren von Datenbanken angezeigt.

    Die Objekte und Einstellungen werden aus dem angegebenen Skript in das Projekt importiert, das im Projektmappen-Explorer ausgewählt war, als Sie den Befehl ausgeführt haben. Im Fenster Fehlerliste werden alle Fehler in Bezug auf Objekte angezeigt, die beim Importieren des Skripts erstellt werden.

    An diesem Punkt müssen Sie die Datenbankprojekteinstellungen konfigurieren, bevor Sie das Datenbankprojekt erstellen und bereitstellen können. Weitere Informationen finden Sie unter Gewusst wie: Konfigurieren der Datenbankeigenschaften für Datenbankprojekte.

Probleme und Einschränkungen

Der Assistent zum Importieren von SQL-Skripts sucht das angegebene Skript für alle CREATE-Anweisungen der Datendefinitionssprache (DDL) und fügt den Projekten die entsprechenden Objekte hinzu. Es gelten die folgenden Einschränkungen:

  • Nicht erkannte Anweisungen werden in die Datei ScriptsIgnoredOnImport.sql im Datenbankprojekt eingefügt.

  • Es wird vorausgesetzt, dass das Skript Definitionen für Objekte in einer einzelnen Datenbank enthält. Alle Objekte werden in das aktuelle Datenbankprojekt importiert. Wenn das Skript die Definitionen für mehrere Datenbanken enthält, werden die CREATE DATABASE-Anweisung und die USE-Anweisung ignoriert, und dem Datenbankprojekt werden alle Objekte hinzugefügt. Wenn Sie mehrere Datenbankprojekte erstellen möchten, müssen Sie die Datei manuell aufteilen, sodass pro Datenbank eine Datei vorhanden ist, und dann die Dateien einzeln in das jeweilige Datenbankprojekt importieren. Wenn Sie ein Skript mit mehreren Datenbankdefinitionen in ein einzelnes Datenbankprojekt importieren, erhalten Sie möglicherweise eine beträchtliche Anzahl von Fehlermeldungen.

  • ALTER DATABASE-Anweisungen zum Hinzufügen von Dateigruppen werden ebenfalls importiert. Wenn das Skript eine CREATE-Anweisung enthält, auf die eine DROP-Anweisung für das erstellte Objekt folgt, wird das Objekt importiert.

  • Es werden nur ALTER TABLE-Anweisungen importiert, die einer Tabelle Einschränkungen hinzufügen oder Spalten für einen Volltextindex angeben. Für Einschränkungen werden nur Anweisungen erkannt, die eine einzelne Einschränkung hinzufügen. Anweisungen, die einer Tabelle mehrere Einschränkungen hinzufügen, werden übersprungen.

  • Batches müssen durch GO-Anweisungen getrennt werden.

    Tipp

    Um das Ergebnis der Skriptausführung und nicht die CREATE-Anweisungen im Skript zu importieren, können Sie das Skript ausführen, um eine Datenbank zu erstellen, und anschließend die resultierende Datenbank mit dem Befehl Datenbankschema importieren importieren.

Siehe auch

Aufgaben

Gewusst wie: Anzeigen von Datenbankobjekten

Gewusst wie: Löschen von Datenbankobjekten

Konzepte

Erstellen und Ändern von Datenbank- und Serverobjekten