Distribuire un database tramite un'applicazione livello datiDeploy a Database By Using a DAC

Usare la procedura guidata Distribuisci database in SQL Azure per distribuire un database tra un'istanza del Motore di databaseDatabase Engine e un server Database SQL di AzureAzure SQL Database o tra due server Database SQL di AzureAzure SQL Database.Use the Deploy a Database to SQL Azure Wizard to deploy a database between an instance of the Motore di databaseDatabase Engine and a Database SQL di AzureAzure SQL Database server, or between two Database SQL di AzureAzure SQL Databaseservers.

Prima di iniziare Before You Begin

Nella procedura guidata viene utilizzato un file di archivio BACPAC dell'applicazione livello dati per distribuire sia i dati sia le definizioni degli oggetti di database.The wizard uses a Data-tier Application (DAC) BACPAC archive file to deploy both the data and the definitions of database objects. Vengono eseguite un'operazione di esportazione dell'applicazione livello dati dal database di origine e un'importazione dell'applicazione livello dati nella destinazione.It performs a DAC export operation from the source database, and a DAC import to the destination.

Opzioni e impostazioni del database Database Options and Settings

Le impostazioni predefinite del database creato durante la distribuzione saranno quelle dell'istruzione CREATE DATABASE.By default, the database created during the deployment will have the default settings from the CREATE DATABASE statement. Tuttavia, esiste un'eccezione, cioè le regole di confronto del database e il livello di compatibilità sono impostati sui valori del database di origine.The exception is that the database collation and compatibility level are set to the values from the source database.

Le opzioni del database, ad esempio TRUSTWORTHY, DB_CHAINING e HONOR_BROKER_PRIORITY, non possono essere modificate durante il processo di distribuzione.Database options, such as TRUSTWORTHY, DB_CHAINING and HONOR_BROKER_PRIORITY, cannot be adjusted as part of the deployment process. Le proprietà fisiche, ad esempio il numero di filegroup o i numeri e le dimensioni dei file, non possono essere modificate durante il processo di distribuzione.Physical properties, such as the number of filegroups, or the numbers and sizes of files cannot be altered as part of the deployment process. Al termine della distribuzione, è possibile usare l'istruzione ALTER DATABASE, SQL Server Management StudioSQL Server Management Studioo SQL ServerSQL Server PowerShell per modificare il database in base alle proprie esigenze.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.

Limitazioni e restrizioni Limitations and Restrictions

La procedura guidata Distribuisci database supporta la distribuzione di un database:The Deploy Database wizard supports deploying a database:

  • Da un'istanza del Motore di databaseDatabase Engine a Database SQL di AzureAzure SQL Database.From an instance of the Motore di databaseDatabase Engine to Database SQL di AzureAzure SQL Database.

  • Da Database SQL di AzureAzure SQL Database a un'istanza del Motore di databaseDatabase Engine.From Database SQL di AzureAzure SQL Database to an instance of the Motore di databaseDatabase Engine.

  • Tra due server Database SQL di AzureAzure SQL Database .Between two Database SQL di AzureAzure SQL Database servers.

    La procedura guidata non supporta la distribuzione di database tra due istanze del Motore di databaseDatabase Engine.The wizard does not support deploying databases between two instances of the Motore di databaseDatabase Engine.

    Per poter funzionare con la procedura guidata, in un'istanza del Motore di databaseDatabase Engine deve essere eseguito SQL Server 2005SQL Server 2005 Service Pack 4 (SP4) o versioni successive.An instance of the Motore di databaseDatabase Engine must be running SQL Server 2005SQL Server 2005 Service Pack 4 (SP4) or later to work with the wizard. Se in un database presente in un'istanza del Motore di databaseDatabase Engine sono contenuti oggetti non supportati in Database SQL di AzureAzure SQL Database, non è possibile utilizzare la procedura guidata per distribuire il database in Database SQL di AzureAzure SQL Database.If a database on an instance of the Motore di databaseDatabase Engine contains objects not supported on Database SQL di AzureAzure SQL Database, you cannot use the wizard to deploy the database to Database SQL di AzureAzure SQL Database. Se in un database presente in Database SQL di AzureAzure SQL Database sono contenuti oggetti non supportati da SQL ServerSQL Server, non è possibile utilizzare la procedura guidata per distribuire il database nelle istanze di SQL ServerSQL Server.If a database on Database SQL di AzureAzure 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.

Sicurezza Security

