Condividi tramite


Esportazione di un'applicazione livello dati

Si applica a: SQL Server Database SQL di Azure Istanza gestita di SQL di Azure

L'esportazione di un database o di un'applicazione livello dati (DAC) distribuita crea un file di esportazione contenente le definizioni degli oggetti del database e tutti i dati contenuti nelle tabelle. Il file di esportazione può quindi essere importato in un'altra istanza del motore di database o nel database SQL di Azure. Le operazioni di importazione ed esportazione possono essere combinate per eseguire la migrazione di un'applicazione livello dati tra istanze, per creare un archivio o per creare una copia locale di un database distribuito nel database SQL.

Prerequisiti

Il processo di esportazione compila un nuovo file di esportazione dell'applicazione livello dati in due fasi.

  1. L'esportazione compila una definizione dell'applicazione livello dati nel file di esportazione (file BACPAC) così come un'operazione di estrazione dell'applicazione livello dati compila una definizione dell'applicazione livello dati in un file del pacchetto di applicazione livello dati. La definizione del pacchetto di applicazione livello dati esportata include tutti gli oggetti del database corrente. Si supponga che il processo di esportazione venga eseguito su un database inizialmente distribuito da un'applicazione livello dati e che le modifiche siano state apportate direttamente al database dopo la distribuzione. In tal caso, la definizione esportata corrisponde al set di oggetti nel database, non a quello definito nell'applicazione livello dati originale.

  2. L'esportazione consente di eseguire una copia bulk dei dati da tutte le tabelle del database e di incorporarli nel file di esportazione.

Il processo di esportazione imposta la versione dell'applicazione livello dati su 1.0.0.0 e la descrizione dell'applicazione livello dati nel file di esportazione su una stringa vuota. Se il database è stato distribuito da un'applicazione livello dati, la definizione dell'applicazione livello dati nel file di esportazione conterrà il nome assegnato all'applicazione livello dati originale. In caso contrario, il nome dell'applicazione livello dati è impostato sul nome del database.

Autorizzazioni

Per esportare un'applicazione livello dati, devi disporre almeno delle autorizzazioni di accesso ALTER ANY e VIEW DEFINITION a livello di database e delle autorizzazioni SELECT per sys.sql_expression_dependencies`. Questo task è ottenibile per gli utenti che mantengono l'adesione al ruolo predefinito del server securityadmin e al ruolo predefinito del database database_owner all'interno del database di origine dell'applicazione livello dati. Inoltre, l'esportazione di un'applicazione livello dati è fattibile per coloro che fanno parte del ruolo predefinito del server amministratore di sistema o chi ha accesso all'account amministratore di sistema di SQL Server predefinito denominato sa.

Nel database SQL di Azure è necessario concedere per ogni database le autorizzazioni VIEW DEFINITION e SELECT per tutte le tabelle o per tabelle specifiche.

Uso della procedura guidata Esporta l'applicazione livello dati

Per esportare un'applicazione livello dati tramite una procedura guidata

  1. Connettersi all'istanza di SQL Server locale o nel database SQL.

  2. In Esplora oggettiespandere il nodo per le istanze da cui esportare l'applicazione livello dati.

  3. Fare clic con il pulsante destro del mouse sul nome del database.

  4. Seleziona Task e quindi Esporta l'applicazione livello dati.

  5. Completare le finestre di dialogo della procedura guidata.

Pagina Introduzione

In questa pagina vengono descritti i passaggi per la procedura guidata Esporta l'applicazione livello dati.

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 Selezione pacchetto di applicazione livello dati .

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

Scheda schermata dell'esportazione di una pagina introduttiva di un'applicazione livello dati.

Pagina Impostazioni di esportazione

Utilizzare questa pagina per specificare il percorso in cui creare il file BACPAC.

  • Salva su disco locale : crea un file BACPAC in una directory nel computer locale. Seleziona Sfoglia per spostarti su un percorso nel computer locale oppure specifica il percorso nell'apposito campo. Il nome del percorso deve includere un nome file e l'estensione .bacpac.

  • Salva in Azure : crea un file BACPAC in un contenitore Azure. È necessario connettersi a un contenitore Azure per convalidare questa opzione. Questa opzione richiede inoltre che si specifichi un elenco locale per il file temporaneo. Il file temporaneo verrà creato nel percorso specificato, dove rimarrà una volta completata l'operazione.

Per specificare un subset di tabelle da esportare, usare l'opzione Avanzate .

Screenshot della pagina di esportazione di un'applicazione livello dati.

Pagina Riepilogo

Utilizzare questa pagina per esaminare le impostazioni di origine e destinazione specificate per l'operazione. Per completare l'operazione di esportazione usando le impostazioni specificate, seleziona Fine. Per annullare l'operazione di esportazione e chiudere la procedura guidata, seleziona Annulla.

Screenshot della pagina di riepilogo del livello dati di esportazione.

Pagina Stato

In questa pagina viene visualizzato un indicatore di stato che indica lo stato dell'operazione. Per visualizzare lo stato dettagliato, selezionare l'opzione Visualizza dettagli.

Pagina dei risultati

In questa pagina viene riportato l'esito positivo o negativo dell'operazione di esportazione, indicante i risultati di ogni azione. Ogni azione che ha rilevato un errore ha un collegamento nella colonna Risultato. Selezionare il collegamento per visualizzare un report dell'errore per l'azione.

Screenshot della pagina dei risultati dell'applicazione livello dati.

Per chiudere la procedura guidata, seleziona Fine.

Uso di un'applicazione .NET Framework

Per esportare un'applicazione livello dati con il metodo Export() in un'applicazione .NET Framework.

  1. Creare un oggetto server SMO e impostarlo sull'istanza contenente l'applicazione livello dati da esportare.

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

  3. Usare il metodo Export del tipo Microsoft.SqlServer.Management.Dac.DacStore per esportare l'applicazione livello dati. Specificare il nome dell'applicazione livello dati da esportare e il percorso della cartella in cui salvare il file di esportazione.

Limitazioni e restrizioni

Un database o un'applicazione livello dati può essere esportata solo da un database in database SQL o SQL Server 2005 (9.x) Service Pack 4 (SP4) o versioni successive.

Non è possibile esportare un database contenente oggetti non supportati in un'applicazione livello dati o utenti contenuti. Per ulteriori informazioni sui tipi di oggetti supportati in un'applicazione livello dati, vedere DAC Support For SQL Server Objects and Versions.

Se si riceve un errore con il messaggio Spazio su disco insufficiente, è consigliabile configurare la cartella %TEMP% del sistema in modo che risieda in un disco dati distinto. In questo modo, puoi garantire spazio sufficiente per il processo di esportazione per un'esecuzione agevole, evitando potenziali complicazioni dello spazio su disco.

Per configurare la cartella %TEMP% del sistema:

  • In Windows aprire Proprietà di sistema>Proprietà, quindi selezionare il collegamento Impostazioni di sistema avanzate.

  • Nella Finestra Proprietà di sistema comparsa, spostati nella parte inferiore e seleziona Variabili di ambiente.

  • Nella sezione Variabili di sistema, individuare le variabili TEMP e TMP, quindi selezionare Modifica associata a ogni variabile.

  • Modifica i valori di entrambe le variabili in modo che puntino a un percorso nel disco dati separato stabilito. Ad esempio, se il disco dati è designato come D:, imposta i valori a D:\Temp.

  • Conferma le modifiche selezionando OK e chiudendo tutte le finestre aperte.