SQL Server 2016 Integration Services 的新功能

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

本主題描述 SQL Server 2016 Integration Services 中已新增或更新的功能。 它也包含 Azure Feature Pack for Integration Services (SSIS) 在 SQL Server 2016 期間新增或更新的功能。

Azure Data Factory 中的 SSIS 新功能

使用 2017 年 9 月 Azure Data Factory 第 2 版的公開預覽,您現在可以執行下列動作:

  • 將套件部署至 Azure SQL Database 上的 SSIS 目錄資料庫 (SSISDB)。
  • 在 Azure-SSIS Integration Runtime (即 Azure Data Factory 第 2 版的元件) 上執行部署至 Azure 的套件。

如需詳細資訊,請參閱將 SQL Server Integration Services 工作負載隨即轉移至雲端

這些新功能需要 SQL Server Data Tools (SSDT) 17.2 版或更新版本,但不需要 SQL Server 2017 或 SQL Server 2016。 當您將套件部署至 Azure 時,[套件部署精靈] 一律會將套件升級至最新套件格式。

2016 版的改進 (依類別)

管理能力

更容易部署

SSISDB 升級精靈

當資料庫版本比目前的 SQL Server 執行個體版本還舊時,執行 SSISDB 升級精靈來升級 SSIS 目錄資料庫 (SSISDB)。 這會在下列其中一個條件成立時發生:

  • 您已從舊版 SQL Server 還原資料庫。

  • 您在升級 SQL Server 執行個體之前,並未從 AlwaysOn 可用性群組移除資料庫。 這可防止資料庫自動升級。 如需詳細資訊,請參閱< Upgrading SSISDB in an availability group>。

如需詳細資訊,請參閱 SSIS 目錄 (SSISDB)

支援 SSIS 目錄中的永遠開啟功能

AlwaysOn 可用性群組功能是提供資料庫鏡像之企業級替代方案的高可用性與災害復原解決方案。 可用性群組支援一組可一起容錯移轉之離散化使用者資料庫的容錯移轉環境,也就是所謂的可用性資料庫。 如需詳細資訊,請參閱 永遠開啟可用性群組

在 SQL Server 2016 中,SSIS 引進新功能,可讓您輕鬆部署到集中式 SSIS 目錄 (也就是 SSISDB 使用者資料庫)。 為了提供 SSISDB 資料庫及其內容的高可用性 (專案、封裝、執行記錄等),您可以將 SSISDB 資料庫加入「永遠開啟」可用性群組,就像其他任何使用者資料庫。 發生容錯移轉時,其中一個次要節點會自動變成新的主要節點。

如需詳細的概觀以及針對 SSISDB 啟用 AlwaysOn 的逐步指示,請參閱 SSIS 目錄

累加封裝部署

累加封裝部署功能可讓您將一或多個封裝部署到現有或新的專案中,而不需部署整個專案。 您可以使用下列工具,以累加方式部署封裝。

  • 部署精靈

  • SQL Server Management Studio (這會使用部署精靈)

  • SQL Server Data Tools (這也會使用部署精靈)

  • 預存程序

  • 管理物件模型 (MOM) API

如需詳細資訊,請參閱部署 Integration Services (SSIS) 專案和套件

支援 SSIS 目錄中的永遠加密功能

SSIS 已經支援 SQL Server 中的 Always Encrypted 功能。 如需詳細資訊,請參閱下列部落格文章。

更容易偵錯

SSIS 目錄中新的 ssis_logreader 資料庫層級角色

在舊版 SSIS 目錄中,只有 ssis_admin 角色中的使用者可以存取含有記錄輸出的檢視。 現在提供一個新的 ssis_logreader 資料庫層級角色,讓您可用來為不是系統管理員的使用者授與權限,以存取包含記錄輸入的檢視。

此外,還有一個新的 ssis_monitor 角色。 此角色僅支援「永遠開啟」,而且僅可供 SSIS 目錄內部使用。

SSIS 目錄中新的 RuntimeLineage 記錄層級

