Exportieren einer Datenebenenanwendung

Gilt für:SQL ServerAzure SQL-DatenbankAzure SQL Managed Instance

Beim Exportieren einer bereitgestellten Datenebenenanwendung (DAC) oder einer Datenbank wird eine Exportdatei erstellt, die die Definitionen der Objekte in der Datenbank und alle in den Tabellen enthaltenen Daten enthält. Die Exportdatei kann dann in eine andere Instanz der Datenbank-Engine oder in Azure SQL-Datenbank importiert werden. Die Export-Importvorgänge können kombiniert werden, um eine DAC zwischen Instanzen zu migrieren, ein Archiv zu erstellen oder eine lokale Kopie einer in SQL-Datenbank bereitgestellten Datenbank zu erstellen.

Voraussetzungen

Beim Exportvorgang wird in zwei Phasen eine DAC-Exportdatei erstellt.

  1. Beim Export wird eine DAC-Definition in der Exportdatei (BACPAC-Datei) erstellt. Dieser Vorgang entspricht dem Erstellen einer DAC-Definition in einer DAC-Paketdatei durch einen DAC-Auszug. Die exportierte DAC-Definition enthält alle Objekte in der aktuellen Datenbank. Angenommen, der Exportvorgang wird für eine Datenbank ausgeführt, die ursprünglich aus einer DAC bereitgestellt wurde, und Änderungen wurden nach der Bereitstellung direkt an der Datenbank vorgenommen. In diesem Fall entspricht die exportierte Definition dem Objektsatz in der Datenbank, nicht dem, was in der ursprünglichen DAC definiert wurde.

  2. Beim Export werden die Daten per Massenkopieren aus allen Tabellen in der Datenbank kopiert und in die Exportdatei integriert.

Beim Exportvorgang wird die DAC-Version auf 1.0.0.0 und die DAC-Beschreibung in der Exportdatei auf eine leere Zeichenfolge festgelegt. Wurde die Datenbank von einer DAC bereitgestellt, enthält die DAC-Definition in der Exportdatei den Namen der ursprünglichen DAC. Andernfalls wird der DAC-Name auf den Datenbanknamen festgelegt.

Berechtigungen

Zum Exportieren einer DAC sind mindestens die ALTER ANY Login-Berechtigung und die VIEW DEFINITION-Berechtigung im Datenbankbereich sowie SELECT-Berechtigungen für sys.sql_expression_dependencies erforderlich. Diese Aufgabe ist für Personen mit Mitgliedschaft in der festen Serverrolle „securityadmin“ und der festen Datenbankrolle „database_owner“ innerhalb der Quelldatenbank der DAC erreichbar. Darüber hinaus ist das Exportieren einer DAC für diejenigen, die Teil der festen Serverrolle „sysadmin“ sind, oder für diejenigen mit Zugriff auf das integrierte SQL Server-Systemadministratorkonto mit dem Namen „sa“ durchführbar.

In Azure SQL-Datenbank müssen Sie jeder Datenbank die Berechtigungen VIEW DEFINITION und SELECT für alle Tabellen oder für spezifische Tabellen gewähren.

Verwenden des Datenebenenanwendungs-Assistenten

So exportieren Sie eine DAC mithilfe eines Assistenten

  1. Stellen Sie entweder lokal oder in SQL-Datenbank eine Verbindung zu der Instanz von SQL Server her.

  2. Erweitern Sie im Objekt-Explorer den Knoten für die Instanz, von der aus Sie die DAC exportieren möchten.

  3. Klicken Sie mit der rechten Maustaste auf den Datenbanknamen.

  4. Klicken Sie auf Aufgaben, und wählen Sie dann Exportieren von Datenebenenanwendungen aus.

  5. Bearbeiten Sie die Dialogfenster des Assistenten:

Seite „Einführung“

Auf dieser Seite werden die Schritte für den Assistenten zum Exportieren von Datenebenenanwendungen beschrieben.

Optionen

Diese Seite nicht mehr anzeigen. – Aktivieren Sie dieses Kontrollkästchen, damit die Einführungsseite in Zukunft nicht mehr angezeigt wird.

Weiter – Geht zur Seite DAC-Paket auswählen über.

Abbrechen: bricht den Vorgang ab und schließt den Assistenten.

Bildschirmtabelle der Einführungsseite des Exports einer Datenebenenanwendung.

Exporteinstellungen (Seite)

