2010-05-12 42 views
2

我有一個客戶端數據庫的副本說'DBCopy'已經包含修改後的數據。客戶端數據庫(DBCopy)的副本附加到中央數據庫(DBCentral)所在的SQL Server。然後我想更新DBCopy中已存在的任何 更改爲DBCentral。 DBCopy和DBCentral都有相同的模式。我怎樣才能以編程方式使用C#.NET來完成,也許只需點擊按鈕即可。你可以給我一個示例代碼,如何做到這一點?我正在使用SQL Server 2005標準版和VS 2008 SP1。更新從一個數據庫到另一個數據庫在同一服務器的更改

在實際場景中,大約有7個客戶端數據庫都與中央數據庫具有相同的模式。我將每個客戶端數據庫的副本附加到中央數據庫駐留的中央服務器上,並嘗試使用C#.NET逐個編程地將客戶端數據庫的每個副本中存在的更改更新到中央數據庫。客戶端和中央服務器實際上是分開存在於不同地方的機器。它們不相互關聯。

我只需要更新並插入新數據。我不會爲刪除數據而煩惱。

感謝和問候 帕

回答

0

去看看Sync Framework。否則,請創建一些SSIS包並運行它們。

+0

非常感謝您的答覆。另外我想提一下,有大約50個表格和可能相同數量的視圖和SPS。所以這是一個巨大的數據。哪一個將是一個可行的解決方案。由於我對此非常陌生,你可以給我一些示例代碼或幾個使用Sync Framework和創建SSIS插件的參考嗎? – 2010-05-12 04:05:21

0

你所描述的聽起來很像Database Mirroring

+0

謝謝您也可以看看:) :) – 2010-05-12 04:30:05

0

如果這是一次性或不常見的同步,那麼我會使用第三方工具,如Red-Gate的SQL Data Compare。如果這意味着正在進行同步,那麼我會推薦複製或Synchronization Framework

+0

感謝您的回覆。其實我是新手,我不明白你的意思是不常用的同步和正在進行的同步,這些術語對我來說是新的。這個想法是這樣的:一旦我附加客戶端數據庫的副本,並執行更新到中央數據庫,我會簡單地分離或刪除副本。客戶端數據庫的副本每月帶到服務器一次或兩次,並連接到中央數據庫所在的服務器,然後從副本到中央數據庫執行更新。 – 2010-05-12 04:23:15

+0

Red-Gate的SQL數據比較對我來說將是一個昂貴的解決方案。我仍然是一名學生,這是我的學術項目。 – 2010-05-12 04:51:38

+0

@Pavan Kumar - 通過不經常的和正在進行的,我指的是你多久必須進行同步。如果每兩個月進行一次,而不是按計劃進行,那麼使用工具將會更簡單。如果這是每個月都必須發生的事情,那麼編寫腳本會更好。複製將是最簡單的解決方案,因爲同步就是它設計的目的。之後,我會看看Sync Framework。 – Thomas 2010-05-12 14:19:02

0

我認爲這是西隧ü希望-----

USE DB1 
UPDATE DB1.dbo.MyTable 
SET 
    Field1 = d2.Field1, 
    Field2 = d2.Field2, 
    Field3 = d2.Field3 
FROM DB2.dbo.MyTable d2 
WHERE d2.MyKey = MyTable.MyKey 
相關問題