SSIS 目錄中新的 RuntimeLineage 記錄層次會收集在資料流程中追蹤歷程資訊所需的資料。 您可以剖析此歷程資訊,以對應工作間的歷程關聯性。 ISV 和開發人員可以使用此資訊來建置自訂譜系對應工具。

SSIS 目錄中新的自訂記錄層級

舊版 SSIS 目錄可讓您在執行封裝時,從四個內建的記錄層次進行選擇: 無、基本、效能或詳細資訊。 SQL Server 2016 新增 RuntimeLineage 記錄層級。 此外,您現在可以在 SSIS 目錄中建立和儲存多個自訂記錄層級,並挑選每次您執行封裝時要使用的記錄層級。 針對每個自訂記錄層級,只選取您想要擷取的統計資料和事件。 選擇性地包含事件內容,以查看變數值、連接字串和工作屬性。 如需詳細資訊,請參閱< Enable Logging for Package Execution on the SSIS Server>。

資料流程中適用於錯誤的資料行名稱

當您在資料流程中包含錯誤至錯誤輸出的資料列重新導向時,則輸出會包含錯誤發生,但不會顯示的資料行名稱的資料行的數值識別項。 現在,有數種方式可用來尋找或顯示發生錯誤的資料行名稱。

  • 當您設定記錄時,請選取 DiagnosticEx 事件以供記錄使用。 此事件會將資料流程資料行對應寫入記錄檔。 您接著可以使用錯誤輸出所擷取的資料行識別碼,在此資料行對應中查詢資料行名稱。 如需詳細資訊,請參閱處理資料中的錯誤

  • 在進階編輯器中,您可以在檢視資料流程元件的輸入或輸出資料行的屬性時,看到上游資料行的資料行名稱。

  • 若要查看發生錯誤的資料行名稱,請將資料檢視器附加至錯誤輸出。 資料檢視器現在會顯示錯誤的說明以及發生錯誤的資料行名稱。

  • 在指令碼元件或自訂資料流程元件中,呼叫 IDTSComponentMetadata100 介面的新 GetIdentificationStringByID 方法。

如需此改進功能的詳細資訊,請參閱下列由 SSIS 開發人員 Bo Fan 所張貼的部落格文章︰ 適用於 SSIS 資料流程的錯誤資料行改進功能

注意

(這項支援已在後續版本中獲得擴展。如需詳細資訊,請參閱錯誤資料行名稱的擴展支援,以及 API 中的新 IDTSComponentMetaData130 介面。)

已擴大錯誤資料行名稱的支援

DiagnosticEx 事件現在會記錄所有輸入和輸出資料行的資料行資訊,而不只是歷程資料行。 因此,我們現在會呼叫管線資料行對應,而不是管線歷程對應。

GetIdentificationStringByLineageID 方法已重新命名為 GetIdentificationStringByID中已新增或更新的功能。 如需詳細資訊,請參閱< 資料流程中適用於錯誤的資料行名稱>。

如需此變更和錯誤資料行改進功能的詳細資訊,請參閱下列更新的部落格文章。 適用於 SSIS 資料流程的錯誤資料行增強功能 (已針對 CTP3.3 更新)

注意

(在 RC 0 中,此方法已移至新的 IDTSComponentMetaData130 介面。如需詳細資訊,請參閱 API 中的新 IDTSComponentMetaData130 介面。)

支援全伺服器的預設記錄層次

在 SQL Server 的 [伺服器屬性] 中,您現在可以在 [Server logging level (伺服器記錄層次)] 屬性下方,選取預設的全伺服器記錄層次。 您可以挑選其中一個內建的記錄層級 (基本、無、詳細資訊、效能或執行階段歷程),或者可挑選現有的自訂記錄層級。 選取的記錄層級會套用到所有部署到 SSIS 目錄的封裝。 它預設也會套用到執行 SSIS 封裝的 SQL 代理程式工作步驟。

API 中新的 IDTSComponentMetaData130 介面