Auf dieser Seite können Sie den Ort angeben, wo die BACPAC-Datei erstellt werden soll.

  • Auf lokalem Datenträger speichern – Erstellt eine BACPAC-Datei in einem Verzeichnis auf dem lokalen Computer. Klicken Sie auf Durchsuchen..., um den lokalen Computer zu durchsuchen oder geben Sie den Pfad im bereitgestellten Feld an. Der Pfadname muss einen Dateinamen und die Erweiterung BACPAC enthalten.

  • In Azure speichern – Erstellt eine BACPAC-Datei in einem Azure-Container. Sie müssen eine Verbindung mit einem Azure-Container herstellen, um diese Option zu überprüfen. Diese Option erfordert auch, dass Sie ein lokales Verzeichnis für die temporäre Datei angeben. Die temporäre Datei wird am angegebenen Speicherort erstellt und verbleibt dort, nachdem der Vorgang abgeschlossen wurde.

Um eine Teilmenge von zu exportierenden Tabellen anzugeben, verwenden Sie die Option Erweitert .

Screenshot der Exporteinstellungen-Seite zum Exportieren einer Anwendungsdatenebene.

Seite „Zusammenfassung“

Verwenden Sie diese Seite, um die angegebene Quelle und die Zieleinstellungen für den Vorgang zu überprüfen. Klicken Sie auf Fertig stellen, um den Exportvorgang mithilfe der angegebenen Einstellungen abzuschließen. Klicken Sie auf Abbrechen, um den Exportvorgang abzubrechen und um den Assistenten zu beenden.

Screenshot der Exportdatenebenen-Zusammenfassungsseite.

Status (Seite)

Auf dieser Seite wird eine Statusanzeige angezeigt, die den Status des Vorgangs anzeigt. Klicken Sie auf die Option Details anzeigen, um ausführliche Informationen anzuzeigen.

Seite „Ergebnisse“

Auf dieser Seite wird angegeben, ob der Exportvorgang erfolgreich war oder ob dabei Fehler auftraten, dabei werden die Ergebnisse jeder Aktion angezeigt. Für alle Aktionen, die fehlerhaft waren, ist in der Spalte Ergebnis ein Link enthalten. Klicken Sie auf den Link, um einen Bericht des für diese Aktion aufgetretenen Fehlers anzuzeigen.

Screenshot der Ergebnisseite der Datenebenenanwendung.

Klicken Sie auf Fertig stellen, um den Assistenten zu beenden.

Verwenden einer .NET Framework-Anwendung

So exportieren Sie eine DAC mithilfe der Export()-Methode in einer .NET Framework-Anwendung

  1. Erstellen Sie ein SMO-Serverobjekt, und legen Sie es auf die Instanz fest, die die zu exportierende DAC enthält.

  2. Öffnen Sie ein ServerConnection -Objekt, und stellen Sie eine Verbindung mit derselben Instanz her.

  3. Exportieren Sie die DAC mithilfe der Export -Methode des Microsoft.SqlServer.Management.Dac.DacStore -Typs. Geben Sie den Namen der zu exportierenden DAC sowie den Pfad zum Ordner an, in dem die Exportdatei abgelegt werden soll.

Einschränkungen

Eine DAC oder Datenbank kann nur aus einer Datenbank in SQL-Datenbank oder SQL Server 2005 (9.x) Service Pack 4 (SP4) oder höher exportiert werden.

Sie können keine Datenbank exportieren, die über in einer DAC nicht unterstützte Objekte oder eigenständige Benutzer verfügt. Weitere Informationen zu den in einer DAC unterstützten Objekttypen finden Sie unter DAC Support For SQL Server Objects and Versions.

Wenn Sie eine Meldung Fehler „Kein Festplattenspeicher“ erhalten, empfiehlt es sich, den Ordner % TEMP % des Systems so zu konfigurieren, dass er sich auf einem anderen Datenträger befindet. Auf diese Weise können Sie ausreichend Speicherplatz für die reibungslose Ausführung des Exportvorgangs sicherstellen, wodurch potenzielle Datenträgerspeicherkomplikationen vermieden werden.

So konfigurieren Sie den Ordner %TEMP% des Systems:

  • Öffnen Sie in Windows die Systemeigenschaften>Eigenschaften und wählen Sie dann den Link mit der Bezeichnung Erweiterte Systemeinstellungen aus.

  • Navigieren Sie im anschließenden Systemeigenschaftenfenster nach unten, und wählen Sie Umgebungsvariablen.

  • Suchen Sie im Abschnitt Systemvariablen die Variablen TEMP und TMP, und wählen Sie dann das mit jedem verknüpfte Bearbeiten, aus.

  • Ändern Sie die Werte beider Variablen so, dass sie auf einen Pfad auf dem separaten Datenträger zeigen, den Sie eingerichtet haben. Wenn Ihr Datenträger beispielsweise als D: festgelegt ist, legen Sie die Werte als D:\Temp fest.

  • Bestätigen Sie die Änderungen, indem Sie „OK“ auswählen und alle geöffneten Fenster schließen.