Sql-Server

合併複製驗證失敗

  • March 21, 2016

在與 SQL Server 2008 R2 Service Pack 3 同步時,我們的一些使用者遇到了一個奇怪的錯誤。即使行數和預期的行數實際上匹配,驗證也會失敗!

錯誤資訊:

一篇或多篇文章的數據驗證失敗。

來源:MSSQL_REPL,錯誤號:MSSQL_REPL-2147200953

文章“引用”數據驗證失敗(行數和校驗和)。

實際行數:973,預期:973。

它會導致禁用驗證的問題嗎?有沒有關於如何創建自己的驗證的好例子?

錯誤可能會說:

文章“報價”數據驗證失敗(僅限行數)。

但是您的錯誤指出:

文章“報價”數據驗證失敗(行數和校驗和)。

合併的驗證執行如下二進制校驗和

select count_big(*), sum (convert(numeric, binary_checksum(*) ) ) 
from [dbo].[tablename] WITH (TABLOCK HOLDLOCK)

正如其他人所說,合併期間的驗證可能有點錯誤,您可能會發現自己進行驗證會更好。

-Validate x您可以通過從合併代理中刪除參數來關閉驗證。

關於你的錯誤:微軟建議稍後再試,好像錯誤是暫時的。至於驗證它的程式碼,您可以嘗試我連結到的程式碼,但我認為您需要編寫自己的程式碼來根據數據的業務規則對其進行驗證。禁用驗證應該沒有害處,如果存在固有的危害,則該選項將不存在。但我會先用一個臨時/測試伺服器嘗試它。

引用自:https://dba.stackexchange.com/questions/131163