徵狀
假設您已安裝原始已發行且現已過時的累積更新6(適用于 SQL Server 2014 Service Pack 1 (SP1)(組建號碼12.0.4449.0, KB 3144524),且您執行的工作負載模式包含平行選取(...)在NOLOCK中,在預設的 SQL Server 鎖定隔離層級或較高的層級。 在這種情況下,您可能會遇到遇到封鎖或鎖死的查詢。 公開給此封鎖問題的模式如下所示:
-
執行並行化選取(...) 從 SourceTable 語句中的資料表,以及特別使用 NOLOCK 提示的預設 SQL Server 鎖定隔離層級或更新版本。 在這種情況下,嘗試存取 SourceTable 的其他查詢將會被封鎖。
-
當某個事務針對物件(例如,正在進行的資料表更新)保留排他鎖時,另一個事務正在執行並行化 SELECT (...) 使用 NOLOCK 提示從 SourceTable。 在這種情況下,嘗試存取 SourceTable 的選取查詢將會被封鎖。
若要尋找目前已安裝的 SQL Server 版本,請參閱如何判斷 Sql server 及其元件的版本、版本和更新層級。
解決方案
這個問題首先是在 SQL Server 的下列累積更新中修正:
每個新的 SQL Server 累計更新都包含所有的修正程式,以及前一個累積更新中所包含的所有安全性修正程式。 查看 SQL Server 的最新累計更新:
狀態
Microsoft 已確認<適用於>一節中所列的 Microsoft 產品確實有上述問題。
參考
瞭解 Microsoft 用於描述軟體更新的 術語 。