KB2478514 - 修正:當合併代理程式停止,且 msmerge_genhistory 系統資料表的 genstatus 資料行中的列設定為 4 時,會發生「合併程序無法存取列資料」錯誤

Applies To
SQL Server 2008 R2 SQL Server 2008

Microsoft 會發佈 Microsoft SQL Server 2008 或 SQL 2008 R2 修正程式作為一個可下載的檔案。 由於修正程式是累積的,因此每個新版本都包含先前的 SQL Server 2008 或 SQL 2008 R2 修正程式版本中包含的所有 Hotfix 和所有安全性修正程式。

症狀

您在 Microsoft SQL Server 2008 或 SQL Server 2008 R2 中建立使用 Web 同步處理的合併式複寫。 您注意到合併代理程式不會將下載變更或上傳變更套用至資料庫。 發生此問題時,合併代理程式詳細記錄檔中會記錄類似下列模式的錯誤訊息:

注意

OLE DB Subscriber 'subscriber': {call sp_MSgetonerow (?, ?, ?) }
OLE DB Subscriber 'subscriber': {call sp_MSenumcolumns (?,?) }

合併程序無法存取「訂閱者」中的資料列資料。 進行疑難排解時,請使用詳細歷程記錄重新開啟同步處理,並指定要寫入的輸出檔案,或執行 SQL Profiler 公用程式以識別失敗的原因。

重要 若要確認您是否遇到此問題,您應該會在 [msmerge_genhistory系統資料表] 中看到具有 genstatus 資料行的資料列。 這些列會設為 4。 在代理插入資料時, genstatus 資料行通常會設定為 4 。 但是,中斷的代理可能會將 genstatus 列設置為 4。 設定為 4 的 genstatus 資料行應在下次執行代理程式時進行處理。 不過,在此案例中,如果您嘗試再次執行代理程式,它會停止並顯示類似於此處所述訊息的錯誤訊息。

解決方式

此問題的修正程式最初在累積更新 3 中發行。 如需有關如何取得此 SQL Server 2008 累積更新套件的詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:

2498535 累積更新套件 3 for SQL Server 2008 Service Pack 2 注意:由於這些組建是累積的,因此每個新發行的修正程式都包含所有 Hotfix 和所有安全性修正程式,來自上一個 SQL Server 2008 修正程式版本。 建議您考慮套用包含此 Hotfix 的最新修正版本。 如需詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:

956909 在 SQL Server 2008 發行之後所發行的 SQL Server 2008 組建 (機器翻譯)

SQL Server 2008 R2 Service Pack 1

            
此問題的修正程式最初在 SQL Server 2008 R2 Service Pack 1 的累積更新 1 中發行。 如需有關如何取得此累積更新套件的詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:

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

2567616 在 SQL Server 2008 R2 Service Pack 1 發行之後所發行的 SQL Server 2008 R2 組建 (機器翻譯)

SQL Server 2008 R2

            
此問題的修正程式最初在累積更新 7 中發行。 如需有關如何取得 SQL Server 2008 R2 的累積更新套件的詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:

2507770 SQL Server 2008 R2 的累積更新套件 7 注意:由於這些組建是累積的,因此每個新發行的修正程式都包含所有 Hotfix 和所有安全性修正程式,這些都包含在上一個 SQL Server 2008 R2 修正程式版本中。 建議您考慮套用包含此 Hotfix 的最新修正版本。 如需詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:

981356 在 SQL Server 2008 R2 發行之後所發行的 SQL Server 2008 R2 組建 (機器翻譯)

狀態

Microsoft 已確認這是「適用對象」一節中列出的 Microsoft 產品中的問題。

更多資訊

如需有關合併式複寫 Web 同步處理的詳細資訊,請造訪下列 Microsoft Developer Network (MSDN) 網站:

合併式複寫的 Web 同步 處理如需有關已變更的檔案的詳細資訊,以及套用包含此 Microsoft 知識庫文章所述之 Hotfix 之累積更新套件的任何先決條件的相關資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:

2498535 SQL Server 2008 Service Pack 2 累積更新套件 3

參考資料

如需有關 SQL Server 2008 發行之後可用組建清單的詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:

956909 SQL Server 2008 發行之後所發行的 SQL Server 2008 組建如需有關 SQL Server 累加式服務模型的詳細資訊,請按一下下面的文件編號,檢視「Microsoft知識庫」中的文件:

935897 SQL Server 小組提供累加式服務模型,以提供回報問題的 Hotfix 如需有關 SQL Server 更新命名架構的詳細資訊,請按一下下面的文章編號,檢視 Microsoft知識庫中的文章:

822499 Microsoft SQL Server 軟體更新套件的新命名架構如需有關軟體更新術語的詳細資訊,請按一下下面的文章編號,檢視「Microsoft知識庫」中的文章:

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