SSIS 目錄中新的 IDTSComponentMetaData130 介面會在 SQL Server 2016 中將新功能加入現有 IDTSComponentMetaData100 介面中,尤其是 GetIdentificationStringByID 方法。 ( GetIdentificationStringByID 方法會從 IDTSComponentMetaData100 介面移至新的介面)。另外還有新的 IDTSInputColumn130 (已擴大錯誤資料行名稱的支援) 和 IDTSOutputColumn130 介面,這兩種介面都提供 LineageIdentificationString 屬性。 如需詳細資訊,請參閱< 資料流程中適用於錯誤的資料行名稱>。

更容易進行封裝管理

已改進專案升級的體驗

當您將 SSIS 專案從舊版升級到目前的版本時,專案層級的連線管理員會繼續如預期般運作,並保留封裝配置和註解。

AutoAdjustBufferSize 屬性會自動計算資料流程的緩衝區大小

當您將新的 AutoAdjustBufferSize 屬性值設為 [true] 時,資料流程引擎會自動計算資料流程的緩衝區大小。 如需詳細資訊,請參閱< Data Flow Performance Features>。

可重複使用的控制流程範本

將常用的控制流程工作或容器儲存到獨立的範本檔案,並使用控制流程範本,在專案的一或多個封裝中多次重複使用。 這個再使用性讓 SSIS 封裝的設計和維護變得更容易。 如需詳細資訊,請參閱 使用控制流程封裝組件在封裝之間重複使用控制流程

將新範本重新命名為組件

在 CTP 3.0 中發行之可重複使用的新控制流程範本,已重新命名為控制流程組件或封裝組件。 如需此功能的詳細資訊,請參閱 使用控制流程封裝組件在封裝之間重複使用控制流程

連線能力

已擴充內部部署的連線

支援 OData v4 資料來源

OData 來源和 OData 連線管理員現在支援 OData v3 和 v4 通訊協定。

  • 針對 OData V3 通訊協定,此元件支援 ATOM 和 JSON 資料格式。

  • 針對 OData V4 通訊協定,此元件支援 JSON 資料格式。

如需詳細資訊,請參閱< OData Source>。

明確支援 Excel 2013 資料來源

Excel 連線管理員、Excel 來源和 Excel 目的地,以及 SQL Server 匯入和匯出精靈現在明確支援 Excel 2013 資料來源。

支援 Hadoop 檔案系統 (HDFS)

HDFS 的支援包含連線管理員,以連線到 Hadoop 叢集和工作來執行一般的 HDFS 作業。 如需詳細資訊,請參閱 Integration Services (SSIS) 中的 Hadoop 和 HDFS 支援

已擴大 Hadoop 和 HDFS 的支援

  • Hadoop 連線管理員現在支援基本和 Kerberos 驗證。 如需詳細資訊,請參閱< Hadoop Connection Manager>。

  • HDFS 檔案來源和 HDFS 檔案目的地如何支援文字和 Avro 格式。 如需詳細資訊,請參閱 HDFS File SourceHDFS File Destination

  • 除了 CopyToHadoop 和 CopyFromHadoop 選項,Hadoop 檔案系統工作現在支援 CopyWithinHadoop 選項。 如需詳細資訊,請參閱< Hadoop File System Task>。

HDFS 檔案目的地現在支援 ORC 檔案格式

除了文字和 Avro,HDFS 檔案目的地現在還支援 ORC 檔案格式。 (HDFS 檔案來源僅支援文字和 Avro)。如需此元件的詳細資訊,請參閱 HDFS File Destination

已針對 SQL Server 2016 更新 ODBC 元件

ODBC 來源和目的地元件已更新,可與 SQL Server 2016 完全相容。 沒有任何新功能,也沒有任何行為變更。

明確支援 Excel 2016 資料來源

Excel 連線管理員、Excel 來源和 Excel 目的地現在明確支援 Excel 2016 資料來源。

已發行適用於 SQL Server 2016 的 Connector for SAP BW

