Flusso di lavoro WideWorldImportersDW ETLWideWorldImportersDW ETL workflow

Il pacchetto ETL WWI_Integration viene utilizzato per la migrazione dei dati dal database WideWorldImporters al database WideWorldImportersDW come le modifiche dei dati.The ETL package WWI_Integration is used to migrate data from the WideWorldImporters database to the WideWorldImportersDW database as the data changes. Il pacchetto viene eseguito periodicamente (in genere ogni giorno).The package is run periodically (most commonly daily).

PanoramicaOverview

La progettazione del pacchetto utilizza SQL Server Integration Services (SSIS) per poter gestire le operazioni bulk T-SQL (anziché come trasformazioni separate all'interno di SSIS) per garantire prestazioni elevate.The design of the package uses SQL Server Integration Services (SSIS) to orchestrate bulk T-SQL operations (rather than as separate transformations within SSIS) to ensure high performance.

Le dimensioni vengono caricate per primi, seguito da tabelle dei fatti.Dimensions are loaded first, followed by Fact tables. Il pacchetto può essere nuovamente eseguito in qualsiasi momento dopo un errore.The package can be re-run at any time after a failure.

Il flusso di lavoro è come segue:The workflow is as follows:

Flusso di lavoro WideWorldImporters ETL

Inizia un'attività di espressione che utilizza il tempo limite appropriato.It starts with an expression task that works out the appropriate cutoff time. Questo tempo è l'ora corrente meno qualche minuto.This time is the current time less a few minutes. Questo è più affidabile rispetto alla richiesta di dati direttamente all'ora corrente.(This is more robust than requesting data right to the current time). Verrà quindi troncato qualsiasi millisecondi dal momento.It then truncates any milliseconds from the time.

L'elaborazione principale Avvia popolamento della tabella della dimensione Data.The main processing starts by populating the Date dimension table. Assicura che siano state popolate tutte le date per l'anno corrente nella tabella.It ensures that all dates for the current year have been populated in the table.

Successivamente, una serie di attività del flusso di dati carica ogni dimensione, quindi ogni fatto.After this, a series of data flow tasks loads each dimension, then each fact.

PrerequisitiPrerequisites

  • SQL Server 2016 (o versioni successive) con i database WideWorldImporters e WideWorldImportersDW.SQL Server 2016 (or higher) with the databases WideWorldImporters and WideWorldImportersDW. Può trattarsi nelle istanze di SQL Server uguale o diverse.These can be on the same or different instances of SQL Server.
  • SQL Server Management Studio (SSMS)SQL Server Management Studio (SSMS)
  • SQL Server 2016 Integration Services (SSIS).SQL Server 2016 Integration Services (SSIS).
    • Assicurarsi di che aver creato un catalogo SSIS.Make sure you have created an SSIS Catalog. In caso contrario, fare clic destro Integration Services in Esplora oggetti di SQL Server Management Studio, scegliere aggiungere catalogo.If not, right click Integration Services in SSMS Object Explorer, and choose Add Catalog. Seguono le impostazioni predefinite.Follow the defaults. Verrà chiesto di abilitare sqlclr e fornire una password.It will ask you to enable sqlclr and provide a password.

ScaricaDownload

La versione più recente dell'esempio:The latest release of the sample:

unità di importazione di world wide-rilasciowide-world-importers-release

Scaricare il file del pacchetto SSIS ETL.ispac giornaliero.Download the SSIS package file Daily ETL.ispac.

Il codice sorgente per ricreare il database di esempio è disponibile dal seguente percorso.Source code to recreate the sample database is available from the following location.

livello mondowide-world-importers

InstallInstall

  1. Distribuire il pacchetto SSIS.Deploy the SSIS package.

    • Aprire il pacchetto "ETL.ispac giornaliero" da Esplora risorse.Open the "Daily ETL.ispac" package from Windows Explorer. Verrà avviata la distribuzione guidata di Integration Services.This will launch the Integration Services Deployment Wizard.
    • In "Seleziona origine" seguire il valore predefinito di distribuzione del progetto, con il percorso che punta al pacchetto "ETL.ispac giornaliero".Under "Select Source" follow the default Project Deployment, with the path pointing to the "Daily ETL.ispac" package.
    • Nella sezione "Destinazione selezionare" Immettere il nome del server che ospita il catalogo SSIS.Under "Select Destination" enter the name of the server that hosts the SSIS catalog.
    • Selezionare un percorso all'interno del catalogo SSIS, ad esempio in una nuova cartella "WideWorldImporters".Select a path under the SSIS catalog, for example under a new folder "WideWorldImporters".
    • Completare la procedura guidata, fare clic su Distribuisci.Finalize the wizard by clicking Deploy.
  2. Creare un processo di SQL Server Agent per il processo ETL.Create a SQL Server Agent job for the ETL process.

    • In SSMS, pulsante destro del mouse "SQL Server Agent" e selezionare New -> processi.In SSMS, right-click "SQL Server Agent" and select New->Job.
    • Scegliere un nome, ad esempio "WideWorldImporters ETL".Pick a name, for example "WideWorldImporters ETL".
    • Aggiungere un passaggio del processo di tipo "Pacchetto SQL Server Integration Services".Add a Job Step of type "SQL Server Integration Services Package".
    • Selezionare il server con il catalogo SSIS e selezionare il pacchetto "ETL giornaliero".Select the server with the SSIS catalog, and select the "Daily ETL" package.
    • Configurazione -> gestioni connessioni verificare le connessioni all'origine e destinazione siano configurate correttamente.Under Configuration->Connection Managers ensure the connections to the source and target are configured correctly. Il valore predefinito è per la connessione all'istanza locale.The default is to connect to the local instance.
    • Fare clic su OK per creare il processo.Click OK to create the Job.
  3. Eseguire o pianificare il processo.Execute or schedule the Job.