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

徵兆

請試想下列案例:

  • 您在 SQL Server 2016 和 2017 中有 SQL CLR 函數。

  • CLR 函數會透過模擬呼叫來叫用 Transact-SQL 語句,例如撥打 EXECUTE AS 語句。

在此案例中,執行失敗,且您收到下列錯誤訊息:

Msg 6522、層級 16、州 1、Procedure 中國edureName、行 0 [批次起始 線條編號]

執行使用者定義的例行程式或匯總 「ProcedureName」 期間發生.NET Framework錯誤:

System.Data.SqlClient.SqlException:在目前資訊安全內容之下,伺服器主體 「LoginName」 無法存取資料庫 「DatabaseName」。

解決方案

此修正套裝程式含在SQL Server 2017 的累積更新1 中。

SQL Server 2016 的 Service Pack 資訊

此問題已在下列 service Pack 中修正,適用于 SQL Server:

       SQL Server 2016 版 Service Pack 2

關於 SQL Server 2017 組建

SQL Server 2017 的每個新組建都包含先前組建中的所有 Hotfix 與安全性修正。 建議您安裝SQL Server 2017 的最新組建

Service Pack 是累積的。 每個新的 Service Pack 都包含舊版 Service Pack 中的所有修正,以及任何新的修正。 我們建議您套用最新的 Service Pack 以及該 Service Pack 的最新累積更新。 安裝最新的 Service Pack 之前,您不需要安裝先前的 Service Pack。 使用下列文章中的表格 1,以尋找有關最新 Service Pack 和最新累積更新的詳細資訊。

如何判斷SQL Server及其元件的版本、版本和更新層級

狀態

Microsoft 已確認<適用於>一節中所列的 Microsoft 產品確實有上述問題。

參考資料

瞭解 Microsoft 用來描述軟體更新的 術語

需要更多協助嗎?

想要其他選項嗎?

探索訂閱權益、瀏覽訓練課程、瞭解如何保護您的裝置等等。