套用到
Microsoft SQL Server Compact 3.5 SQL Server Compact 3.5 Service Pack 2

徵狀

在 Microsoft SQL Server Compact 3.5 中,請考慮下列案例:

  • 您有兩個可序列化隔離的事務。

  • 兩個事務都嘗試在包含 TABLOCK 鎖定提示或 XLOCK 鎖定提示的同一個資料表上執行 DML 運算(query/DML)。

在這種情況下,您會遇到鎖死。

原因

之所以發生這個問題,是因為兩個事務都彼此都等候 XLOCK。 當查詢經過編譯時,兩個事務都會取得資料表上的共用鎖,然後保留可串列隔離的鎖。 當兩個事務都嘗試執行執行時,同一個資料表上包含 XLOCK 鎖定提示的查詢,然後兩個事務都彼此等待 XLOCK。 因此,會發生鎖死。注意當兩個事務在包含 TABLOCK 鎖定提示的同一個資料表上執行 DML 運算時,也會發生這個問題。

解決方案

SQL Server Compact 3.5 Service Pack 2

此問題的修正程式是在累積更新2中第一次發行。 如需有關如何取得 SQL Server 2008 R2 累積更新套件的詳細資訊,請按一下下列文章編號,以查看 Microsoft 知識庫中的文章:

2289547 SQL Server Compact 3.5 Service Pack 2 的累積更新2

狀態

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

其他相關資訊

如需有關鎖死的詳細資訊,請造訪下列 Microsoft 開發人員網路(MSDN)網站:

出現如需 DML 的詳細資訊,請造訪下列 MSDN 網站:

DML如需軟體更新術語的詳細資訊,請按一下下列文章編號,以查看 Microsoft 知識庫中的文章:

824684 描述 Microsoft 軟體更新所使用的標準術語說明

需要更多協助嗎?

想要其他選項嗎?

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