Freigeben über


Bereitstellen einer Datenbank mit DAC

Gilt für: SQL Server Azure SQL-Datenbank

Verwenden Sie den Assistenten zum Bereitstellen einer Datenbank in Microsoft Azure SQL-Datenbank, um eine Datenbank zwischen einer Instanz von Datenbank-Engine und einem Azure SQL-Datenbank-Server oder zwischen zwei Azure SQL-Datenbank-Servern 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. Nachdem die Bereitstellung abgeschlossen wurde, können Sie die ALTER DATABASE-Anweisung, SQL Server Management Studio oder PowerShell für SQL Server verwenden, um die Datenbank individuell anzupassen.

Einschränkungen

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

  • Von einer Instanz der Datenbank-Engine zu Azure SQL-Datenbank.

  • Von Azure SQL-Datenbank zu einer Instanz der Datenbank-Engine.

  • Zwischen zwei Azure SQL-Datenbank-Server.

Das Bereitstellen von Datenbanken zwischen zwei Datenbank-Engine-Instanzen wird vom Assistenten nicht unterstützt.

Zur Unterstützung des Assistenten muss auf einer Datenbank-Engine-Instanz SQL Server 2005 (9.x) Service Pack 4 (SP4) oder höher ausgeführt werden. Wenn eine Datenbank auf einer Datenbank-Engine-Instanz Objekte enthält, die unter Azure SQL-Datenbank nicht unterstützt werden, kann der Assistent nicht zur Bereitstellung der Datenbank auf Azure SQL-Datenbank verwendet werden. Wenn eine Datenbank unter Azure SQL-Datenbank Objekte enthält, die von SQL Server nicht unterstützt werden, können Sie die Datenbank mithilfe des Assistenten nicht auf SQL Server-Instanzen bereitstellen.

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. Außerdem kann das integrierte SQL Server-Systemadministratorkonto mit der Bezeichnung sa zum Importieren einer DAC verwendet werden. . Um eine DAC mit Anmeldungen bei SQL Database importieren zu können, müssen Sie Mitglied der Rollen "loginmanager" oder "serveradmin" sein. Um eine DAC ohne Anmeldungen bei SQL Database importieren zu können, müssen Sie Mitglied der Rolle "dbmanager" oder "serveradmin" sein.

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 von Datenbank-Engine oder einen Azure SQL-Datenbank Server 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, klicken Sie auf Tasks, und wählen Sie dann Datenbank für 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-Datenbank-Datenbankeinstellungen:

  • SQL-Datenbank-Edition - Wählen Sie die Edition von SQL-Datenbank im 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