Applies ToSQL Server 2008 R2 Datacenter SQL Server 2008 R2 Enterprise SQL Server 2008 R2 Developer SQL Server 2008 R2 Standard SQL Server 2008 R2 Express SQL Server 2008 R2 Web SQL Server 2008 R2 Workgroup SQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Express SQL Server 2012 Standard SQL Server 2012 Web SQL Server 2012 Enterprise Core

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

徵狀

請試想下列案例:

  • 您在 Microsoft SQL Server 2008 R2 或 Microsoft SQL Server 2012 中的資料表中有一個 Ntext 資料類型資料行。

  • 您可以建立包含資料表的事務性複製做為文章。

  • Ntext 資料類型資料行會更新為 Null。

在這種情況下,複製記錄讀取器代理程式會失敗,而且您會收到下列錯誤訊息:

錯誤:17066,嚴重性:16,狀態: 1. SQL Server Assertion: File: <replicat .cpp>,line = 2701 失敗斷言 = ' pRowset」。 此錯誤可能是與時間有關的。 如果在重新執行語句後發生錯誤,請使用 DBCC CHECKDB 來檢查資料庫的結構完整性,或重新開機伺服器以確保記憶體中資料結構未損毀。

此外,當這個問題發生時,記錄讀取器代理程式無法停止繼續進行,且每個後續的記錄讀取器執行都會產生相同的錯誤。注意事項

  • 當您使用 UPDATETEXT 語句來更新 Ntext 資料類型資料行時,這個問題就變得更明顯。

  • 雖然在使用垂直篩選的 [專案] 欄清單中排除了 Ntext 資料類型欄,但仍會出現此問題。

解決方案

累積更新資訊

SQL Server 2012 SP1 的累積更新2

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

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

2772858 在發行 SQL Server 2012 Service Pack 1 之後發行的 SQL Server 2012 組建

SQL Server 2012 累積更新5

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

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

2692828 在發行 SQL Server 2012 之後發行的 SQL Server 2012 組建

SQL Server 2008 R2 SP2 累積更新4

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

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

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

SQL Server 2008 R2 Service Pack 1

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

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

2567616 在發行 SQL Server 2008 R2 Service Pack 1 之後發行的 SQL Server 2008 R2 組建若要解決此問題,請按照下列步驟操作:

  1. 將所有現有的發佈放在受影響的資料庫下。

  2. 套用修正程式。

  3. 從頭開始重新建立出版物或訂閱。

狀態

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

其他相關資訊

如需 Ntext、text 和 image 資料類型的詳細資訊,請移至下列 Microsoft 開發人員網路(MSDN)網站:

Ntext、text 和 image (Transact-sql)如需有關複製類型的詳細資訊,請移至下列 MSDN 網站:

複製類型概述如需有關事務性複製運作方式的詳細資訊,請移至下列 MSDN 網站:

事務性複製的運作方式

Need more help?

Want more options?

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

社群可協助您詢問並回答問題、提供意見反應,以及聆聽來自具有豐富知識的專家意見。