KB4039736 - 修正:當 SSIS 套件由使用者沒有 SYSADMIN 權限的 CLR 預存程序執行時,無法啟動

Applies To
SQL Server 2016 Developer - duplicate (do not use) SQL Server 2016 Enterprise - duplicate (do not use) SQL Server 2016 Enterprise Core - duplicate (do not use) SQL Server 2016 Standard - duplicate (do not use) SQL Server 2016 Service Pack 1 SQL Server 2017 on Windows (all editions)

症狀

假設您使用通用語言 (執行階段 (CLR) 預存程序啟動 Microsoft SQL Server 2016 或 2017 Integration Services SSIS 2016) 套件。 當您執行會呼叫 SQLContext.WindowsIdentity 屬性的 CLR 預存程序時,您可能會注意到 SQLContext.WindowsIdentity 屬性會在 SQL Server 中針對模擬呼叫傳回 NULL 值,因為該呼叫導致 SSIS 套件未啟動。 如果 CLR 程序由具有 Windows 登入 (不是沒有 SYSADMIN 權限的 SQL Server 登入) 所擁有,則會出現此問題。 此外,您可能會收到類似下列的錯誤訊息:

注意

使用 SQL Server 驗證的帳戶無法啟動此作業。 使用使用 Windows 驗證的帳戶開始作業。

解決方式

此問題已在下列 SQL Server 累積更新中修正:

SQL Server 2017 累積更新 1

SQL Server 2016 SP1 的累積更新 5

注意: 若要修正此問題,必須啟用 TF) 4637 ( 追蹤旗標。

關於 SQL Server 的累積更新:

SQL Server 的每個新累積更新都包含所有 Hotfix 和先前累積更新的所有安全性修正程式。 查看 SQL Server 的最新累積更新:

適用於 SQL Server 2017 的最新累積更新

適用於 SQL Server 2016 的最新累積更新

狀態

Microsoft 已確認這是「適用對象」一節中列出的 Microsoft 產品中的問題。

參考資料

了解 Microsoft 用來說明軟體更新的術語。