Bereitstellen einer Datenbank mit DACDeploy a Database By Using a DAC

GILT FÜR: jaSQL ServerjaAzure SQL-DatenbankneinAzure SQL Data Warehouse neinParallel Data WarehouseAPPLIES TO: yesSQL Server yesAzure SQL Database noAzure SQL Data Warehouse noParallel Data Warehouse

Verwenden Sie den Assistenten zum Bereitstellen von Datenbanken auf SQL Azure , um eine Datenbank zwischen einer Datenbank-EngineDatabase Engine -Instanz und einem Azure SQL-DatenbankAzure SQL Database -Server bzw. zwischen zwei Azure SQL-DatenbankAzure SQL Database-Servern bereitzustellen.Use the Deploy a Database to SQL Azure Wizard to deploy a database between an instance of the Datenbank-EngineDatabase Engine and a Azure SQL-DatenbankAzure SQL Database server, or between two Azure SQL-DatenbankAzure SQL Databaseservers.

VorbereitungenBefore You Begin

Der Assistent verwendet die BACPAC-Archivdatei einer Datenebenenanwendung (DAC), um sowohl die Daten als auch die Definitionen von Datenbankobjekten bereitzustellen.The wizard uses a Data-tier Application (DAC) BACPAC archive file to deploy both the data and the definitions of database objects. Er führt einen DAC-Export von der Quelldatenbank und einen DAC-Import zum Ziel aus.It performs a DAC export operation from the source database, and a DAC import to the destination.

Datenbankoptionen und -einstellungenDatabase Options and Settings

Die während der Bereitstellung erstellte Datenbank verfügt standardmäßig über die Standardeinstellungen der CREATE DATABASE-Anweisung.By default, the database created during the deployment will have the default settings from the CREATE DATABASE statement. Die Ausnahme besteht darin, dass die Datenbanksortierung und der Kompatibilitätsgrad auf die Werte der Quelldatenbank festgelegt werden.The exception is that the database collation and compatibility level are set to the values from the source database.

Datenbankoptionen wie TRUSTWORTHY, DB_CHAINING und HONOR_BROKER_PRIORITY können nicht im Rahmen des Bereitstellungsprozesses angepasst werden.Database options, such as TRUSTWORTHY, DB_CHAINING and HONOR_BROKER_PRIORITY, cannot be adjusted as part of the deployment process. 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.Physical properties, such as the number of filegroups, or the numbers and sizes of files cannot be altered as part of the deployment process. Nachdem die Bereitstellung abgeschlossen wurde, können Sie die ALTER DATABASE-Anweisung, SQL Server Management StudioSQL Server Management Studiooder PowerShell für SQL ServerSQL Server verwenden, um die Datenbank individuell anzupassen.After the deployment completes, you can use the ALTER DATABASE statement, SQL Server Management StudioSQL Server Management Studio, or SQL ServerSQL Server PowerShell to tailor the database.

EinschränkungenLimitations and Restrictions

Der Assistent zum Bereitstellen von Datenbanken unterstützt das Bereitstellen einer Datenbank:The Deploy Database wizard supports deploying a database:

  • Von einer Datenbank-EngineDatabase Engine -Instanz auf Azure SQL-DatenbankAzure SQL Database.From an instance of the Datenbank-EngineDatabase Engine to Azure SQL-DatenbankAzure SQL Database.

  • Von Azure SQL-DatenbankAzure SQL Database auf eine Datenbank-EngineDatabase Engine-Instanz.From Azure SQL-DatenbankAzure SQL Database to an instance of the Datenbank-EngineDatabase Engine.

  • Zwischen zwei Azure SQL-DatenbankAzure SQL Database -Servern.Between two Azure SQL-DatenbankAzure SQL Database servers.

Das Bereitstellen von Datenbanken zwischen zwei Datenbank-EngineDatabase Engine-Instanzen wird vom Assistenten nicht unterstützt.The wizard does not support deploying databases between two instances of the Datenbank-EngineDatabase Engine.

