Bereitstellen einer Datenbank mit DAC

Gilt für:SQL ServerAzure SQL-Datenbank

Verwenden Sie den Assistenten zum Bereitstellen der Datenbank in Microsoft Azure SQL-Datenbank , um eine Datenbank zwischen einer Instanz des Datenbankmoduls und einem Azure SQL-Datenbankserver oder zwischen zwei Azure SQL-Datenbankservern bereitzustellen.

Vorbereitungen

Der Assistent verwendet die BACPAC-Archivdatei einer Datenebenenanwendung (DAC), um sowohl die Daten als auch die Definitionen von Datenbankobjekten bereitzustellen. Er führt einen DAC-Export von der Quelldatenbank und einen DAC-Import zum Ziel aus.

Datenbankoptionen und -einstellungen

Die während der Bereitstellung erstellte Datenbank verfügt standardmäßig über die Standardeinstellungen der CREATE DATABASE-Anweisung. Die Ausnahme besteht darin, dass die Datenbanksortierung und der Kompatibilitätsgrad auf die Werte der Quelldatenbank festgelegt werden.

Datenbankoptionen wie TRUSTWORTHY, DB_CHAINING und HONOR_BROKER_PRIORITY können nicht im Rahmen des Bereitstellungsprozesses angepasst werden. Physische Eigenschaften, z. B. die Anzahl der Dateigruppen oder die Anzahl und Größe der Dateien, können nicht im Rahmen des Bereitstellungsprozesses geändert werden. Nach Abschluss der Bereitstellung können Sie die ALTER DATABASE-Anweisung, SQL Server Management Studio oder SQL Server PowerShell verwenden, um die Datenbank anzupassen.

Einschränkungen

Der Assistent zum Bereitstellen von Datenbanken unterstützt das Bereitstellen einer Datenbank:

  • Von einer Instanz des Datenbankmoduls bis hin zur Azure SQL-Datenbank.

  • Von Azure SQL-Datenbank zu einer Instanz des Datenbankmoduls.

  • Zwischen zwei Azure SQL-Datenbankservern.

Der Assistent unterstützt die Bereitstellung von Datenbanken zwischen zwei Instanzen des Datenbankmoduls nicht.

Eine Instanz des Datenbankmoduls muss SQL Server 2005 (9.x) Service Pack 4 (SP4) oder höher ausführen, um mit dem Assistenten zu arbeiten. Wenn eine Datenbank in einer Instanz des Datenbankmoduls Objekte enthält, die in der Azure SQL-Datenbank nicht unterstützt werden, können Sie den Assistenten nicht verwenden, um die Datenbank in Azure SQL-Datenbank bereitzustellen. Wenn eine Datenbank in Azure SQL-Datenbank Objekte enthält, die von SQL Server nicht unterstützt werden, können Sie den Assistenten nicht verwenden, um die Datenbank in Instanzen von SQL Server bereitzustellen.

Sicherheit

Zur Erhöhung der Sicherheit werden die Anmeldenamen für die SQL Server-Authentifizierung ohne Kennwort in einer BACPAC-Exportdatei (DAC) gespeichert. Sobald die BACPAC-Datei importiert wird, wird der Anmeldename als deaktivierter Anmeldename mit einem generierten Kennwort erstellt. Um die Anmeldenamen zu aktivieren, melden Sie sich unter einem Anmeldenamen an, der über die ALTER ANY LOGIN-Berechtigung verfügt, und verwenden ALTER LOGIN, um den Anmeldenamen zu aktivieren und ein neues Kennwort zuzuweisen, das dem Benutzer mitgeteilt werden kann. Dies ist für Anmeldenamen der Windows-Authentifizierung nicht erforderlich, da die zugehörigen Kennwörter nicht von SQL Server verwaltet werden.

Berechtigungen

Der Assistent erfordert DAC-Exportberechtigungen für die Quelldatenbank. Zur Anmeldung werden mindestens die ALTER ANY LOGIN-Berechtigung und die VIEW DEFINITION-Berechtigung im Datenbankbereich sowie SELECT-Berechtigungen für sys.sql_expression_dependenciesbenötigt. Zum Exportieren einer DAC sind nur Mitglieder der festen Serverrolle "securityadmin" berechtigt, die ebenfalls Mitglieder der festen Datenbankrolle "database_owner" in der Datenbank sind, aus der die DAC exportiert wird. Mitglieder der festen Serverrolle „sysadmin“ oder des integrierten SQL Server-Systemadministratorkontos sa sind ebenfalls berechtigt, eine DAC zu exportieren.

