使用 Microsoft 登入
登入或建立帳戶。
您好:
選取其他帳戶。
您有多個帳戶
選擇您要用來登入的帳戶。

徵狀

請試想下列案例:

  • 您有已啟用 ALLOW_SNAPSHOT_ISOLATION 和 READ_COMMITTED_SNAPSHOT選項的 Microsoft SQL Server 2012 資料庫。

  • 您至少有三個針對同一個資料表執行的併發查詢。

  • 查詢會使用(TABLOCK、UPDLOCK) 查詢提示。

  • 每個查詢都會封裝在明確的 開始事務 語句中,但不會執行 COMMIT 事務 語句 。

在這種情況下,當第一個查詢提交時,其中一個查詢會鎖死。當 READ_COMMITTED_SNAPSHOT 與 TABLOCK 及 UPDLOCK 查詢提示搭配使用時,會話會在資料表上採用 IX 鎖。 當兩個併發會話同時嘗試將 IX 鎖轉換成 X 次鎖定時,就會發生鎖死。 如果 READ_COMMITTED_SNAPSHOT 停用,會話將會取得6個在轉換為 X 鎖時不會鎖死的鎖。 此修復程式會 READ_COMMITTED_SNAPSHOT 在與 TABLOCK 與 UPDLOCK 提示搭配使用時,授與提供 LCK_M_SCH_S 鎖(而不是 IX 鎖)來解決此行為。注意這個問題也會發生在 Microsoft SQL Server 2008 R2 中。 即將發行 SQL Server 2008 R2 的修復程式。

每個新的 SQL Server 累計更新都包含所有的修正程式,以及前一個累積更新中所包含的所有安全性修正程式。 查看 SQL Server 的最新累計更新:

狀態

Microsoft 已確認本篇文章<適用於>一節所列之 Microsoft 產品確實有上述問題。

需要更多協助嗎?

想要其他選項嗎?

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

社群可協助您詢問並回答問題、提供意見反應,以及聆聽來自具有豐富知識的專家意見。

這項資訊有幫助嗎?

您對語言品質的滿意度如何?
以下何者是您會在意的事項?
按下 [提交] 後,您的意見反應將用來改善 Microsoft 產品與服務。 您的 IT 管理員將能夠收集這些資料。 隱私權聲明。

感謝您的意見反應!

×