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 sowohl die Definitionen der Objekte in der Datenbank als auch alle in den Tabellen enthaltenen Daten enthält. Die Exportdatei kann dann in eine andere Instanz des Datenbankmoduls oder in azure SQL-Datenbank importiert werden. Die Exportimportvorgänge können kombiniert werden, um einen DAC zwischen Instanzen zu migrieren, ein Archiv zu erstellen oder eine lokale Kopie einer datenbank zu erstellen, die in der SQL-Datenbank bereitgestellt wird.

Vorbereitungen

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. Wenn der Exportvorgang für die ursprünglich von einer DAC bereitgestellten Datenbank ausgeführt wird und nach der Bereitstellung Änderungen direkt an der Datenbank vorgenommen wurden, entspricht die exportierte Definition dem Objektsatz in der Datenbank und nicht dem in der ursprünglichen DAC festgelegten Inhalt.

  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.

Einschränkungen

Ein DAC oder eine 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 Objekte enthält, die in einem DAC nicht unterstützt werden, oder enthaltene Benutzer. Weitere Informationen zu den in einer DAC unterstützten Objekttypen finden Sie unter DAC Support For SQL Server Objects and Versions.

Wenn Sie zufällig eine Fehlermeldung mit "Nicht genügend Speicherplatz " erhalten, empfiehlt es sich, den Ordner "%TEMP%" des Systems so zu konfigurieren, dass es sich auf einem anderen Datenträger befindet. Auf diese Weise können Sie ausreichend Speicherplatz für den Exportvorgang sicherstellen, um reibungslos ausgeführt zu werden, wodurch potenzielle Datenträgerspeicherkomplikationen vermieden werden.

So konfigurieren Sie den Ordner "%TEMP%" des Systems:

  • Öffnen Sie das Fenster "Systemeigenschaften", indem Sie die WINDOWS-TASTE +PAUSE/PAUSE drücken oder mit der rechten Maustaste auf diesen PC klicken und "Eigenschaften" auswählen.

  • Wählen Sie den Link mit den erweiterten Systemeinstellungen auf der linken Seite aus.

  • Navigieren Sie im daraufhin folgenden Fenster "Systemeigenschaften" zum unteren Rand, und wählen Sie "Umgebungsvariablen" aus.

  • Suchen Sie unter dem Abschnitt mit der Bezeichnung "Systemvariablen" die Variablen "TEMP" und "TMP", und wählen Sie dann "Bearbeiten " aus, die den einzelnen Variablen zugeordnet sind.

  • Ä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:\Tempfest.

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

Berechtigungen

Um einen DAC zu exportieren, müssen Sie mindestens ALTER ANY-Anmelde- und VIEW DEFINITION-Berechtigungen auf Datenbankebene und SELECT-Berechtigungen für ssys.sql_expression_dependencies besitzen. Diese Aufgabe ist für Personen mit Mitgliedschaft in der Rolle des festen Servers "securityadmin" und der database_owner festen Datenbankrolle innerhalb der Quelldatenbank des DAC erreichbar. Darüber hinaus ist das Exportieren eines DAC für diejenigen, die Teil der sysadmin-Fixed-Serverrolle sind, oder für diejenigen mit Zugriff auf das integrierte SQL Server-Systemadministratorkonto mit dem Namen sa machbar.

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 Assistenten zum Exportieren von Datenebenen-Anwendungen

So exportieren Sie eine DAC mithilfe eines Assistenten

  1. Stellen Sie eine Verbindung mit der Instanz von SQL Server her, unabhängig davon, ob lokal oder in der SQL-Datenbank.

  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. Wählen Sie "Aufgaben" und dann "Datenebenenanwendung exportieren" 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 das Kontrollkästchen, um zu verhindern, dass die Einführungsseite in Zukunft angezeigt wird.

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

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

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. Wählen Sie "Durchsuchen" aus, um zum lokalen Computer zu navigieren, oder geben Sie den Pfad im bereitgestellten Raum 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 .

Überprüfung (Seite)

Verwenden Sie die Überprüfungsseite, um sämtliche Probleme zu überprüfen, die den Vorgang blockieren. Um fortzufahren, beheben Sie die Blockierungsprobleme, und wählen Sie dann "Überprüfung erneut ausführen" aus, um sicherzustellen, dass die Überprüfung erfolgreich ist.

Wählen Sie zum Fortsetzen des Vorgangs Weiter aus.

Seite "Zusammenfassung"

Verwenden Sie diese Seite, um die angegebene Quelle und die Zieleinstellungen für den Vorgang zu überprüfen. Um den Exportvorgang mit den angegebenen Einstellungen abzuschließen, wählen Sie "Fertig stellen" aus. Um den Exportvorgang abzubrechen und den Assistenten zu beenden, wählen Sie "Abbrechen" aus.

Status (Seite)

Auf dieser Seite wird eine Statusanzeige angezeigt, die den Status des Vorgangs anzeigt. Um den detaillierten Status anzuzeigen, wählen Sie die Option "Details anzeigen" aus.

Ergebnisse (Seite)

Auf dieser Seite wird angegeben, ob der Exportvorgang erfolgreich war oder ob dabei Fehler auftraten, dabei werden die Ergebnisse jeder Aktion angezeigt. Jede Aktion, bei der ein Fehler aufgetreten ist, weist einen Link in der Spalte "Ergebnis " auf. Klicken Sie auf den Link, um einen Bericht des für diese Aktion aufgetretenen Fehlers anzuzeigen.

Wählen Sie "Fertig stellen" aus, um den Assistenten zu schließen.

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.

Siehe auch