1

我已經開發使用Microsoft同步框架2.1 SDK的應用程序,我目前的部署方法一直是:微軟同步框架標記客戶數據庫爲最新

  1. 從製作未接通的數據庫的備份開發機器並在服務器上進行恢復。

  2. 提供的服務器,然後供應客戶

  3. 同步數據庫

  4. 就拿開發計算機上同步數據庫的備份,並使用該客戶端安裝。它作爲我在客戶端計算機上恢復的SQL/Server備份包含在InstallShield包中。

這一工程,但在客戶機上,現在我也想不安裝的規模擴大一倍,以創建使用相同的SQL/Server備份一個單獨的測試數據庫。這也適用,但當然是因爲客戶端測試版本不再與服務器上的測試版本同步,它會嘗試下載比互聯網連接速度慢數小時的所有記錄。

由於測試數據庫的完整性並不重要,我想知道是否有一種方法可以將客戶端計算機上的「最新」標記爲沒有太多網絡流量?

查看跟蹤表的工作方式後,我不確定這甚至可能不會導致其他客戶端上傳或下載所有內容。也許有一個選項只能從我錯過的客戶端上傳?這很適合這個目的。

回答

0

在對Sync Framework使用的數據結構進一步分析後,我確定不會有可接受的方式來實現我所尋找的結果,而不會在客戶端和服務器之間發送大量數據,而這些數據本來可以接近所需的數據一個'正確的'同步。

取而代之,我最終包含了一個單獨的測試數據庫備份和部署,以便可以執行通常的PerformPostRestoreFixup,然後以正常方式執行同步操作,就像我處理實時數據庫一樣。

1

每次備份配置數據庫並將其還原以初始化其他客戶端或副本時,請確保在還原之後以及第一次同步之前運行PerformPostRestoreFixup。

+0

嗨,六月,謝謝,但我在兩種情況下都這樣做。在我知道這樣做之前,我最初遇到了問題,因此我確信它正在執行。 – PeterJ

+0

如果客戶以前同步過,則客戶不應該下載所有記錄。你是否提供了一個新的範圍? – JuneT

+0

數據庫的實時副本已被同步,並且不會下載任何內容。它只是客戶端從同一個數據庫備份恢復的測試版本,因爲即使數據相同,它也沒有與服務器測試數據庫同步。我知道這不是一個標準的事情,但我正在尋找一種'欺騙'的方式,並讓它認爲測試數據庫是最新的,而不需要同步所有的東西。我也嘗試在配置後複製活體測試,但在恢復修復後,它似乎仍然認識到它是不同的,並下載everythig。 – PeterJ