KB982857-修正:當發佈資料庫是使用 [讀取已提交快照] 選項進行設定時,發佈代理程式失敗並出現錯誤碼20598

Microsoft 將 Microsoft SQL Server 2008 與 Microsoft SQL Server 2008 R2 發佈為一個可下載的檔案。 因為修正程式是累加的,所以每個新發行版本本都包含舊版 SQL Server 2008 或 SQL Server 2008 R2 修正版本中所包含的所有熱修復程式及所有安全性修正程式。

徵狀

請考慮在 Microsoft SQL Server 2008 或 Microsoft SQL Server 2008 R2 中的下列案例:

  • 您可以為資料庫設定異動複寫。

  • 資料庫是使用 [read_committed_snapshot] 選項進行設定。

  • 複製已設定為使用原生 sync_method。 接著,系統會初始化複製訂閱者,並為複製產生快照。

在這種情況下,分發代理程式會失敗,錯誤碼為20598。 此外,您可能會收到下列其中一則錯誤訊息:

  • <日期時間> SPID<ID> 複製複製發佈子系統:代理 <代理程式名稱> 失敗。 套用複製的命令時,在訂閱者中找不到該資料列。

  • <日期時間> SPID<ID> 錯誤:14151,嚴重性:18,狀態:1。<日期時間> SPID<ID> 複製複製發佈子系統:代理 <代理程式名稱> 失敗。 違反主鍵限制 "<主鍵名稱>"。 無法在 訂閱者>」的物件 '<資料表中插入重複的索引鍵。

原因

發生這個問題的原因是,在為複製產生快照時,鎖定遺失。

解決方案

累積更新資訊

SQL Server 2008 Service Pack 1

此問題的修正程式是在 SQL Server 2008 的累積更新9(Service Pack 1)中第一次發行。如需此累積更新套件的詳細資訊,請按一下下列文章編號,以查看 Microsoft 知識庫中的文章:

2083921 SQL Server 2008 的累積更新套件 9 Service Pack 1注意: 因為組建是累加的,所以每個新的修正程式版本都包含先前 SQL Server 2008 修正版本中所包含的所有修復程式及所有安全性修正程式。 Microsoft 建議您考慮套用包含此熱修復程式的最新修正版本。 如需詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:

970365 在發行 SQL Server 2008 Service Pack 1 之後發行的 SQL Server 2008 組建Microsoft SQL Server 2008 修復程式是針對特定的 SQL Server service pack 建立的。 您必須將 SQL Server 2008 Service Pack 1 修補程式套用至 SQL Server 2008 Service Pack 1 的安裝。 根據預設,SQL Server service pack 中提供的任何熱修復程式都包含在下一個 SQL Server service pack 中。

SQL Server 2008 Service Pack 2

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

2289254 SQL Server 2008 的累積更新 1 Service Pack 2注意: 因為組建是累加的,所以每個新的修正程式版本都包含先前 SQL Server 2008 修正版本中所包含的所有修復程式及所有安全性修正程式。 我們建議您考慮套用包含此熱修復程式的最新修正版本。 如需詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:

2402659 在發行 SQL Server 2008 Service Pack 2 之後發行的 SQL Server 2008 組建

SQL Server 2008 R2

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

2345451 SQL Server 2008 R2 的累積更新套件4 注意: 因為組建是累加的,所以每個新的修正程式版本都包含先前 SQL Server 2008 R2 修正版本中所包含的所有修復程式及所有安全性修正程式。 我們建議您考慮套用包含此熱修復程式的最新修正版本。 如需詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:

981356 在發行 SQL Server 2008 R2 之後發行的 SQL Server 2008 R2 組建

狀態

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

參考

如需 SQL Server 複製的詳細資訊,請造訪下列 Microsoft 開發人員網路(MSDN)網站:

SQL Server 複製如需有關快照隔離的詳細資訊,請造訪下列 MSDN 網站:

快照隔離如需有關 SQL Server 的增量服務模型的詳細資訊,請按一下下列文章編號,以查看 Microsoft 知識庫中的文章:

935897 您可以從 SQL Server 團隊取得增量服務模型,以提供已報告問題的修補程式如需 SQL Server 更新命名架構的詳細資訊,請按一下下列文章編號,以查看 Microsoft 知識庫中的文章:

822499Microsoft SQL Server 軟體更新套件的新命名架構如需軟體更新術語的詳細資訊,請按一下下列文章編號,以查看 Microsoft 知識庫中的文章:

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

Need more help?

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

Was this information helpful?

Thank you for your feedback!

Thank you for your feedback! It sounds like it might be helpful to connect you to one of our Office support agents.

×