Distribuire un database tramite un'applicazione livello dati

Si applica a:SQL ServerDatabase SQL di Azure

Usa la procedura guidata Distribuire il database nel database SQL di Microsoft Azure per implementare un database tra un'istanza del motore di database e un server di database SQL di Azure o tra due server di database SQL di 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 usare 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 al database SQL di Azure.

  • Dal database SQL di Azure a un'istanza del motore di database.

  • Tra due server di database SQL di 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 (9.x) Service Pack 4 (SP4) o versioni successive. Se in un database presente in un'istanza del motore di database sono contenuti oggetti non supportati nel database SQL di Azure, non è possibile utilizzare la procedura guidata per distribuire il database nello stesso. Se in un database presente nel database SQL di Azure sono contenuti oggetti non supportati da SQL Server, non è possibile utilizzare la procedura guidata per distribuire il database nelle istanze di SQL Server.

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 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. 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. È anche possibile importare un'applicazione livello dati con l'account dell'amministratore di sistema di SQL Server predefinito denominato sa. L'importazione di un'applicazione livello dati con gli account di accesso al Database SQL richiede l'appartenenza al ruolo loginmanager o serveradmin. L'importazione di un'applicazione livello dati senza account di accesso al Database SQL richiede 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

  1. Connettersi alla posizione del database che si desidera distribuire. Puoi specificare un'istanza di motore di database o un server di database SQL di Azure.

  2. In Esplora oggettiespandere il nodo dell'istanza in cui è contenuto il database.

  3. Espandere il nodo di Database .

  4. Fai clic con il pulsante destro del mouse sul database da implementare, seleziona Tasks e quindi Distribuire il database nel database SQL di Microsoft Azure

  5. Completare le finestre di dialogo della procedura guidata:

Pagina Introduzione

In questa pagina vengono illustrati i passaggi necessari per la procedura guidata Distribuisci database .

Opzioni

  • Non visualizzare più questa pagina Selezionare la casella di controllo per evitare che la pagina Introduzione venga visualizzata nuovamente in futuro.

  • Avanti: consente di passare alla pagina Impostazioni di distribuzione .

  • Annulla: annulla l'operazione e chiude la procedura guidata.

Pagina Impostazioni di distribuzione

Usare 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 e quindi fare clic su Connetti per verificare la connessione.

  • Nome nuovo database: specificare un nome per il nuovo database.

Database SQL, impostazioni del database:

  • Edizione del database SQL: seleziona l'edizione del database SQL nel menu a discesa.

  • Dimensioni massime database: selezionare le dimensioni massime del database dal 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 usando 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 visualizzato un indicatore di stato che indica lo stato dell'operazione. Per visualizzare lo stato dettagliato, fare clic sull'opzione Visualizza dettagli .

Pagina Risultati

In questa pagina è 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 relativo all'azione.

Fare clic su Fine per chiudere la procedura guidata.

Utilizzo di un'applicazione .NET Framework

Per distribuire un database usando i metodi DacStoreExport() e Import() in un'applicazione .NET Framework.

  1. Creare un oggetto server SMO e impostarlo sull'istanza o sul server contenente il database che si desidera distribuire.

  2. Aprire un oggetto ServerConnection e connetterlo alla stessa istanza.

  3. Usare 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.

  4. Creare un oggetto server SMO e impostarlo sull'istanza o sul server di destinazione.

  5. Aprire un oggetto ServerConnection e connetterlo alla stessa istanza.

  6. Usare il metodo Import del tipo Microsoft.SqlServer.Management.Dac.DacStore per importare il file BACPAC. Specificare il file BACPAC creato dall'esportazione.

Vedi anche

Applicazioni livello dati
Esportazione di un'applicazione livello dati
Importare un file BACPAC per creare un nuovo database utente