2010-07-27 105 views
0

我正在使用SQL Server 2008 CE複製,似乎正在遭受一些數據丟失(即完全同步後,記錄未出現在CE數據庫中)。帶有CE複製的SQL Server 2008數據丟失

我得到在應用程序日誌中輸入以下內容:

複製複製合併子系統:代理0033007B-0043-0039-4400-440036003300失敗。內部錯誤:嘗試處理同步請求時,來自設備或IIS服務器的讀取操作返回不正確的字節數。 [,,,,,]

複製複製合併子系統:代理0045007B-0038-0037-3200-430036004200失敗。內部錯誤:運行IIS的計算機內存不足或在請求中發送了不正確的會話標識。 [會話ID ,,,,,]

複製複製合併子系統:代理0033007B-0043-0039-4400-440036003300失敗。表格行計數的驗證失敗。嘗試重新同步。 [,,,,,]

複製複製合併子系統:代理0043007B-0036-0044-4400-320032003000失敗。合併過程無法初始化訂閱。確保發行商存在訂閱註冊,並在必要時重新註冊訂閱。

複製複製合併子系統:代理0036007B-0037-0042-4500-370036003600失敗。運行IIS的計算機上身份驗證失敗。 [,,,,,]

消息似乎表明IIS耗盡內存。它使用大約22 MB,W3WP使用大約70 MB。 SQL Server已經消耗了大部分剩餘的4 GB RAM。有足夠的磁盤空間。這些錯誤在事件日誌中每隔幾個小時發生一次。

任何建議將不勝感激。

更新

添加更多的內存的機器已經幫助了問題,(和內存不足異常去了),但是,我仍然有問題。

似乎需要很長時間讓一些用戶在同步之前(我正在講話> 20分鐘)在數據庫上運行「數據驗證」任務,這可能會導致問題。

回答

2

我得到這個確切的錯誤的實際問題是IIS池超時!因此,數據庫越大,客戶端要處理的速度越慢,速度越慢,直到設備需要超過20分鐘的時間處理纔會導致池會話超時,以便在下一個請求到達後端時窒息。但是,我使用的解決方案是增加客戶端的進程緩衝區,如下所述:

http://blogs.msdn.com/b/sqlblog/archive/2009/06/24/performance-tips-for-faster-download-of-a-large-sql-compact-3-5-database-via-replication.aspx

這是帖子的時候我正在通過這個http://social.msdn.microsoft.com/Forums/sqlserver/en-US/f9414df5-f066-450c-8e26-6f4c62a3897a/iis-replication-agent-restarts-replication-never-finishes

另外一個有趣的想法是你可以做的合併在PC上一次,然後部署文件到設備,顯然可能不適合您的方案。

1

我放棄了上解決問題,並有利於使用Web服務實現我自己的同步接口的廢棄的SQL手機複製:¬(

相關問題