適用於 Microsoft SQL Server 2016 的 Microsoft Connector for SAP BW 已作為 SQL Server 2016 Feature Pack 的一部分發行。 若要下載 Feature Pack 的元件,請參閱 Microsoft SQL Server 2016 Feature Pack

已發行 Connectors v4.0 for Oracle and Teradata

已發行 Microsoft Connectors v4.0 for Oracle and Teradata。 若要下載連接器,請參閱 Microsoft Connectors v4.0 for Oracle and Teradata

已發行 Connectors for Analytics Platform System (PDW) Appliance Update 5

已發行將資料載入 PDW 與 AU5 的目的地配接器。 若要下載配接器,請參閱 Analytics Platform System Appliance Update 5 Documentation and Client Tools(Analytics Platform System Appliance Update 5 說明文件和用戶端工具)。

已擴充與雲端的連線

針對 SQL Server 2016 發行的 Azure Feature Pack for SSIS

已針對 SQL Server 2016 發行 Azure Feature Pack for Integration Services。 此功能套件包含連線管理員,可連接到 Azure 資料來源和工作來執行一般的 Azure 作業。 如需詳細資訊,請參閱 Azure Feature Pack for Integration Services (SSIS)

Service Pack 1 已發行 Microsoft Dynamics Online 資源的支援

安裝 SQL Server 2016 Service Pack 1 後,OData 來源和 OData 連接管理員現在支援連接到 Microsoft Dynamics AX Online 和 Microsoft Dynamics CRM Online 的 OData 摘要。

已推出 Azure Data Lake Store 的支援

最新版的 Azure Feature Pack 包含將資料移入及移出 Azure Data Lake Store 的連線管理員、來源和目的地。 如需詳細資訊,請參閱 Azure Feature Pack for Integration Services (SSIS)

已發佈對 Azure Synapse Analytics 的支援

最新版 Azure Feature Pack 包含用來將資料填入 Azure Synapse Analytics 的 Azure SQL DW 上傳工作。 如需詳細資訊,請參閱 Azure Feature Pack for Integration Services (SSIS)

可用性和產能

更好的安裝體驗

當 SSISDB 屬於可用性群組時封鎖升級

如果 SSIS 目錄資料庫 (SSISDB) 屬於「永遠開啟」可用性群組,您就必須從可用性群組中移除 SSISDB、升級 SQL Server,然後將 SSISDB 加回可用性群組。 如需詳細資訊,請參閱< Upgrading SSISDB in an availability group>。

更好的設計體驗

SSIS 設計工具中的多目標和多個版本支援

您現在可以在適用於 Visual Studio 2015 的 SQL Server Data Tools (SSDT) 中使用 SSIS 設計師,來建立、維護和執行目標為 SQL Server 2016、SQL Server 2014 或 SQL Server 2012 的封裝。 若要取得 SSDT,請參閱 下載最新的 SQL Server Data Tools

在方案總管中,在 Integration Services 專案上按一下滑鼠右鍵,然後選取 [屬性] 以開啟專案的屬性頁。 在 [設定屬性] 的 [一般] 索引標籤中,選取 [TargetServerVersion] 屬性,然後選擇 SQL Server 2016、SQL Server 2014 或 SQL Server 2012。

TargetServerVersion property in project properties dialog box

重要

如果您正在開發 SSIS 的自訂擴充功能,請參閱 Support multi-targeting in your custom components (在您的自訂元件中支援多目標功能) 和 Getting your SSIS custom extensions to be supported by the multi-version support of SSDT 2015 for SQL Server 2016(取得 SSIS 自訂延伸模組,以支援 SQL Server 2016 的 SSDT 2015 多版本支援)。

在 SQL Server Management Studio 中更好的管理體驗

已改進 SSIS 目錄檢視的效能

如果 SSIS 目錄檢視是透過不屬於 ssis_admin 角色成員的使用者來執行,則大多數現在都能執行得更好。

其他增強功能

平衡型資料分配器轉換現在是 SSIS 的一部分

