使用 SSIS 在 Linux 上擷取、轉換和載入資料

適用於:SQL Server - Linux

本文說明如何在 Linux 上執行 SQL Server Integration Services (SSIS) 套件。 SSIS 可擷取來自多個來源和格式的資料、轉換和清理資料,然後將資料載入多個目的地,藉此解決複雜的資料整合問題。

在 Linux 上執行的 SSIS 套件可以連接到在 Windows 內部部署或雲端、在 Linux 上或是在 Docker 中執行的 Microsoft SQL Server。 其也可以連線到 Azure SQL Database、Azure Synapse Analytics、ODBC 資料來源、一般檔案及其他資料來源,包括 ADO.NET 來源、XML 檔案和 OData 服務。

如需 SSIS 功能的詳細資訊,請參閱 SQL Server Integration Services

必要條件

若要在 Linux 電腦上執行 SSIS 套件,您必須先安裝 SQL Server Integration Services。 安裝於 Linux 電腦的 SQL Server 中不包含 SSIS。 如需安裝指示,請參閱在 Linux 上安裝 SQL Server Integration Services (SSIS)

您也必須有 Windows 電腦才能建立和維護套件。 SSIS 設計和管理工具是目前不適用於 Linux 電腦的 Windows 應用程式。

執行 SSIS 套件

若要在 Linux 電腦上執行 SSIS 套件,請執行下列動作:

  1. 將 SSIS 套件複製到 Linux 電腦。

  2. 執行下列命令:

    dtexec /F \<package name \> /DE <protection password>
    

執行加密 (受密碼保護) 的套件

執行使用密碼加密的 SSIS 套件有三種方式:

  1. 設定環境變數 SSIS_PACKAGE_DECRYPT 的值,如下列範例所示:

    SSIS_PACKAGE_DECRYPT=test /opt/ssis/bin/dtexec /f package.dtsx
    
  2. 指定 /de[crypt] 選項以互動方式輸入密碼,如下列範例所示:

    /opt/ssis/bin/dtexec /f package.dtsx /de
    
    Enter decryption password:
    
  3. 指定 /de 選項,在命令列上提供密碼,如下列範例所示。 不建議使用這個方法,因為會將解密密碼與命令一起儲存在命令歷程記錄中。

    opt/ssis/bin/dtexec /f package.dtsx /de test
    
    Warning: Using /De[crypt] <password> may store decryption password in command history.
    
    You can use /De[crypt] instead to enter interactive mode,
    or use environment variable SSIS_PACKAGE_DECRYPT to set decryption password.
    

設計套件

連接到 ODBC 資料來源。 透過 Linux CTP 2.1 Refresh 和更新版本上的 SSIS,SSIS 套件可以在 Linux 上使用 ODBC 連接。 此功能已經過 SQL Server 和 MySQL ODBC 驅動程式的測試,但也應該能夠與任何遵循 ODBC 規格的 Unicode ODBC 驅動程式搭配使用。 在設計階段,您可以提供 DSN 或連接字串來連接到 ODBC 資料;您也可以使用 Windows 驗證。 如需詳細資訊,請參閱宣佈在 Linux 上提供 ODBC 支援的部落格文章 \(英文\)。

路徑。 在 SSIS 套件中提供 Windows 樣式路徑。 Linux 上的 SSIS 不支援 Linux 樣式路徑,但會在執行階段將 Windows 樣式路徑對應至 Linux 樣式路徑。 例如,Linux 上的 SSIS 會將 Windows 樣式路徑 C:\test 對應至 Linux 樣式路徑 /test

部署套件

在此版本中,您只能將套件儲存在 Linux 上的檔案系統中。 您無法在 Linux 上使用 SSIS 目錄資料庫和舊版 SSIS 服務去部署和儲存套件。

排程套件

您可以使用 Linux 系統排程工具 (例如 cron) 來排程套件。 在此版本中,您無法使用 Linux 上的 SQL Agent 排程套件執行。 如需詳細資訊,請參閱使用 cron 排程 Linux 上的 SQL Server Integration Services 套件執行

限制與已知問題

如需 Linux 上 SSIS 限制和已知問題的詳細資訊,請參閱 Linux 上的 SSIS 限制和已知問題

Linux 上 SSIS 的詳細資訊

如需 Linux 上 SSIS 的詳細資訊,請參閱下列部落格文章:

SSIS 的詳細資訊

Microsoft SQL Server Integration Services (SSIS) 是一種用於建置高效能資料整合解決方案的平台,其中包括資料倉儲的擷取、轉換和載入 (ETL) 套件。 如需 SSIS 的詳細資訊,請參閱 SQL Server Integration Services

SSIS 包含下列功能:

  • 用於在 Windows 上建置和偵錯套件的圖形化工具和精靈
  • 用於執行工作流程函數的各種工作,例如 FTP 作業、執行 SQL 陳述式和傳送電子郵件訊息
  • 用於擷取和載入資料的各種資料來源和目的地
  • 用於清理、彙總、合併和複製資料的各種轉換
  • 現有 SSIS 的應用程式開發介面 (API),其中包含您自己的自訂指令碼和元件

若要開始使用 SSIS,請下載最新版本的 SSIS 如何建立 ETL 套件

如需 SSIS 的詳細資訊,請參閱下列文章: