Esportazione di un'applicazione livello dati

Si applica a:SQL ServerDatabase SQL di AzureIstanza gestita di SQL di Azure

L'esportazione di un database o di un'applicazione livello dati distribuita crea un file di esportazione contenente sia le definizioni degli oggetti del database che 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.

Prima di iniziare

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. Se il processo di esportazione viene eseguito su un database distribuito originariamente da un'applicazione livello dati, e le modifiche sono state apportate direttamente al database dopo la distribuzione, la definizione esportata corrisponderà al set di oggetti del database e non alle definizioni dell'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 verrà impostato sul nome del database.

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 ricevi 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:

  • Apri la Finestra Proprietà di sistema premendo il tasto Windows + Pausa/Break oppure facendo clic con il pulsante destro del mouse su Questo PC e scegliendo Proprietà.

  • Seleziona il collegamento con l'etichetta Impostazioni di sistema avanzate sul lato sinistro.

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

  • Nella sezione Variabili di sistema individua le variabili TEMP e TMP, quindi seleziona 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.

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 ssys.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.

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 .

Pagina Convalida

Utilizzare la pagina di convalida per esaminare gli eventuali problemi che bloccano l'operazione. Per continuare, risolvere i problemi che causano il blocco, quindi selezionare Ripeti convalida per assicurarsi che la convalida venga completata correttamente.

Per continuare, selezionare Avanti.

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.

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

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.

Vedi anche