Der Assistent benötigt DAC-Importberechtigungen für die Zielinstanz oder den Server. Der Anmeldename muss einem Mitglied der festen Serverrolle sysadmin , serveradmin oder dbcreator zugeordnet sein, das über ALTER ANY-LOGIN-Berechtigungen verfügt. Das integrierte SQL Server-Systemadministratorkonto mit dem Namen sa kann auch einen DAC importieren. Für das Importieren eines DAC mit Anmeldungen in der SQL-Datenbank ist eine Mitgliedschaft in den Rollen "loginmanager" oder "serveradmin" erforderlich. Für das Importieren eines DAC ohne Anmeldung bei der SQL-Datenbank ist eine Mitgliedschaft in den Rollen dbmanager oder serveradmin erforderlich.

Verwenden des Assistenten zum Bereitstellen von Datenbanken

So migrieren Sie eine Datenbank mithilfe des Assistenten zum Bereitstellen von Datenbanken

  1. Stellen Sie eine Verbindung mit dem Speicherort der Datenbank her, die Sie bereitstellen möchten. Sie können entweder eine Instanz des Datenbankmoduls oder einen Azure SQL-Datenbankserver angeben.

  2. Erweitern Sie im Objekt-Explorerden Knoten für die Instanz, in der die Datenbank enthalten ist.

  3. Erweitern Sie den Knoten Datenbanken .

  4. Klicken Sie mit der rechten Maustaste auf die Datenbank, die Sie bereitstellen möchten, wählen Sie "Aufgaben" aus, und wählen Sie dann "Datenbank in Microsoft Azure SQL-Datenbank bereitstellen" aus.

  5. Abschließen der Dialogfelder des Assistenten

Seite "Einführung"

Auf dieser Seite werden die Schritte des Assistenten zum Bereitstellen von Datenbanken beschrieben.

Optionen

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

  • Weiter – führt Sie zur Seite Bereitstellungseinstellungen .

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

Bereitstellungseinstellungen (Seite)

Auf dieser Seite können Sie den Zielserver angeben sowie Details zur neuen Datenbank bereitstellen.

Lokaler Host:

  • Serververbindungen: Geben Sie Serververbindungsdetails an, und klicken Sie dann auf Verbinden, um die Verbindung zu überprüfen.

  • Neuer Datenbankname: Geben Sie einen Namen für die neue Datenbank an.

SQL-Datenbankeinstellungen:

  • SQL-Datenbankedition – Wählen Sie die Edition der SQL-Datenbank aus dem Dropdownmenü aus.

  • Maximale Datenbankgröße: Wählen Sie die maximale Datenbankgröße im Dropdownmenü aus.

Andere Einstellungen:

  • Geben Sie ein lokales Verzeichnis für die temporäre Datei an, die der BACPAC-Archivdatei entspricht. Beachten Sie, dass die Datei am angegebenen Speicherort erstellt wird und dort verbleibt, nachdem der Vorgang abgeschlossen wurde.

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 Bereitstellungsvorgang mithilfe der angegebenen Einstellungen abzuschließen. Klicken Sie auf Abbrechen, um den Bereitstellungsvorgang abzubrechen und den Assistenten zu beenden.

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.

Ergebnisse (Seite)

Auf dieser Seite wird angegeben, ob der Bereitstellungsvorgang 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.

Klicken Sie auf Fertig stellen , um den Assistenten zu schließen.

Verwenden einer .NET Framework-Anwendung

Stellen Sie eine Datenbank mithilfe der Methoden DacStoreExport() und Import() in einer .NET Framework-Anwendung bereit.

  1. Erstellen Sie ein SMO-Serverobjekt, und legen Sie es auf die Instanz oder den Server fest, die bzw. der die bereitzustellende Datenbank enthält.

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

  3. Verwenden Sie die Export -Methode des Microsoft.SqlServer.Management.Dac.DacStore -Typs, um die Datenbank in eine BACPAC-Datei zu exportieren. Geben Sie den Namen der zu exportierenden Datenbank sowie den Pfad zum Ordner an, in dem die BACPAC-Datei abgelegt werden soll.

  4. Erstellen Sie ein SMO-Serverobjekt, und legen Sie es auf die Zielinstanz oder den Zielserver fest.

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

  6. Verwenden Sie die Import -Methode des Microsoft.SqlServer.Management.Dac.DacStore -Typs, um die BACPAC-Datei zu importieren. Geben Sie die beim Exportvorgang erstellte BACPAC-Datei an.

Weitere Informationen

Datenebenenanwendungen
Exportieren einer Datenebenenanwendung
Importieren einer BACPAC-Datei zum Erstellen einer neuen Benutzerdatenbank