共用方式為


使用 SQL Server Integration Services (SSIS) 將資料載入 SQL Server 或 Azure SQL Database

適用於:SQL Server Azure Data Factory 中的 SSIS Integration Runtime

建立 SQL Server Integration Services (SSIS) 套件,將資料載入 SQL Server 或 Azure SQL Database。 您也可以選擇在資料通過 SSIS 資料流程時,對它們進行架構重組、轉換及清理。

本文示範如何執行下列作業:

  • 在 Visual Studio 中建立新的 Integration Services 專案。
  • 設計可將資料從來源載入至目的地的 SSIS 套件。
  • 執行 SSIS 套件以載入資料。

基本概念

套件是 SSIS 中的基本工作單位。 相關聯的套件會在專案中組成群組。 您會在 Visual Studio 中使用 SQL Server Data Tools 來建立專案和設計套件。 設計程序是視覺化的程序,您可以從工具箱將元件拖放到設計介面,將它們連接,並設定其屬性。 當您完成您的套件之後,除能加以執行,也可選擇是否要將其部署到 SQL Server 或 SQL Database,以達到全面性管理、監視及安全性的目的。

SSIS 的詳細簡介超出本文範圍。 如需詳細資訊,請參閱下列文章:

關於解決方法

此解決方法採用一般套件,會使用內含來源與目的地的資料流程工作。 此方法支援許多種資料來源,包括 SQL Server 與 Azure SQL Database。

本教學課程使用 SQL Server 作為資料來源。 SQL Server 會在內部部署或 Azure 虛擬機器上執行。

若要連線到 SQL Server 與 SQL Database,可以使用 ADO.NET 連線管理員加上來源與目的地,或使用 OLE DB 連線管理員加上來源與目的地。 本教學課程採用 ADO.NET,因為它的設定選項最少。 OLE DB 可能會提供比 ADO.NET 稍微更好的效能。

捷徑是使用 [SQL Server 匯入和匯出精靈] 來建立基本套件。 然後,儲存套件,並在 Visual Studio 或 SSDT 中開啟以進行檢視和自訂。 如需詳細資訊,請參閱使用 SQL Server 匯入和匯出精靈匯入和匯出資料

Prerequisites

若要逐步執行本教學課程,您需要下列項目:

  1. SQL Server Integration Services (SSIS) 。 SSIS 是 SQL Server 的元件,並且需要 SQL Server 的授權版本或是開發人員或評估版本。 若要取得 SQL Server 的評估版本,請參閱評估 SQL Server

  2. Visual Studio (選擇性)。 若要取得免費的 Visual Studio Community Edition,請參閱 Visual Studio Community。 如果您不想要安裝 Visual Studio,您可以只安裝 SQL Server Data Tools (SSDT)。 SSDT 會安裝具有有限功能的 Visual Studio 版本。

  3. 適用於 Visual Studio 的 SQL Server Data Tools (SSDT) 。 若要取得適用於 Visual Studio 的 SQL Server Data Tools,請參閱下載 SQL Server Data Tools (SSDT)

  4. 本教學課程會連線到 SQL Server 或 SQL Database 執行個體,並將資料載入其中。 您必須有權連線、建立資料表,以及在下列其中一個目的地上載入資料:

    • Azure SQL Database 資料庫。 如需詳細資訊,請參閱 Azure SQL Database

    • SQL Server 執行個體。 SQL Server 會在內部部署或 Azure 虛擬機器上執行。 若要下載免費評估或開發人員版本的 SQL Server,請參閱 SQL Server 下載

  5. 範例資料。 本教學課程使用儲存在 SQL Server 的 AdventureWorks 範例資料庫內的範例資料,作為來源資料。 若要取得 AdventureWorks 範例資料庫,請參閱 AdventureWorks 範例資料庫

  6. 如果您將資料載入至 SQL Database,則為防火牆規則。 您必須先在 SQL Database 上,為您本機電腦的 IP 位址建立防火牆規則,然後才能將資料上傳到 SQL Database。

建立新的 Integration Services 專案

  1. 啟動 Visual Studio。

  2. 在 [檔案] 功能表上,選取 [新增 > 專案]。

  3. 導航至 已安裝的 > 範本 > 商業智慧 > 整合服務 專案類型。

  4. 選取 [Integration Services 專案] 。 為 [名稱] 和 [位置] 提供值,然後選取 [確定] 。

