Condividi tramite


SSIS

SQL Server Integration Services offre configurazioni di pacchetto che è possibile usare per aggiornare i valori delle proprietà in fase di esecuzione.

Nota

Le configurazioni sono disponibili per il modello di distribuzione del pacchetto. I parametri vengono utilizzati al posto delle configurazioni per il modello di distribuzione del progetto. Il modello di distribuzione del progetto consente di distribuire progetti di Integration Services nel server Integration Services. Per altre informazioni sui modelli di distribuzione, vedere Distribuzione di progetti e pacchetti.

Una configurazione è una coppia proprietà/valore che viene aggiunta a un pacchetto completo. In genere, si crea un pacchetto, si impostano le proprietà per gli oggetti di pacchetto durante lo sviluppo del pacchetto e quindi si aggiunge la configurazione al pacchetto. Quando il pacchetto viene eseguito, ottiene i nuovi valori della proprietà dalla configurazione. Utilizzando ad esempio una configurazione, è possibile modificare la stringa di connessione di una gestione connessione o aggiornare il valore di una variabile.

Le configurazioni di pacchetto offrono i vantaggi seguenti:

  • Le configurazioni semplificano lo spostamento di pacchetti dall'ambiente di sviluppo all'ambiente di produzione. Tramite una configurazione è ad esempio possibile aggiornare il percorso di un file di origine o modificare il nome di un database o di un server.

  • Le configurazioni risultano utili per la distribuzione di pacchetti in più server diversi. La configurazione di ogni pacchetto distribuito può ad esempio includere una variabile che specifica un diverso valore di spazio su disco. Se lo spazio su disco disponibile non soddisfa tale valore, il pacchetto non verrà eseguito.

  • Le configurazioni rendono i pacchetti più flessibili. Una configurazione, ad esempio, può aggiornare il valore di una variabile utilizzata in un'espressione di proprietà.

Integration Services supporta diversi metodi di archiviazione delle configurazioni di pacchetto, ad esempio file XML, tabelle di un database di SQL Server e variabili di ambiente e di pacchetto.

Ogni configurazione corrisponde a una coppia proprietà/valore. Il file di configurazione XML e i tipi di configurazione di SQL Server possono includere più configurazioni.

Le configurazioni vengono incluse quando si crea un'utilità di distribuzione per l'installazione di pacchetti. Quando si installano i pacchetti, le configurazioni possono venire aggiornate in un passaggio dell'installazione.

Informazioni sull'applicazione delle configurazioni dei pacchetti in fase di esecuzione

Quando si usa l'utilità del prompt dei comandi dtexec (dtexec.exe) per eseguire un pacchetto distribuito, le configurazioni di pacchetto vengono applicate due volte, ovvero prima e dopo l'applicazione delle opzioni specificate nella riga di comando.

Durante il caricamento e l'esecuzione del pacchetto da parte dell'utilità, gli eventi si verificano nel seguente ordine:

  1. Il pacchetto viene caricato con l'utilità dtexec .

  2. L'utilità consente di applicare le configurazioni specificate nel pacchetto in fase di progettazione, nell'ordine indicato nel pacchetto. L'unica eccezione è rappresentata dalle configurazioni delle variabili del pacchetto padre. L'utilità applica queste configurazioni una sola volta e successivamente nel processo.

  3. L'utilità applica quindi le opzioni specificate nella riga di comando.

  4. A questo punto l'utilità ricarica le configurazioni specificate nel pacchetto in fase di progettazione, nell'ordine indicato nel pacchetto. L'unica eccezione a questa regola è di nuovo rappresentata dalle configurazioni Variabile pacchetto padre. L'utilità utilizza quindi le opzioni della riga di comando specificate per ricaricare le configurazioni. È pertanto possibile che vengano ricaricati valori diversi da posizioni differenti.

  5. L'utilità consente di applicare le configurazioni Variabile pacchetto padre.

  6. L'utilità consente l'esecuzione del pacchetto.

Il modo in cui l'utilità dtexec applica le configurazioni influisce sulle seguenti opzioni della riga di comando:

  • È possibile usare l'opzione /Connection o /Set in fase di esecuzione per caricare le configurazioni di pacchetto da una posizione diversa da quella specificata in fase di progettazione.

  • È possibile usare l'opzione /ConfigFile per caricare configurazioni aggiuntive non specificate in fase di progettazione.

Tali opzioni della riga di comando presentano tuttavia alcune restrizioni.

  • Non è possibile usare l'opzione /Set o /Connection per ignorare valori singoli impostati anche da una configurazione.

  • Non è possibile usare l'opzione /ConfigFile per caricare configurazioni che sostituiscono quelle specificate in fase di progettazione.

Per altre informazioni su queste opzioni e su come il comportamento di queste opzioni differisce tra SQL Server 2014 Integration Services (SSIS) e versioni precedenti, vedere Modifiche del comportamento alle funzionalità di Integration Services in SQL Server 2014.

