Distribuire un database tramite un'applicazione livello dati
Utilizzare la procedura guidata Distribuisci database in SQL Azure per distribuire un database tra un'istanza del Motore di database e un server Database SQL di Windows Azure o tra due server Database SQL di Windows Azure.
Prima di iniziare
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. Vengono eseguite un'operazione di esportazione dell'applicazione livello dati dal database di origine e un'importazione dell'applicazione livello dati nella destinazione.
Opzioni e impostazioni del database
Le impostazioni predefinite del database creato durante la distribuzione saranno quelle dell'istruzione CREATE DATABASE. Tuttavia, esiste un'eccezione, cioè le regole di confronto del database e il livello di compatibilità sono impostati sui valori del database di origine.
Le opzioni del database, ad esempio TRUSTWORTHY, DB_CHAINING e HONOR_BROKER_PRIORITY, non possono essere modificate durante il processo di distribuzione. 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. Al termine della distribuzione, è possibile utilizzare l'istruzione ALTER DATABASE, SQL Server Management Studio o SQL Server PowerShell per modificare il database in base alle proprie esigenze.
Limitazioni e restrizioni
La procedura guidata Distribuisci database supporta la distribuzione di un database:
Da un'istanza del Motore di database a Database SQL di Windows Azure.
Da Database SQL di Windows Azure a un'istanza del Motore di database.
Tra due server Database SQL di Windows Azure.
La procedura guidata non supporta la distribuzione di database tra due istanze del Motore di database.
Per poter funzionare con la procedura guidata, in un'istanza del Motore di database deve essere eseguito SQL Server 2005 Service Pack 4 (SP4) o versioni successive. Se in un database presente in un'istanza del Motore di database sono contenuti oggetti non supportati in Database SQL di Windows Azure, non è possibile utilizzare la procedura guidata per distribuire il database in Database SQL di Windows Azure. Se in un database presente in Database SQL di Windows Azure sono contenuti oggetti non supportati da SQL Server 2005, non è possibile utilizzare la procedura guidata per distribuire il database nelle istanze di SQL Server 2005.
Sicurezza
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. Quando il file BACPAC viene importato, l'account di accesso viene creato come account disabilitato con una password generata. Per abilitare gli account di accesso, è necessario accedere utilizzando un account che dispone dell'autorizzazione ALTER ANY LOGIN e utilizzare ALTER LOGIN per abilitare l'account di accesso e assegnare una nuova password che può essere comunicata all'utente. Questa operazione non è necessaria per gli account di accesso dell'autenticazione di Windows, in quanto le relative password non sono gestite da SQL Server.
Autorizzazioni
Per la procedura guidata sono richieste autorizzazioni di esportazione dell'applicazione livello dati sul database di origine. 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. 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. 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.
Per la procedura guidata sono richieste autorizzazioni di importazione dell'applicazione livello dati sull'istanza o sul server di destinazione. L'account di accesso deve essere un membro del ruolo predefinito del server sysadmin, serveradmin o dbcreator con autorizzazioni ALTER ANY LOGIN. È inoltre possibile importare un'applicazione livello dati utilizzando l'account dell'amministratore di sistema di SQL Server predefinito denominato sa. L'importazione di un'applicazione livello dati con gli account di accesso in Database SQL richiede l'appartenenza al ruolo loginmanager o serveradmin. Per l'importazione di un'applicazione livello dati senza account di accesso in Database SQL è richiesta l'appartenenza al ruolo dbmanager o serveradmin.
Utilizzo della procedura guidata Distribuisci database
Per eseguire la migrazione di un database utilizzando la procedura guidata Distribuisci database
Connettersi alla posizione del database che si desidera distribuire. È possibile specificare un'istanza del Motore di database o un server Database SQL di Windows Azure.
In Esplora oggetti espandere il nodo dell'istanza in cui è contenuto il database.
Espandere il nodo Database.
Fare clic con il pulsante destro del mouse sul database che si desidera distribuire, selezionare Attività, quindi scegliere Distribuisci database in SQL Azure
Completare le finestre di dialogo della procedura guidata:
Pagina Introduzione
Impostazioni di distribuzione
Convalida
Pagina Riepilogo
Risultati
Pagina Introduzione
In questa pagina vengono illustrati i passaggi necessari per la procedura guidata Distribuisci database.
Opzioni
Non visualizzare più questa pagina. - Fare clic sulla casella di controllo per evitare che la pagina Introduzione venga visualizzata nuovamente in futuro.
Avanti: consente di passare alla pagina Impostazioni di distribuzione.
Annulla: consente di annullare l'operazione e di chiudere la procedura guidata.
Pagina Impostazioni di distribuzione
Utilizzare questa pagina per specificare il server di destinazione e fornire i dettagli sul nuovo database.
Host locale:
Connessione server: specificare i dettagli della connessione al server, quindi fare clic su Connetti per verificare la connessione.
Nome nuovo database: specificare un nome per il nuovo database.
Impostazioni del database di Database SQL:
Edizione di Database SQL: selezionare l'edizione di Database SQL nel menu a discesa.
Dimensioni massime database: selezionare le dimensioni massime del database nel menu a discesa.
Altre impostazioni:
- Specificare una directory locale per il file temporaneo, cioè il file di archivio BACPAC. Si noti che il file verrà creato nel percorso specificato in cui rimarrà una volta completata l'operazione.
Pagina Riepilogo
Utilizzare questa pagina per esaminare le impostazioni di origine e destinazione specificate per l'operazione. Per completare l'operazione di distribuzione utilizzando le impostazioni specificate, fare clic su Fine. Per annullare l'operazione di distribuzione e chiudere la procedura guidata, fare clic su Annulla.
Pagina Stato
In questa pagina viene visualizzata un indicatore di stato indicante lo stato dell'operazione. Per visualizzare lo stato dettagliato, fare clic sull'opzione Visualizza dettagli.
Pagina Risultati
In questa pagina viene riportato l'esito positivo o negativo dell'operazione di distribuzione, indicante i risultati di ogni azione. Ogni azione che ha rilevato un errore avrà un collegamento nella colonna Risultato. Fare clic sul collegamento per visualizzare un report dell'errore per l'azione.
Fare clic su Fine per chiudere la procedura guidata.
Utilizzo di un'applicazione .NET Framework
Per distribuire un database utilizzando i metodi DacStore Export() e Import() in un'applicazione .Net Framework.
Per visualizzare un esempio di codice, scaricare l'applicazione di esempio dell'applicazione livello dati da Codeplex.
Creare un oggetto server SMO e impostarlo sull'istanza o sul server contenente il database che si desidera distribuire.
Aprire un oggetto ServerConnection e connetterlo alla stessa istanza.
Utilizzare il metodo Export del tipo Microsoft.SqlServer.Management.Dac.DacStore per esportare il database in un file BACPAC. Specificare il nome del database da esportare e il percorso della cartella in cui posizionare il file BACPAC.
Creare un oggetto server SMO e impostarlo sull'istanza o sul server di destinazione.
Aprire un oggetto ServerConnection e connetterlo alla stessa istanza.
Utilizzare il metodo Import del tipo Microsoft.SqlServer.Management.Dac.DacStore per importare il file BACPAC. Specificare il file BACPAC creato dall'esportazione.
Vedere anche
Concetti
Esportazione di un'applicazione livello dati
Importare un file BACPAC per creare un nuovo database utente