Per migliorare la sicurezza, gli account di accesso dell'autenticazione di SQL Server vengono archiviati in un file BACPAC dell'applicazione livello dati senza password.To improve security, SQL Server Authentication logins are stored in a DAC BACPAC file without a password. Quando il file BACPAC viene importato, l'account di accesso viene creato come account disabilitato con una password generata.When the BACPAC is imported, the login is created as a disabled login with a generated password. Per abilitare gli account di accesso, è necessario accedere usando un account che dispone dell'autorizzazione ALTER ANY LOGIN e usare ALTER LOGIN per abilitare l'account di accesso e assegnare una nuova password che può essere comunicata all'utente.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. Questa operazione non è necessaria per gli account di accesso dell'autenticazione di Windows, in quanto le relative password non sono gestite da SQL Server.This is not needed for Windows Authentication logins because their passwords are not managed by SQL Server.

AutorizzazioniPermissions

Per la procedura guidata sono richieste autorizzazioni di esportazione dell'applicazione livello dati sul database di origine.The wizard requires DAC export permissions on the source database. Per l'account di accesso sono richieste almeno le autorizzazioni ALTER ANY LOGIN e VIEW DEFINITION nell'ambito del database, nonché le autorizzazioni SELECT su sys.sql_expression_dependencies.The login requires at least ALTER ANY LOGIN and database scope VIEW DEFINITION permissions, as well as SELECT permissions on sys.sql_expression_dependencies. L'esportazione di un'applicazione livello dati può essere effettuata da membri del ruolo predefinito del server securityadmin che sono anche membri del ruolo predefinito del database database_owner nel database dal cui viene esportata l'applicazione livello dati.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. Possono esportare un'applicazione livello dati anche i membri del ruolo predefinito del server sysadmin o dell'account amministratore di sistema SQL Server predefinito denominato sa .Members of the sysadmin fixed server role or the built-in SQL Server system administrator account named sa can also export a DAC.

Per la procedura guidata sono richieste autorizzazioni di importazione dell'applicazione livello dati sull'istanza o sul server di destinazione.The wizard requires DAC import permissions on the destination instance or server. L'account di accesso deve essere un membro del ruolo predefinito del server sysadmin , serveradmin o dbcreator con autorizzazioni ALTER ANY LOGIN.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. È anche possibile importare un'applicazione livello dati usando l'account dell'amministratore di sistema di SQL ServerSQL Server predefinito denominato sa .The built-in SQL ServerSQL Server system administrator account named sa can also import a DAC. L'importazione di un'applicazione livello dati con gli account di accesso in Database SQLSQL Database richiede l'appartenenza al ruolo loginmanager o serveradmin.Importing a DAC with logins to Database SQLSQL Database requires membership in the loginmanager or serveradmin roles. L'importazione di un'applicazione livello dati senza account di accesso in Database SQLSQL Database richiede l'appartenenza al ruolo dbmanager o serveradmin.Importing a DAC without logins to Database SQLSQL Database requires membership in the dbmanager or serveradmin roles.

Utilizzo della procedura guidata Distribuisci database Using the Deploy Database Wizard

Per eseguire la migrazione di un database utilizzando la procedura guidata Distribuisci databaseTo migrate a database using the Deploy Database Wizard

  1. Connettersi alla posizione del database che si desidera distribuire.Connect to the location of the database you want to deploy. È possibile specificare un'istanza del Motore di databaseDatabase Engine o un server Database SQL di AzureAzure SQL Database .You can specify either an instance of Motore di databaseDatabase Engine or a Database SQL di AzureAzure SQL Database server.

  2. In Esplora oggettiespandere il nodo dell'istanza in cui è contenuto il database.In Object Explorer, expand the node for the instance that has the database.

  3. Espandere il nodo di Database .Expand the Databases node.

  4. Fare clic con il pulsante destro del mouse sul database che si desidera distribuire, selezionare Attività, quindi scegliere Distribuisci database in SQL AzureRight click the database you want to deploy, select Tasks, and then select Deploy Database to SQL Azure…

  5. Completare le finestre di dialogo della procedura guidata:Complete the Wizard dialogs:

Pagina Introduzione Introduction Page

In questa pagina vengono illustrati i passaggi necessari per la procedura guidata Distribuisci database .This page describes the steps for the Deploy Database Wizard.

OpzioniOptions

  • Non visualizzare più questa paginaDo not show this page again. Selezionare la casella di controllo per evitare che la pagina Introduzione venga visualizzata nuovamente in futuro.- Click the check box to stop the Introduction page from being displayed in the future.

  • Avanti : consente di passare alla pagina Impostazioni di distribuzione .Next - Proceeds to the Deployment Settings page.

  • Annulla : annulla l'operazione e chiude la procedura guidata.Cancel – Cancels the operation and closes the Wizard.

Pagina Impostazioni di distribuzione Deployment Settings Page

