Sign in with Microsoft
Sign in or create an account.
Hello,
Select a different account.
You have multiple accounts
Choose the account you want to sign in with.

徵狀

請試想下列案例:

  • 您有已啟用 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 產品確實有上述問題。

Need more help?

Want more options?

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

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

Was this information helpful?

How satisfied are you with the translation quality?
What affected your experience?
By pressing submit, your feedback will be used to improve Microsoft products and services. Your IT admin will be able to collect this data. Privacy Statement.

Thank you for your feedback!

×