平衡型資料分配器轉換在舊版 SQL Server 中需要個別下載,但現在當您安裝 Integration Services 時就已安裝。 如需詳細資訊,請參閱< Balanced Data Distributor Transformation>。

資料摘要發行元件現在是 SSIS 的一部分

資料摘要發行元件在舊版 SQL Server 中需要個別下載,但現在當您安裝 Integration Services 時就已安裝。 如需詳細資訊,請參閱< Data Streaming Destination>。

支援 SQL Server 匯入和匯出精靈中的 Azure Blob 儲存體

[SQL Server 匯入和匯出精靈] 現在可以從 Azure Blob 儲存體匯入資料,並將資料儲存至其中。 如需詳細資訊,請參閱選擇資料來源 (SQL Server 匯入和匯出精靈)選擇目的地 (SQL Server 匯入和匯出精靈)

已發行適用於 Microsoft SQL Server 2016 的 Change Data Capture Designer for Oracle 和 Change Data Capture Service for Oracle

適用於 Microsoft SQL Server 2016 的 Microsoft Change Data Capture Designer and Service for Oracle by Attunity 已作為 SQL Server 2016 Feature Pack 的一部分發行。 這些元件現在支援傳統安裝中的 Oracle 12c。 (不支援多租用戶安裝) 若要下載 Feature Pack 的元件,請參閱 Microsoft SQL Server 2016 Feature Pack

已針對 SQL Server 2016 更新 CDC 元件

CDC (異動資料擷取) 控制工作、來源和分隔器轉換元件已更新,可與 SQL Server 2016 完全相容。 沒有任何新功能,也沒有任何行為變更。

Analysis Services 執行 DDL 工作已更新

Analysis Services 執行 DDL 工作已更新,可接受表格式模型指令碼語言命令。

Analysis Services 工作支援表格式模型

您現在可以使用所有的 SSIS 工作和目的地,使用 SQL Server 2016 表格式模型來支援 SQL Server Analysis Services (SSAS)。 SSIS 工作已更新來表示表格式物件,而不是多維度物件。 例如,當您選取要處理的物件時,Analysis Services 處理工作會自動偵測表格式模型並顯示表格式物件清單,而不是顯示量值群組和維度。 資料分割處理目的地現在也會顯示表格式物件,並支援將資料推送到分割區。

維度處理目的地不適用於 SQL 2016 相容性層級的表格式模型。 如果您要進行表格式處理,就只需要 Analysis Services 處理工作和資料分割處理目的地。

支援內建的 R 服務

SSIS 已支援 SQL Server 中的內建 R 服務。 您不只能使用 SSIS 來擷取資料和載入分析的輸出,而且還能建置、執行及定期重新訓練 R 模型。 如需詳細資訊,請參閱下列部落格文章。 使用 SQL Server 2016 SSIS 和 R 服務推動您的機器學習服務專案

XML 工作中詳細的 XML 驗證輸出

驗證 XML 文件,並啟用 XML 工作的 ValidationDetails 屬性以取得詳細的錯誤輸出。 在提供 ValidationDetails 屬性前,XML 工作所執行的 XML 驗證只會傳回結果為 True 或 False,而不會有錯誤的相關資訊及其位置。 現在,當您將 ValidationDetails 設定為 True 時,輸出檔案即涵蓋每項錯誤的詳細資訊,包括行號及位置。 您可以使用此資訊來了解、尋找及修正 XML 文件中的錯誤。 如需詳細資訊,請參閱< Validate XML with the XML Task>。

SSIS 在 SQL Server 2012 (11.x) Service Pack 2 中引進了 ValidationDetails 屬性。 這項新的屬性目前尚未經過宣布或記載。 ValidationDetails 屬性也適用於 SQL Server 2014 (12.x) 和 SQL Server 2016 (13.x)。

取得協助

參與編輯 SQL 文件

您知道您可以自行編輯 SQL 內容嗎? 這樣做不僅可以協助改善文件,也能名列該頁面的參與者。

如需詳細資訊,請參閱如何參與 SQL Server 文件