Usare questa pagina per specificare il server di destinazione e fornire i dettagli sul nuovo database.Use this page to specify the destination server and to provide details about your new database.

Host locale:Local host:

  • Connessione server : specificare i dettagli della connessione al server, quindi fare clic su Connetti per verificare la connessione.Server connection – Specify server connection details and then click Connect to verify the connection.

  • Nome nuovo database : specificare un nome per il nuovo database.New database name – Specify a name for the new database.

    Database SQLSQL Database : Database SQLSQL Database database settings:

  • Database SQLSQL Database – Select the of Database SQLSQL Database dal menu a discesa. Database SQLSQL Database edition – Select the edition of Database SQLSQL Database from the drop-down menu.

  • Dimensioni massime database : selezionare le dimensioni massime del database dal menu a discesa.Maximum database size – Select the maximum database size from the drop-down menu.

    Altre impostazioni:Other settings:

  • Specificare una directory locale per il file temporaneo, cioè il file di archivio BACPAC.Specify a local directory for the temporary file, which is the BACPAC archive file. Si noti che il file verrà creato nel percorso specificato in cui rimarrà una volta completata l'operazione.Note that the file will be created at the specified location and will remain there after the operation completes.

Pagina Riepilogo Summary Page

Utilizzare questa pagina per esaminare le impostazioni di origine e destinazione specificate per l'operazione.Use this page to review the specified source and target settings for the operation. Per completare l'operazione di distribuzione usando le impostazioni specificate, fare clic su Fine.To complete the deploy operation using the specified settings, click Finish. Per annullare l'operazione di distribuzione e chiudere la procedura guidata, fare clic su Annulla.To cancel the deploy operation and exit the Wizard, click Cancel.

Pagina Stato Progress Page

In questa pagina viene visualizzato un indicatore di stato che indica lo stato dell'operazione.This page displays a progress bar that indicates the status of the operation. Per visualizzare lo stato dettagliato, fare clic sull'opzione Visualizza dettagli .To view detailed status, click the View details option.

Pagina Risultati Results Page

In questa pagina è riportato l'esito positivo o negativo dell'operazione di distribuzione, indicante i risultati di ogni azione.This page reports the success or failure of the deploy operation, showing the results of each action. Ogni azione che ha rilevato un errore avrà un collegamento nella colonna Risultato .Any action that encountered an error will have a link in the Result column. Fare clic sul collegamento per visualizzare un report dell'errore relativo all'azione.Click the link to view a report of the error for that action.

Fare clic su Fine per chiudere la procedura guidata.Click Finish to close the Wizard.

Utilizzo di un'applicazione .NET FrameworkUsing a .Net Framework Application

Per distribuire un database usando i metodi DacStoreExport() e Import() in un'applicazione .NET Framework.To deploy a database using the DacStoreExport() and Import() methods in a .Net Framework application.

Per visualizzare un esempio di codice, scaricare l'applicazione di esempio dell'applicazione livello dati da Codeplex.To view a code example, download the DAC sample application on Codeplex

  1. Creare un oggetto server SMO e impostarlo sull'istanza o sul server contenente il database che si desidera distribuire.Create a SMO Server object and set it to the instance or server that contains the database to be deployed.

  2. Aprire un oggetto ServerConnection e connetterlo alla stessa istanza.Open a ServerConnection object and connect to the same instance.

  3. Usare il metodo Export del tipo Microsoft.SqlServer.Management.Dac.DacStore per esportare il database in un file BACPAC.Use the Export method of the Microsoft.SqlServer.Management.Dac.DacStore type to export the database to a BACPAC file. Specificare il nome del database da esportare e il percorso della cartella in cui posizionare il file BACPAC.Specify the name of the database to be exported, and the path to the folder where the BACPAC file is to be placed.

  4. Creare un oggetto server SMO e impostarlo sull'istanza o sul server di destinazione.Create a SMO Server object and set it to the destination instance or server.

  5. Aprire un oggetto ServerConnection e connetterlo alla stessa istanza.Open a ServerConnection object and connect to the same instance.

  6. Usare il metodo Import del tipo Microsoft.SqlServer.Management.Dac.DacStore per importare il file BACPAC.Use the Import method of the Microsoft.SqlServer.Management.Dac.DacStore type to import the BACPAC. Specificare il file BACPAC creato dall'esportazione.Specify the BACPAC file created by the export.

Vedere ancheSee Also

Applicazioni livello dati Data-tier Applications
Esportazione di un'applicazione livello dati Export a Data-tier Application
Importare un file BACPAC per creare un nuovo database utente Import a BACPAC File to Create a New User Database