Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Si applica a:SQL Server
SSIS Integration Runtime in Azure Data Factory
Nel flusso di dati di un pacchetto Integration Services che esegue un caricamento incrementale dei dati delle modifiche la seconda attività consiste nel separare inserimenti, aggiornamenti ed eliminazioni. Sarà quindi possibile utilizzare i comandi appropriati per applicarli alla destinazione.
Nota
La prima attività nella progettazione del flusso di dati di un pacchetto che esegue un caricamento incrementale dei dati delle modifiche consiste nel configurare il componente di origine che esegue la query per il recupero dei dati delle modifiche. Per altre informazioni su questo componente, vedere Recupero e comprensione dei dati delle modifiche. Per una descrizione del processo complessivo di creazione di un pacchetto che esegue un caricamento incrementale dei dati delle modifiche, vedere Change Data Capture (SSIS).
Associare valori descrittivi a inserimenti, aggiornamenti e cancellazioni distinti
Nella query di esempio che recupera i dati delle modifiche la funzione cdc.fn_cdc_get_net_changes_<capture_instance>restituisce solo la colonna di metadati denominata __$operation. Questa colonna di metadati contiene un valore ordinale che indica l'operazione che ha provocato la modifica.
Nota
Per ulteriori informazioni sulla query che usa la funzione cdc.fn_cdc_get_net_changes_<capture_instance>, vedere Creare la funzione per recuperare i dati delle modifiche.
Associare un valore ordinale all'operazione corrispondente non è semplice quanto utilizzare una mnemonica dell'operazione. "D" e "I", ad esempio, possono rappresentare in modo semplice rispettivamente un'operazione di eliminazione e un'operazione di inserimento. La query di esempio creata nell'argomento Creazione della funzione per il recupero dei dati delle modificheesegue questa conversione da un valore ordinale a un valore stringa descrittivo restituito in una nuova colonna. Nel segmento di codice seguente viene illustrata tale conversione:
select
...
case __$operation
when 1 then 'D'
when 2 then 'I'
when 4 then 'U'
else null
end as CDC_OPERATION
Configurare una trasformazione "Suddivisione condizionale" per instradare inserimenti, aggiornamenti ed eliminazioni
Per indirizzare le righe di dati di modifica a una di tre uscite, la trasformazione Suddivisione condizionale è ideale. La trasformazione controlla semplicemente il valore della colonna CDC_OPERATION in ogni riga e determina se la modifica è un inserimento, un aggiornamento o un'eliminazione.
Nota
La colonna CDC_OPERATION contiene un valore di tipo stringa leggibile derivato dal valore numerico contenuto nella colonna __$operation.
Per dividere inserimenti, aggiornamenti ed eliminazioni per l'elaborazione usando la trasformazione Suddivisione condizionale
Nella scheda Flusso di dati aggiungere una trasformazione Suddivisione condizionale.
Collegare l'output dell'origine OLE DB alla trasformazione Suddivisione condizionale.
Nell'Editor trasformazione Suddivisione condizionale, nel riquadro inferiore dell'editor, immettere le tre righe seguenti per designare le tre uscite
Immettere una riga con la condizione
CDC_OPERATION == "I"per indirizzare le righe inserite all'output per gli inserimenti.Immettere una riga con la condizione
CDC_OPERATION == "U"per indirizzare le righe aggiornate all'output per gli aggiornamenti.Immettere una riga con la condizione
CDC_OPERATION == "D"per indirizzare le righe eliminate all'output per le eliminazioni.
Contenuti correlati
- Trasformazione di Suddivisione Condizionale
- Dividere un set di dati usando la trasformazione Suddivisione condizionale
- Applicare le modifiche alla destinazione