Visual Studio 會開啟並建立新的 Integration Services (SSIS) 專案。 然後,Visual Studio 會為專案中新的單一 SSIS 套件 (Package.dtsx) 開啟設計工具。 您會看到下列畫面區域:

  • 左側是 SSIS 元件的 [工具箱] 。

  • 中間是有許多索引標籤的設計介面。 一般來說,您至少會使用 [控制流程] 和 [資料流程] 索引標籤。

  • 右側是 [方案總管] 和 [屬性] 窗格。

    Visual Studio 的螢幕快照,其中顯示 [工具箱] 窗格、設計窗格、[方案總管] 窗格和 [屬性] 窗格。

建立基本資料流程

  1. 將 [資料流程工作] 從 [工具箱] 拖曳至設計介面的中央 (在 [控制流程] 索引標籤上)。

    Visual Studio 的螢幕快照,顯示將數據流工作拖曳至設計窗格的控制流程標籤。

  2. 按兩下 [資料流程工作] 以切換到 [資料流程] 索引標籤。

  3. 從 [工具箱] 的 [其他來源] 清單中,將 [ADO.NET 來源] 拖曳至設計介面。 保持選取來源配接器,在 [屬性] 窗格中將其名稱變更為 SQL Server 來源

  4. 從 [工具箱] 的 [其他目的地] 清單中,將 [ADO.NET 目的地] 拖曳至設計介面的 [ADO.NET 來源] 底下。 選取目的地配接器,然後在 [屬性] 窗格中將其名稱變更為 [SQL 目的地]。

    將目的地適配卡拖曳至來源配接器正下方位置的螢幕快照。

