KB2894326 - 在 SQL Server 2012 或 SQL Server 2014 中啟用連線共用時,應用程式無法連線到包含的資料庫

Applies To
SQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Express SQL Server 2012 Parallel Data Warehouse SQL Server 2012 Standard SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use)

症狀

請考慮以下案例:

  • 您在 Microsoft SQL Server 2012 或 SQL Server 2014 中擁有包含的資料庫。
  • 應用程式嘗試透過啟用 連線共用來連線至包含的資料庫。
  • 應用程式會使用 SQL Server 驗證。

在此案例中,應用程式可能無法連線到資料庫。 此外,您會在 SQL Server 錯誤記錄檔中找到類似下列的錯誤:

注意

日期時間 登入錯誤:18456,嚴重性:14,狀態:5。
datetime Logon 使用者 'SID' 登入失敗。 原因:找不到符合所提供的名稱 [Client:] 的登入
DateTime SPID# 錯誤:18056,嚴重性:20,狀態:5。
datetime SPID# 用戶端無法重複使用具有 SPID 的工作階段 #,此工作階段已針對連接共用重設。 失敗識別碼為 #。 此錯誤可能是先前的作業失敗所造成。 檢查緊接在此錯誤訊息之前的錯誤日誌中是否出現失敗的作業。

附註:若是第一次連線至包含的資料庫,則不會發生此問題。 不過,所有連續的嘗試都會發生此問題。

解決方式

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

SQL Server 2014 累積更新 1 /zh-tw/help/2931693

SQL Server 2012 SP1 的累積更新 7 /zh-tw/help/2894115

關於 SQL Server 的累積更新

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

      

狀態

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

更多資訊

此更新也修正了下列內建函式會傳回使用者 SID 而不是使用者名稱的另一個問題:

  • SUSER_SNAME
  • SUSER_NAME
  • SYSTEM_USER

注意:此更新可確保無論是否使用包含的資料庫,這些函數一律會傳回使用者名稱。

參考資料

請參閱 Microsoft 用來說明軟體更新的 術語 。