Configurazioni di pacchetto
In SQL Server Integration Services sono disponibili configurazioni di pacchetto che è possibile utilizzare 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. Con il modello di distribuzione del progetto è possibile distribuire i progetti di Integration Services al server Integration Services. Per ulteriori 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 metodi di archiviazione delle configurazioni di pacchetto diversi, 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 utilizza 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:
Il pacchetto viene caricato tramite l'utilità dtexec.
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 Variabile pacchetto padre, le quali vengono applicate dall'utilità solo una volta e in una fase successiva del processo.
L'utilità applica quindi le opzioni specificate nella riga di comando.
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.
L'utilità consente di applicare le configurazioni Variabile pacchetto padre.
L'utilità consente l'esecuzione del pacchetto.
Il modo in cui tramite l'utilità dtexec vengono applicate le configurazioni influisce sulle seguenti opzioni della riga di comando.
È possibile utilizzare 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 utilizzare 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 utilizzare l'opzione /Set o /Connection per ignorare valori singoli impostati anche da una configurazione.
Non è possibile utilizzare l'opzione /ConfigFile per caricare configurazioni che consentono di sostituire quelle specificate in fase di progettazione.
Per ulteriori informazioni su queste opzioni e sulla differenza di comportamento di tali opzioni in SQL Server 2012 Integration Services (SSIS) e versioni precedenti, vedere Differenze di funzionamento delle funzionalità di Integration Services in SQL Server 2012.
Tipi di configurazioni di pacchetto
Nella tabella seguente vengono descritti i tipi di configurazione di pacchetto.
Tipo |
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, riutilizzare un file esistente e aggiungere nuove configurazioni oppure riutilizzare 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. Nella chiave del Registro di sistema utilizzata deve essere disponibile 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, nel formato <chiave Registro di sistema>. Se si desidera utilizzare una chiave del Registro di sistema che non si trova nella radice HKEY_CURRENT_USER, per identificare la chiave utilizzare il formato <chiave Registro di sistema\chiave Registro di sistema\...>. Per utilizzare 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
In Integration Services sono disponibili configurazioni dirette e indirette. Se le configurazioni vengono specificate in modo diretto, in Integration Services viene creato 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.
Attività correlate
Creazione di configurazioni dei pacchetti
Contenuto correlato
Articolo tecnico relativo alle informazioni sulle configurazioni dei pacchetti di Integration Services sul sito Web msdn.microsoft.com
Intervento nel blog sulla creazione di pacchetti in codice con configurazioni dei pacchetti, su www.sqlis.com.
Intervento nel blog su un esempio di API relativo all'aggiunta a livello di programmazione di un file di configurazione a un pacchetto, su blogs.msdn.com.
|