徵狀

在 Microsoft SQL Server 鏡像架構,您可能會遇到與夥伴 (鏡像) 伺服器上的 SQL Server 判斷提示。此外,您會發現 SQL Server 錯誤記錄檔中類似下列的錯誤訊息。此錯誤通常表示必須重新建立鏡像組。

SQL Server 的判斷提示: 檔案: loglock.cpp、 行 = 834 失敗的判斷提示 = ' 結果 = = LCK_OK'。這項錯誤可能是預存時間相關。如果錯誤持續發生後重新執行的陳述式中,使用 DBCC CHECKDB,若要檢查的資料庫結構的完整性,或重新啟動伺服器以確保記憶體中資料結構不會損毀。錯誤: 3624,高的嚴重性等級: 20 日的狀態: 1.A 系統判斷提示檢查失敗。請檢查 SQL Server 錯誤記錄檔,如需詳細資訊。一般而言,判斷提示失敗被因為軟體錯誤或資料損毀。若要檢查資料庫損毀,請考慮執行 DBCC CHECKDB。如果您同意將傾印在安裝期間傳送至 Microsoft,迷你的傾印就會傳送到 Microsoft。更新可能可從 Microsoft 取得最新的 Service Pack 或技術支援從 QFE。

附註發生這個問題時,SQL Server 錯誤記錄檔資料夾會產生迷你的傾印檔案。這個檔案的名稱類似 「"SQLDumpnnnn.mdmp。

原因

在數個不同的狀況下,可能會發生這個問題。每個案例具有不同的原因和解決方案,而且每個案例可能造成發生相同的錯誤訊息和判斷提示。備忘稿

  • 雖然錯誤簽章似乎很特殊,實際的錯誤被因為判斷提示失敗。例如,錯誤可能因執行 SQL Server 程式碼來驗證 「 健全 」 中的主動式的核取的判斷提示 ',而不會讓整個處理序當機儘可能完全失敗的條件。

  • 您無法輕易判斷實際的原因。Microsoft 客戶支援服務通常會判斷出原因。它通常會收集主體資料庫完整備份的檔案及交易記錄備份涵蓋問題的時間。此外,可能需要完整的處理序傾印檔案的鏡像重現問題的特定設定。

解決方案

服務套件資訊

若要解決這個問題,請取得最新的修正程式,您的 SQL Server 版本。如需詳細資訊,請參閱下表。

原因

知識庫文件

在第一次修正

之間主要的不同的鎖定行為與鏡像

修正2938828 : 資料庫鏡像結果判斷提示,並且鏡像工作階段會顯示在 SQL Server 2012年或 SQL Server 2014年暫停的狀態

2931693累積更新 1 SQL Server 2014年2931078累積更新 9 SQL Server 2012 sp1

鎖定擴大問題

953625修正: SQL Server 2005 會同步處理鏡像的資料庫時出現錯誤訊息: 「 運算式: 結果 = = LCK_OK"

951217累計更新套件 8,SQL Server 2005 的 Service Pack 2

鎖定期間頁面分割的移轉

974319修正: 間歇性的錯誤訊息和判斷提示失敗時您可以使用資料庫鏡像在 SQL Server 2005 中、 在 SQL Server 2008 中,或在 SQL Server 2008 R2:"SQL Server 的判斷提示: 檔案: < loglock.cpp >,列 = 823 失敗的判斷提示 = ' 結果 = = LCK_OK'"

974648累計的 SQL Server 2008 R2 更新套件 6 SQL Server 2005 的 Service Pack 3975976累積更新套件的 SQL Server 2008年975977累積更新套件的 SQL Server 2008 Service Pack 1975976累積更新套件 1 5 8

大量插入 / BCP 與關閉的 Check_Constraints

SQL Server 2012

加密金鑰的變更:

  • 資料庫主要金鑰

  • 伺服器執行個體主要金鑰

SQL Server 2012

壓縮作業 (PurgeIAM) 與其他交易衝突

當您壓縮資料庫鏡像在主體上的資料檔案,兩個 SQL Server 2005 的伺服器時, 982933錯誤訊息

983329累計更新套件 10,SQL Server 2005 的 Service Pack 3

頁面分割後面接著解除配置及該頁面的配置的鎖定擴大規模

983564修正: 當您使用 Microsoft SQL Server 2005年,Microsoft SQL Server 2008 中或 Microsoft SQL Server 2008 R2 中的資料庫鏡像,並判斷提示失敗會間歇性地發生的錯誤訊息

SQL Server 2005 的 Service Pack 32083921累計的983329累積更新套件 10 更新 SQL Server 2008 Service Pack 12289254累計更新 SQL Server 2008 Service Pack 22261464累積更新套件 3 的 1 的 SQL Server 2008 R2 9

注意事項

  • 最後一欄列出只包含修正程式的第一個組建。因為 SQL Server 組建是累計的較新的組建,例如 SQL Server 2008 R2 SP1 將包含這些修正程式。不過,這些組建不會列出在資料表中。

  • 任何建置按照原定 SQL Server 2005 SP3 累積更新 (CU) 10、 SQL Server 2008 SP2 CU 1 或 SQL Server 2008 R2 CU3 包含"lck_ok"判斷提示的情況下所有列出的修正程式。在撰寫本文時,這些組建已被至少一個完整的服務套件而定。Service pack 應該保護最已安裝最新的組建的 SQL Server 在固定的案例中。如需有關如何取得最新的 service pack,您的 SQL Server 版本的詳細資訊,請按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:

    如何取得最新的 service pack 的 SQL Server 2005968382如何取得最新的 service pack 的 SQL Server 2008年2527041如何取得最新的 service pack 的 SQL Server 2008 R2 的913089

  • 您應該注意兩個案例沒有可用的修正程式。原因是兩個問題,需要 SQL Server 交易記錄檔內部的重新架構。這類變更可包含僅與 SQL Server 的主要版本。問題固定在此情況下,Microsoft SQL Server 2012.The 主要金鑰變更案例是不夠罕見的事件,為了讓案例邊角大小寫。不過,BCP/大量插入 」 案例中是常見的。BCP/大量插入 」 案例中的 SQL Server 2008年,以及 SQL Server 2008 R2 保持非固定的因為它是建置這些產品的最可能的已知的原因之一"lck_ok"以目前的判斷提示。如需有關這種情況的詳細資訊,請參閱 < 其他資訊=""> 一節。

  • 這份文件可能不會反映在其發行後發現的問題。您可以搜尋 「 Microsoft 知識庫 」 的任何新個別 「 修正 」 的發行項適用。

狀態

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

其他相關資訊

BCP/大量插入的案例

一起 3624 錯誤 」 結果 = = LCK_OK"上的 SQL Server 2008年鏡像夥伴可能發生的判斷提示,或如果下列情況成立時,SQL Server 2008 R2 鏡像設定:

  • 主體資料庫上發生 BCP 或 Bulk Insert 的活動。

  • BCP/大量插入活動使用了 CHECK_CONSTRAINTS = 關閉選項。附註這個選項的預設值為 OFF。

要解決這個問題,請設成 ON CHECK_CONSTRAINTS 選項,BCP/大量插入作業。BCP/大量插入作業的效能可能會受到影響。附註SQL Server 2012年不受這個問題。

參考

如需有關軟體更新術語的詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:

用來描述 Microsoft 軟體更新標準術語的編號 824684描述

Need more help?

Expand your skills
Explore Training
Get new features first
Join Microsoft Insiders

Was this information helpful?

How satisfied are you with the translation quality?
What affected your experience?

Thank you for your feedback!

×