Esecuzione di un caricamento incrementale di più tabelle
Nel diagramma incluso nell'argomento Miglioramento dei caricamenti incrementali tramite Change Data Capture viene illustrato un pacchetto di base che esegue un caricamento incrementale in un'unica tabella. Il caricamento di una tabella, tuttavia, non rappresenta un'operazione tanto comune quanto l'esecuzione di un caricamento incrementale di più tabelle.
Quando si esegue un caricamento incrementale di più tabelle, alcuni passaggi devono essere eseguiti una volta per tutte le tabelle, mentre altri passaggi devono essere ripetuti per ogni tabella di origine. Per implementare tali passaggi in Integration Services, sono disponibili più opzioni:
Utilizzare un pacchetto padre e più pacchetti figlio.
Utilizzare più attività Flusso di dati in un singolo pacchetto.
[!NOTA]
Per esempi completi end-to-end che illustrano l'utilizzo del processo Change Data Capture nei pacchetti, vedere il pacchetto di esempio di un intervallo di tempo specificato in Change Data Capture e il pacchetto di esempio dall'ultima richiesta in Change Data Capture in Codeplex.
Caricamento di più tabelle tramite un pacchetto padre e più pacchetti figlio
È possibile utilizzare un pacchetto padre per i passaggi che devono essere eseguiti solo una volta. I pacchetti figlio verranno utilizzati per i passaggi necessari per ogni tabella di origine.
Per creare un pacchetto padre per l'esecuzione dei passaggi necessari solo una volta
Creare un pacchetto padre.
Nel flusso di controllo utilizzare un attività Esegui SQL o espressioni Integration Services per calcolare gli endpoint.
Per un esempio di come calcolare gli endpoint, vedere Definizione di un intervallo di dati delle modifiche.
Se necessario, utilizzare un contenitore Ciclo For per rimandare l'esecuzione fino a quando i dati delle modifiche per il periodo selezionato non saranno pronti.
Per un esempio di tale contenitore Ciclo For, vedere Come determinare se i dati delle modifiche sono pronti.
Utilizzare più attività Esegui pacchetto per eseguire pacchetti figlio per ogni tabella da caricare. Passare gli endpoint calcolati nel pacchetto padre a ciascun pacchetto figlio utilizzando le configurazioni Variabile pacchetto padre.
Per ulteriori informazioni, vedere Attività Esegui pacchetto e Procedura: Utilizzo di valori di variabili padre in un pacchetto figlio.
Per creare pacchetti figlio per l'esecuzione dei passaggi necessari per ogni tabella di origine
Creare un pacchetto figlio per ogni tabella di origine.
Nel flusso di controllo utilizzare un'attività Script o un'attività Esegui SQL per assemblare l'istruzione SQL da utilizzare per eseguire una query per le modifiche.
Per un esempio di come assemblare la query, vedere Preparazione dell'esecuzione di una query per i dati delle modifiche.
Utilizzare una singola attività Flusso di dati in ogni pacchetto figlio per caricare i dati delle modifiche e applicarli alla destinazione. Configurare il flusso di dati come descritto nei passaggi seguenti:
Nel flusso di dati utilizzare un componente di origine per eseguire una query sulle tabelle delle modifiche comprese tra gli endpoint selezionati.
Per un esempio di come eseguire una query sulle tabelle delle modifiche, vedere Recupero e comprensione dei dati delle modifiche.
Utilizzare una trasformazione Suddivisione condizionale per indirizzare inserimenti, aggiornamenti ed eliminazioni a output diversi per l'elaborazione appropriata.
Per un esempio di come configurare questa trasformazione per indirizzare l'output, vedere Elaborazione di inserimenti, aggiornamenti ed eliminazioni.
Utilizzare un componente di destinazione per applicare gli inserimenti alla destinazione. Utilizzare trasformazioni Comando OLE DB con istruzioni UPDATE e DELETE con parametri per applicare aggiornamenti ed eliminazioni alla destinazione.
Per un esempio di come utilizzare questa trasformazione per applicare aggiornamenti ed eliminazioni, vedere Applicazione delle modifiche alla destinazione.
Caricamento di più tabelle tramite più attività Flusso di dati in un singolo pacchetto
In alternativa, è possibile utilizzare un singolo pacchetto contenente un'attività Flusso di dati distinta per ogni tabella di origine da caricare.
Per caricare più tabelle utilizzando più attività Flusso di dati in un singolo pacchetto
Creare un singolo pacchetto.
Nel flusso di controllo utilizzare un'attività Esegui SQL o espressioni Integration Services per calcolare gli endpoint.
Per un esempio di come calcolare gli endpoint, vedere Definizione di un intervallo di dati delle modifiche.
Se necessario, utilizzare un contenitore Ciclo For per rimandare l'esecuzione fino a quando i dati delle modifiche per l'intervallo selezionato non saranno pronti.
Per un esempio di tale contenitore Ciclo For, vedere Come determinare se i dati delle modifiche sono pronti.
Utilizzare un'attività Script o un'attività Esegui SQL per assemblare l'istruzione SQL da utilizzare per eseguire una query per le modifiche.
Per un esempio di come assemblare la query, vedere Preparazione dell'esecuzione di una query per i dati delle modifiche.
Utilizzare più attività Flusso di dati per caricare i dati delle modifiche da ogni tabella di origine e applicarli alla destinazione. Configurare ogni attività Flusso di dati come descritto nei passaggi seguenti:
In ogni flusso di dati utilizzare un componente di origine per eseguire una query sulle tabelle delle modifiche comprese tra gli endpoint selezionati.
Per un esempio di come eseguire una query sulle tabelle delle modifiche, vedere Recupero e comprensione dei dati delle modifiche.
Utilizzare una trasformazione Suddivisione condizionale per indirizzare inserimenti, aggiornamenti ed eliminazioni a output diversi per l'elaborazione appropriata.
Per un esempio di come configurare questa trasformazione per indirizzare l'output, vedere Elaborazione di inserimenti, aggiornamenti ed eliminazioni.
Utilizzare un componente di destinazione per applicare gli inserimenti alla destinazione. Utilizzare trasformazioni Comando OLE DB con istruzioni UPDATE e DELETE con parametri per applicare aggiornamenti ed eliminazioni alla destinazione.
Per un esempio di come utilizzare questa trasformazione per applicare aggiornamenti ed eliminazioni, vedere Applicazione delle modifiche alla destinazione.
|