設定來源配接器

  1. 按兩下來源配接器以開啟 [ADO.NET 來源編輯器]。

    來源編輯器 ADO.NET 螢幕快照。[連接管理器] 索引標籤是可見的,而且控制件可用於設定數據流屬性。

  2. 在 [ADO.NET 來源編輯器]的 [連接管理員] 索引標籤上,選取 ADO.NET 連接管理員 清單旁的 [新增] 按鈕,以開啟 [設定 ADO.NET 連接管理器] 對話框,然後為此教學課程載入數據的 SQL Server 資料庫建立連接設定。

    [設定 ADO.NET 連接管理器] 對話框的螢幕快照。控制項可用於設定和設定連接管理員。

  3. 在 [設定 ADO.NET 連接管理員] 對話框中,選取 [[新增] 按鈕,以開啟 [連接管理員] 對話框,並建立新的數據連線。

    連接管理員對話框的螢幕快照。控制項可用於設定數據連線。

  4. 在 [連線管理員] 對話方塊中,執行下列事項。

    1. 針對 [提供者],選取 [SqlClient 資料提供者]。

    2. 針對 [伺服器名稱],輸入 SQL Server 名稱。

    3. 在 [登入伺服器] 區段中,選取或輸入驗證資訊。

    4. 在 [連線到資料庫] 區段中,選取 [AdventureWorks 範例資料庫]。

    5. 選取 [測試連線]

      對話框的螢幕快照,其中顯示 [確定] 按鈕和文字,指出測試連線成功。

    6. 在報告連線測試結果的對話框中,選取 確定 以返回 連線管理員 對話框。

    7. 在 [連接管理器] 對話框中,選取 [確定] 以返回 [ADO.NET 設定連接管理員] 對話框。

  5. 在 [設定 ADO.NET 連接管理員] 對話框中,選取 [確定] [確定] 以返回 [ADO.NET 來源編輯器]

  6. 在 [ADO.NET 來源編輯器] 的 [資料表或檢視的名稱] 清單中,選取 [Sales.SalesOrderDetail] 資料表。

    來源編輯器 ADO.NET 螢幕快照。在數據表或檢視清單的 [名稱] 中,已選取 Sales.SalesOrderDetail 數據表。

  7. 選取 [Preview],以查看 [預覽查詢結果] 對話框中源數據表中的前 200 個數據列。

    [預覽查詢結果] 對話框的螢幕快照。源數據表中的數個銷售數據列可見。

  8. 在 [預覽查詢結果] 對話框中,選取 [關閉],以返回 [ADO.NET 來源編輯器]

  9. 在 [ADO.NET 來源編輯器]中,選取 [確定] [確定] 完成數據源的設定。

將來源配接器連線到目的地配接器

  1. 在設計介面上選取來源配接器。

  2. 選取從來源配接器延伸的藍色箭頭,並將它拖曳到目的地編輯器,直到它貼齊固定。

    顯示來源和目的地配接器的螢幕快照。藍色箭號會從來源配接器指向目的地配接器。

    在典型的 SSIS 套件中,您會在來源與目的地之間使用 SSIS 工具箱中的數個其他元件,在數據通過 SSIS 數據流時重新建構、轉換及清理數據。 為了盡可能使此範例簡單,我們會將來源直接連線到目的地。

設定目的地配接器

  1. 按兩下目的地配接器以開啟 [ADO.NET 目的地編輯器]。

    [ADO.NET 目的地編輯器] 的螢幕快照。[連接管理器] 索引標籤是可見的,並包含設定數據流屬性的控制件。

  2. 在 [ADO.NET 目的地編輯器的 [連接 管理器] 索引卷標上,選取 [連接管理器] 列表旁的 [新增] 按鈕,以開啟 [設定 ADO.NET 連接管理器] 對話框,然後建立本教學課程載入數據的資料庫連線設定。

  3. 在 [設定 ADO.NET 連接管理員] 對話框中,選取 [[新增] 按鈕,以開啟 [連接管理員] 對話框,並建立新的數據連線。

  4. 在 [連線管理員] 對話方塊中,執行下列事項。

    1. 針對 [提供者],選取 [SqlClient 資料提供者]。

    2. 針對 [伺服器名稱],輸入 SQL Server 或 SQL Database 伺服器的名稱。

    3. 在 [登入伺服器] 區段中,選取 [使用 SQL Server 驗證] 並輸入驗證資訊。

    4. 在 [連線至資料庫] 區段中,選取現有資料庫。

      1. 選取 [測試連線]

      2. 在報告連線測試結果的對話框中,選取 [確定] [確定] 傳回 [連接管理員] 對話框。

      3. 在 [連接管理員] 對話框中,選取 [確定] 以返回 [設定 ADO.NET 連接管理員] 對話框。

  5. 在 [設定 ADO.NET 連接管理員] 對話框中,選取 [確定] [確定] 以返回 [ADO.NET 目的地編輯器]

  6. 在 [ADO.NET 目的地編輯器]中,選擇 [新增],位於 [使用數據表或檢視] 清單旁,以開啟 [建立數據表] 對話框,來建立一個符合源數據表之欄位清單的新目的地數據表。

    [建立數據表] 對話框的螢幕快照。建立目的地數據表的 S Q L 程式代碼是可見的。

  7. 在 [建立資料表] 對話方塊中,執行下列事項。

    1. 將目的地資料表的名稱變更為 SalesOrderDetail

      [建立數據表] 對話框的螢幕快照。可以看到 S Q L 程式代碼來建立名為 SalesOrderDetail 的數據表。

    2. 選擇 [確定] 來建立資料表,並返回 [ADO.NET 目的地編輯器]

  8. 在 [ADO.NET 目的地編輯器] 中,選取 [對應] 索引標籤以查看來源中的資料行如何對應至目的地中的資料行。

    [ADO.NET 目的地編輯器] 的 [對應] 索引標籤的截圖。線條會連接來源和目的地資料表中具有相同名稱的欄位。

  9. 選取 確定 完成配置目的地。

執行套件以載入資料

按一下工具列上的 [開始] 按鈕,或者從 [偵錯] 選單中選擇 [執行] 選項之一,來執行封裝。

以下段落描述使用本文所述的第二個選項 (也就是包含來源和目的地的資料流程) 建立套件時所看到的情況。

當程式包開始執行時,您會看到黃色旋轉輪用於顯示活動,以及到目前為止已處理的行數。

顯示來源和目的地適配器的螢幕快照。黃色、轉動的齒輪位於每個適配器上,而文字 '89748 列' 則介於兩者之間。

當套件完成執行時,您會看到綠色勾選標記,表示成功,並顯示從來源載入至目的地的資料列的總數。

顯示來源和目的地轉接器的螢幕快照。綠色勾號位於每個轉接器上,且文字「121317列」在它們之間。

恭喜您,您已成功使用 SQL Server Integration Services 將數據載入 SQL Server 或 Azure SQL Database。