Zur Unterstützung des Assistenten muss auf einer Datenbank-EngineDatabase Engine -Instanz SQL Server 2005 (9.x)SQL Server 2005 (9.x) Service Pack 4 (SP4) oder höher ausgeführt werden.An instance of the Datenbank-EngineDatabase Engine must be running SQL Server 2005 (9.x)SQL Server 2005 (9.x) Service Pack 4 (SP4) or later to work with the wizard. Wenn eine Datenbank auf einer Datenbank-EngineDatabase Engine -Instanz Objekte enthält, die unter Azure SQL-DatenbankAzure SQL Databasenicht unterstützt werden, kann der Assistent nicht zur Bereitstellung der Datenbank auf Azure SQL-DatenbankAzure SQL Databaseverwendet werden.If a database on an instance of the Datenbank-EngineDatabase Engine contains objects not supported on Azure SQL-DatenbankAzure SQL Database, you cannot use the wizard to deploy the database to Azure SQL-DatenbankAzure SQL Database. Wenn eine Datenbank unter Azure SQL-DatenbankAzure SQL Database Objekte enthält, die von SQL ServerSQL Servernicht unterstützt werden, können Sie die Datenbank mithilfe des Assistenten nicht auf SQL ServerSQL Server-Instanzen bereitstellen.If a database on Azure SQL-DatenbankAzure SQL Database contains objects not supported by SQL ServerSQL Server, you cannot use the wizard to deploy the database to instances of SQL ServerSQL Server.

SicherheitSecurity

Zur Erhöhung der Sicherheit werden die Anmeldenamen für die SQL Server-Authentifizierung ohne Kennwort in einer BACPAC-Exportdatei (DAC) gespeichert.To improve security, SQL Server Authentication logins are stored in a DAC BACPAC file without a password. Sobald die BACPAC-Datei importiert wird, wird der Anmeldename als deaktivierter Anmeldename mit einem generierten Kennwort erstellt.When the BACPAC is imported, the login is created as a disabled login with a generated password. 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.To enable the logins, log in using a login that has ALTER ANY LOGIN permission and use ALTER LOGIN to enable the login and assign a new password that can be communicated to the user. Dies ist für Anmeldenamen der Windows-Authentifizierung nicht erforderlich, da die zugehörigen Kennwörter nicht von SQL Server verwaltet werden.This is not needed for Windows Authentication logins because their passwords are not managed by SQL Server.

BerechtigungenPermissions

Der Assistent erfordert DAC-Exportberechtigungen für die Quelldatenbank.The wizard requires DAC export permissions on the source database. 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.The login requires at least ALTER ANY LOGIN and database scope VIEW DEFINITION permissions, as well as SELECT permissions on sys.sql_expression_dependencies. 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.Exporting a DAC can be done by members of the securityadmin fixed server role who are also members of the database_owner fixed database role in the database from which the DAC is exported. Mitglieder der festen Serverrolle „sysadmin“ oder des integrierten SQL Server-Systemadministratorkontos sa sind ebenfalls berechtigt, eine DAC zu exportieren.Members of the sysadmin fixed server role or the built-in SQL Server system administrator account named sa can also export a DAC.

Der Assistent benötigt DAC-Importberechtigungen für die Zielinstanz oder den Server.The wizard requires DAC import permissions on the destination instance or server. Der Anmeldename muss einem Mitglied der festen Serverrolle sysadmin , serveradmin oder dbcreator zugeordnet sein, das über ALTER ANY-LOGIN-Berechtigungen verfügt.The login must be a member of the sysadmin or serveradmin fixed server roles, or in the dbcreator fixed server role and have ALTER ANY LOGIN permissions. Außerdem kann das integrierte SQL ServerSQL Server -Systemadministratorkonto mit der Bezeichnung sa zum Importieren einer DAC verwendet werden.The built-in SQL ServerSQL Server system administrator account named sa can also import a DAC. Um eine DAC mit Anmeldungen bei SQL-DatenbankSQL Database importieren zu können, müssen Sie Mitglied der Rollen "loginmanager" oder "serveradmin" sein.Importing a DAC with logins to SQL-DatenbankSQL Database requires membership in the loginmanager or serveradmin roles. Um eine DAC ohne Anmeldungen bei SQL-DatenbankSQL Database importieren zu können, müssen Sie Mitglied der Rolle "dbmanager" oder "serveradmin" sein.Importing a DAC without logins to SQL-DatenbankSQL Database requires membership in the dbmanager or serveradmin roles.

