Bereitstellen einer Datenbank mit DAC

Verwenden Sie den Assistenten zum Bereitstellen von Datenbanken auf SQL Azure, um eine Datenbank zwischen einer Database Engine (Datenbankmodul)-Instanz und einem Windows Azure SQL-Datenbank-Server bzw. zwischen zwei Windows 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 Database Engine (Datenbankmodul)-Instanz auf Windows Azure SQL-Datenbank.

  • Von Windows Azure SQL-Datenbank auf eine Database Engine (Datenbankmodul)-Instanz.

  • Zwischen zwei Windows Azure SQL-Datenbank-Servern.

Das Bereitstellen von Datenbanken zwischen zwei Database Engine (Datenbankmodul)-Instanzen wird vom Assistenten nicht unterstützt.

Zur Unterstützung des Assistenten muss auf einer Database Engine (Datenbankmodul)-Instanz SQL Server 2005 Service Pack 4 (SP4) oder höher ausgeführt werden. Wenn eine Datenbank auf einer Database Engine (Datenbankmodul)-Instanz Objekte enthält, die unter Windows Azure SQL-Datenbank nicht unterstützt werden, kann der Assistent nicht zur Bereitstellung der Datenbank auf Windows Azure SQL-Datenbank verwendet werden. Wenn eine Datenbank unter Windows Azure SQL-Datenbank Objekte enthält, die von SQL Server 2005 nicht unterstützt werden, können Sie die Datenbank mithilfe des Assistenten nicht auf SQL Server 2005-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 sind mindestens die ALTER ANY LOGIN-Berechtigung und die VIEW DEFINITION-Berechtigung im Datenbankbereich sowie SELECT-Berechtigungen für sys.sql_expression_dependencies erforderlich. 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-Datenbank importieren zu können, müssen Sie Mitglied der Rollen "loginmanager" oder "serveradmin" sein. Um eine DAC ohne Anmeldungen in SQL-Datenbank zu importieren, 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 Database Engine (Datenbankmodul)-Instanz oder einen Windows Azure SQL-Datenbank-Server angeben.

  2. Erweitern Sie im Objekt-Explorer den 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 Tasks und dann Datenbank in SQL Azure bereitstellen aus.

  5. Abschließen der Dialogfelder des Assistenten

    • Seite "Einführung"

    • Bereitstellungseinstellungen

    • Überprüfung

    • Seite "Zusammenfassung"

    • Ergebnisse

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.

  • Durch Weiter gelangen 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 DacStore Export()-Methode und der Import()-Methode in einer .NET Framework-Anwendung bereit.

Laden Sie zum Anzeigen eines Codebeispiels die DAC-Beispielanwendung unter Codeplex herunter.

  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.

Siehe auch

Konzepte

Datenebenenanwendungen

Exportieren einer Datenebenenanwendung

Importieren einer BACPAC-Datei zum Erstellen einer neuen Benutzerdatenbank