2011-07-05 119 views
0

我們需要在兩臺服務器之間同步數據庫和映像文件。源服務器有sql server 2000,目標服務器有sql server 2008.我們需要同步sql server 2000中某些表中的數據,以便更新後的數據每隔一段時間進入sql server 2008。與存儲圖像的文件夾類似。使用Microsoft SQL Server 2000的同步框架2.1

我試圖用WCF實現Microsoft同步框架(http://msdn.microsoft.com/sync)以實現目標。我成功地運行下面的項目在SQL Server 2008中的兩個數據庫:

http://code.msdn.microsoft.com/Database-SyncSQL-Server-e97d1208/sourcecode?fileId=19017&pathId=519811259

然而,當我試圖數據的數據庫之間的一個在SQL Server 2000和SQL Server 2008同步,那麼我無法同步數據。

問題:

  1. 反正到SQL Server 2000和SQL Server 2008之間同步數據?

  2. 如果沒有,是否還有其他可能的架構可以實現以實現目標?

回答

0

你上面使用的樣品中的同步提供的最低SQL Server版本是SQL Server 2005的SP2(其中引入min_active_version()。)使用這個鏈接的步驟

嘗試這樣你就可以覆蓋命令並使其對Sql 2000工作:Synchronizing Other ADO.NET Compatible Databases

+0

謝謝你的鏈接。我試圖使該項目針對SQL Server 2000工作,如鏈接所示。我在其中一個存儲過程中操作了min_active_version(),這樣它就不會出錯。除了代碼sampleSyncAgent.Synchronize()觸發時,所有東西都可以工作,但我得到了「快照隔離事務失敗訪問數據庫'DBName'」的異常,因爲此數據庫中不允許快照隔離,使用ALTER DATABASE允許快照隔離。如你所知,我不能在sql server 2000中使用快照隔離(ALTER DATABASE [數據庫名稱] SET ALLOW_SNAPSHOT_ISOLATION ON)。 – Bikee

+0

我認爲你不能設置快照隔離。在此查看Oracle提供程序示例:http://code.msdn.microsoft.com/Database-Sync-Oracle-and-037fb083。您可以將您的自定義提供程序與此類似處理。 – JuneT

+0

嗨JuneT,我已經看過Oracle提供程序示例並在SQL Server 2000版本中進行了轉換。將所有pl/sql腳本轉換爲sql server版本並更改代碼以使其與sql server 2000兼容,最後出現相同的錯誤時非常痛苦。這個錯誤在SynchronizationHelper.cs的第47行中是一樣的(即:SyncOperationStatistics stats = orchestrator.Synchronize();)。你自己試過了嗎?如果是的話,如果你和我分享一些知識,那會很棒。 – Bikee

相關問題