WideWorldImportersDW ETL 工作流程

適用於:SQL ServerAzure SQL Database

使用 WWI_Integration ETL 套件,隨著資料變更,將資料從 WideWorldImporters 資料庫移轉至 WideWorldImportersDW 資料庫。 套件會定期執行 (通常是每日)。

此套件會使用 SQL Server Integration Services 來協調大量 T-SQL 作業以確保高效能 (而不是在 Integration Services 中個別轉換)。

維度會先載入,然後載入 Fact 資料表。 您可以在失敗後隨時重新執行套件。

工作流程如下所示:

WideWorldImporters ETL workflow

工作流程會從決定適當截止時間的運算式工作開始。 截止時間是目前的時間減去幾分鐘。 (此方法比要求目前時間的資料更強固。) 從時間截斷任何毫秒。

主要處理是從填入 Date 維度資料表開始。 處理可確保目前年份的所有日期都已填入資料表中。

接下來,一系列資料流程工作會載入每個維度。 然後會載入每個事實。

必要條件

  • SQL Server 2016 (或更新版本),搭配 WideWorldImporters 和 WideWorldImportersDW 資料庫 (相同或不同 SQL Server 執行個體)
  • SQL Server Management Studio
  • SQL Server 2016 Integration Services
    • 請確定您建立 Integration Services 目錄。 若要建立 Integration Services 目錄,請在 SQL Server Management Studio 物件總管中,以滑鼠右鍵按一下 [Integration Services],然後選取 [新增目錄]。 保留預設選項。 系統會提示您啟用 SQLCLR 並提供密碼。

下載

如需最新版本的範例,請參閱 wide-world-importers-release。 下載每日 ETL.ispac Integration Services 套件檔案。

若要讓原始程式碼重新建立範例資料庫,請參閱 wide-world-importers

安裝

  1. 部署 Integration Services 套件:

    1. 在 Windows 檔案總管中,開啟 每日 ETL.ispac 套件。 這會啟動 SQL Server Integration Services 部署精靈。
    2. 在 [選取來源] 底下,遵循專案部署的預設值,路徑指向每日 ETL.ispac 套件。
    3. 在 [選取目的地] 底下,輸入裝載 Integration Services 目錄的伺服器名稱。
    4. 選取 Integration Services 目錄底下的路徑,例如在名為 WideWorldImporters 的新資料夾中。
    5. 選取 [部署] 以完成精靈。
  2. 針對 ETL 程序建立 SQL Server Agent 作業:

    1. 在 Management Studio 中,以滑鼠右鍵按一下 [SQL Server Agent],然後選取 [新增] > [作業]。
    2. 輸入名稱,例如 WideWorldImporters ETL
    3. 新增 SQL Server Integration Services 套件類型的作業步驟
    4. 選取具有 Integration Services 目錄的伺服器,然後選取 [每日 ETL] 套件。
    5. 在 [設定] > [連線管理員] 下,確定已正確設定來源和目標的連線。 預設值是連線到本機執行個體。
    6. 選取 [確定] 以建立作業。
  3. 執行或排程作業。