Tipi di configurazioni di pacchetto

Nella tabella seguente vengono descritti i tipi di configurazione di pacchetto.

Type Descrizione
File di configurazione XML Le configurazioni sono incluse in un file XML. Il file può includere più configurazioni.
Variabile di ambiente La configurazione è contenuta in una variabile di ambiente.
Voce del Registro di sistema La configurazione è inclusa in una voce del Registro di sistema.
Variabile pacchetto padre La configurazione è contenuta in una variabile del pacchetto. Questo tipo di configurazione viene in genere utilizzato per l'aggiornamento di proprietà in pacchetti figlio.
Tabella di SQL Server La configurazione è inclusa in una tabella di un database di SQL Server. La tabella può includere più configurazioni.

File di configurazione XML

Se si seleziona il tipo di configurazione File di configurazione XML è possibile creare un nuovo file di configurazione, riusare un file esistente e aggiungere nuove configurazioni oppure riusare un file esistente sovrascrivendone il contenuto.

Un file di configurazione XML è suddiviso in due sezioni:

  • Un'intestazione contenente informazioni sul file. Questa sezione include attributi quali la data di creazione del file e il nome dell'utente che ha generato il file.

  • Elementi di configurazione contenenti informazioni su ogni configurazione. Questa sezione include attributi quali il percorso e il valore configurato di una proprietà.

Nel codice XML seguente viene illustrata la sintassi di un file di configurazione XML. Nell'esempio viene illustrata una configurazione per la proprietà Value di una variabile di tipo Integer denominata MyVar.

<?xml version="1.0"?>  
<DTSConfiguration>  
   <DTSConfigurationHeading>  
      <DTSConfigurationFileInfo  
          GeneratedBy="DomainName\UserName"  
          GeneratedFromPackageName="Package"  
          GeneratedFromPackageID="{2AF06766-817A-4E28-9878-0DE37A150648}"  
          GeneratedDate="2/01/2005 5:58:09 PM"/>  
   </DTSConfigurationHeading>  
   <Configuration ConfiguredType="Property" Path="\Package.Variables[User::MyVar].Value" ValueType="Int32">  
      <ConfiguredValue>0</ConfiguredValue>  
   </Configuration>  
</DTSConfiguration>  
  

Voce del Registro di sistema

Se si desidera utilizzare una voce del Registro di sistema per archiviare la configurazione, è possibile utilizzare una chiave esistente oppure crearne una nuova in HKEY_CURRENT_USER. La chiave del Registro di sistema usata deve contenere un valore denominato Value. Il valore può essere un DWORD o una stringa.

Se si seleziona il tipo di configurazione Voce del Registro di sistema , è necessario digitare il nome della chiave del Registro di sistema nella casella Voce del Registro di sistema. Il formato è <chiave del Registro di sistema>. Se si vuole usare una chiave del Registro di sistema che non si trova nella radice di HKEY_CURRENT_USER, usare il formato <chiave del Registro di sistema\chiave del Registro di sistema\...> per identificare la chiave. Per usare la chiave MyPackage in SSISPackages, ad esempio, digitare SSISPackages\MyPackage.

SQL Server

Se si seleziona il tipo di configurazione SQL Server, è necessario specificare la connessione al database di SQL Server in cui si desidera archiviare le configurazioni. È possibile salvare le configurazioni in una tabella esistente oppure creare una nuova tabella nel database specificato.

L'istruzione SQL seguente illustra l'istruzione CREATE TABLE predefinita della Configurazione guidata pacchetto.

CREATE TABLE [dbo].[SSIS Configurations]  
(  
ConfigurationFilter NVARCHAR(255) NOT NULL,  
ConfiguredValue NVARCHAR(255) NULL,  
PackagePath NVARCHAR(255) NOT NULL,  
ConfiguredValueType NVARCHAR(20) NOT NULL  
)  
  

Il nome specificato per la configurazione corrisponde al valore archiviato nella colonna ConfigurationFilter .

Configurazioni dirette e indirette

Integration Services offre configurazioni dirette e indirette. Se le configurazioni vengono specificate in modo diretto, Integration Services crea un collegamento diretto tra l'elemento di configurazione e la proprietà dell'oggetto di pacchetto. È consigliabile utilizzare le configurazioni dirette quando la posizione dell'origine non cambia. Ad esempio, se per tutte le distribuzioni di pacchetto viene utilizzato sempre lo stesso percorso di file, è possibile specificare un file di configurazione XML.

Nelle configurazioni indirette vengono utilizzate variabili di ambiente. Anziché specificare l'impostazione di configurazione in modo diretto, la configurazione punta a una variabile di ambiente, la quale contiene il valore di configurazione. È consigliabile utilizzare le configurazioni indirette quando la posizione della configurazione può essere diversa nelle varie distribuzioni di un pacchetto.

Creazione di configurazioni dei pacchetti