徵狀
當您在 Microsoft SQL Server 2012 或 SQL Server 2014 中設定事務性複製並初始化來自備份的事務性訂閱時。 在初始同步處理期間,分發代理程式會失敗,而且您會收到下列錯誤:
可使用連線到訂閱者 InitializingNo 複製的事務。42000找不到已儲存的程式 ' sp_MSins_」。 281242000找不到已儲存的程式 "sp_MSins_"。 2812
原因
這個問題是由記錄讀取器代理程式與發行代理程式初始執行之間的時間差異所造成。 如果在發行商中發生大量的事務性變更,則記錄讀取器代理程式會在產生的時間內產生延遲,並將自訂的儲存程式腳本新增至散發資料庫中的 MSRepl_commands。 如果分發代理程式是在新增這些命令前開始,並已對發佈資料庫進行往返,就會先移動事務時間戳記,並報告「沒有任何複製的事務可用」。 分發代理程式的後續同步處理嘗試無法偵測自訂的儲存程式建立命令,而且會因為「問題」一節中提到的錯誤而失敗。
解決方案
此問題最初是在 SQL Server 的後續累積更新中修正。
SQL Server 2014 的累積更新1 /en-us/help/2931693
SQL Server 2012 SP1 的累積更新9 /en-us/help/2931078
每個新的 SQL Server 累計更新都包含所有的修正程式,以及前一個累積更新中所包含的所有安全性修正程式。 查看 SQL Server 的最新累計更新:
狀態
Microsoft 已確認本篇文章<適用於>一節所列之 Microsoft 產品確實有上述問題。