Verwenden des Assistenten zum Bereitstellen von DatenbankenUsing the Deploy Database Wizard

So migrieren Sie eine Datenbank mithilfe des Assistenten zum Bereitstellen von DatenbankenTo migrate a database using the Deploy Database Wizard

  1. Stellen Sie eine Verbindung mit dem Speicherort der Datenbank her, die Sie bereitstellen möchten.Connect to the location of the database you want to deploy. Sie können entweder eine Datenbank-EngineDatabase Engine -Instanz oder einen Azure SQL-DatenbankAzure SQL Database -Server angeben.You can specify either an instance of Datenbank-EngineDatabase Engine or a Azure SQL-DatenbankAzure SQL Database server.

  2. Erweitern Sie im Objekt-Explorerden Knoten für die Instanz, in der die Datenbank enthalten ist.In Object Explorer, expand the node for the instance that has the database.

  3. Erweitern Sie den Knoten Datenbanken .Expand the Databases node.

  4. Klicken Sie mit der rechten Maustaste auf die Datenbank, die Sie bereitstellen möchten, klicken Sie auf Tasks und dann auf Datenbank in SQL Azure bereitstellen.Right click the database you want to deploy, select Tasks, and then select Deploy Database to SQL Azure...

  5. Abschließen der Dialogfelder des AssistentenComplete the Wizard dialogs:

Seite "Einführung"Introduction Page

Auf dieser Seite werden die Schritte des Assistenten zum Bereitstellen von Datenbanken beschrieben.This page describes the steps for the Deploy Database Wizard.

OptionenOptions

  • Diese Seite nicht mehr anzeigen.Do not show this page again. – Aktivieren Sie dieses Kontrollkästchen, damit die Einführungsseite in Zukunft nicht mehr angezeigt wird.- Click the check box to stop the Introduction page from being displayed in the future.

  • Weiter – führt Sie zur Seite Bereitstellungseinstellungen .Next - Proceeds to the Deployment Settings page.

  • Abbrechen: bricht den Vorgang ab und schließt den Assistenten.Cancel - Cancels the operation and closes the Wizard.

Bereitstellungseinstellungen (Seite)Deployment Settings Page

Auf dieser Seite können Sie den Zielserver angeben sowie Details zur neuen Datenbank bereitstellen.Use this page to specify the destination server and to provide details about your new database.

Lokaler Host:Local host:

  • Serververbindungen: Geben Sie Serververbindungsdetails an, und klicken Sie dann auf Verbinden, um die Verbindung zu überprüfen.Server connection - Specify server connection details and then click Connect to verify the connection.

  • Neuer Datenbankname: Geben Sie einen Namen für die neue Datenbank an.New database name - Specify a name for the new database.

SQL-DatenbankSQL Database -Datenbankeinstellungen:SQL-DatenbankSQL Database database settings:

  • SQL-DatenbankSQL Database-Edition: Wählen Sie die Edition von SQL-DatenbankSQL Database im Dropdownmenü aus.SQL-DatenbankSQL Database edition - Select the edition of SQL-DatenbankSQL Database from the drop-down menu.

  • Maximale Datenbankgröße: Wählen Sie die maximale Datenbankgröße im Dropdownmenü aus.Maximum database size - Select the maximum database size from the drop-down menu.

Andere Einstellungen:Other settings:

  • Geben Sie ein lokales Verzeichnis für die temporäre Datei an, die der BACPAC-Archivdatei entspricht.Specify a local directory for the temporary file, which is the BACPAC archive file. Beachten Sie, dass die Datei am angegebenen Speicherort erstellt wird und dort verbleibt, nachdem der Vorgang abgeschlossen wurde.Note that the file will be created at the specified location and will remain there after the operation completes.

Seite "Zusammenfassung"Summary Page

Verwenden Sie diese Seite, um die angegebene Quelle und die Zieleinstellungen für den Vorgang zu überprüfen.Use this page to review the specified source and target settings for the operation. Klicken Sie auf Fertig stellen, um den Bereitstellungsvorgang mithilfe der angegebenen Einstellungen abzuschließen.To complete the deploy operation using the specified settings, click Finish. Klicken Sie auf Abbrechen, um den Bereitstellungsvorgang abzubrechen und den Assistenten zu beenden.To cancel the deploy operation and exit the Wizard, click Cancel.

Status (Seite)Progress Page

Auf dieser Seite wird eine Statusanzeige angezeigt, die den Status des Vorgangs anzeigt.This page displays a progress bar that indicates the status of the operation. Klicken Sie auf die Option Details anzeigen , um ausführliche Informationen anzuzeigen.To view detailed status, click the View details option.

Ergebnisse (Seite)Results Page

Auf dieser Seite wird angegeben, ob der Bereitstellungsvorgang erfolgreich war oder ob dabei Fehler auftraten, dabei werden die Ergebnisse jeder Aktion angezeigt.This page reports the success or failure of the deploy operation, showing the results of each action. Für alle Aktionen, die fehlerhaft waren, ist in der Spalte Ergebnis ein Link enthalten.Any action that encountered an error will have a link in the Result column. Klicken Sie auf den Link, um einen Bericht des für diese Aktion aufgetretenen Fehlers anzuzeigen.Click the link to view a report of the error for that action.

Klicken Sie auf Fertig stellen , um den Assistenten zu schließen.Click Finish to close the Wizard.

Verwenden einer .NET Framework-AnwendungUsing a .Net Framework Application

Stellen Sie eine Datenbank mithilfe der Methoden DacStoreExport() und Import() in einer .NET Framework-Anwendung bereit.To deploy a database using the DacStoreExport() and Import() methods in a .Net Framework application.

Laden Sie zum Anzeigen eines Codebeispiels die DAC-Beispielanwendung unter Codeplexherunter.To view a code example, download the DAC sample application on Codeplex

  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.Create a SMO Server object and set it to the instance or server that contains the database to be deployed.

  2. Öffnen Sie ein ServerConnection -Objekt, und stellen Sie eine Verbindung mit derselben Instanz her.Open a ServerConnection object and connect to the same instance.

  3. Verwenden Sie die Export -Methode des Microsoft.SqlServer.Management.Dac.DacStore -Typs, um die Datenbank in eine BACPAC-Datei zu exportieren.Use the Export method of the Microsoft.SqlServer.Management.Dac.DacStore type to export the database to a BACPAC file. Geben Sie den Namen der zu exportierenden Datenbank sowie den Pfad zum Ordner an, in dem die BACPAC-Datei abgelegt werden soll.Specify the name of the database to be exported, and the path to the folder where the BACPAC file is to be placed.

  4. Erstellen Sie ein SMO-Serverobjekt, und legen Sie es auf die Zielinstanz oder den Zielserver fest.Create a SMO Server object and set it to the destination instance or server.

  5. Öffnen Sie ein ServerConnection -Objekt, und stellen Sie eine Verbindung mit derselben Instanz her.Open a ServerConnection object and connect to the same instance.

  6. Verwenden Sie die Import -Methode des Microsoft.SqlServer.Management.Dac.DacStore -Typs, um die BACPAC-Datei zu importieren.Use the Import method of the Microsoft.SqlServer.Management.Dac.DacStore type to import the BACPAC. Geben Sie die beim Exportvorgang erstellte BACPAC-Datei an.Specify the BACPAC file created by the export.

Weitere InformationenSee Also

Datenebenenanwendungen Data-tier Applications
Exportieren einer Datenebenenanwendung Export a Data-tier Application
Importieren einer BACPAC-Datei zum Erstellen einer neuen BenutzerdatenbankImport a BACPAC File to Create a New User Database