2010-05-12 3 views
2

У меня есть копия клиентской базы данных, которая говорит «DBCopy», которая уже содержит измененные данные. Копия базы данных клиента (DBCopy) прикреплена к SQL Server, где существует Центральная база данных (DBCentral). Затем я хочу обновить все изменений, уже присутствующих в DBCopy, до DBCentral. И DBCopy, и DBCentral имеют одинаковую схему. Как я могу сделать это программно, используя C# .NET, возможно, нажав кнопку. Можете ли вы дать мне пример кода, как это сделать? Я использую SQL Server 2005 Standard Edition и VS 2008 SP1.обновление изменений из одной базы данных в другую базу данных на том же сервере

В фактическом сценарии имеется около 7 клиентских баз данных с одной и той же схемой, что и центральная база данных. Я привожу копию каждой клиентской базы данных и прикрепляю ее к центральному серверу, где находится центральная база данных, и пытаюсь обновить изменения, присутствующие в каждой копии клиентской базы данных, в центральную базу данных по одному программным образом с использованием C# .NET. Клиенты и центральный сервер являются физически отдельными машинами, присутствующими в разных местах. Они не взаимосвязаны.

Мне нужно только обновить и вставить новые данные. Я не беспокоюсь об удалении данных.

Спасибо и привет Паван

ответ

0

Go проверить Sync Framework. В противном случае, создайте несколько пакетов SSIS и запустите их.

+0

Большое спасибо за ответ. Также я хочу упомянуть, что существует около 50 таблиц и, вероятно, такое же количество просмотров и SPS. Так что это огромные данные. Какой из них станет возможным решением. Поскольку я очень новичок в этом, вы можете дать мне примерный код или несколько ссылок на использование Sync Framework и создание SSIS-пакаков ?. –

0

То, что вы описываете, звучит очень ужасно, как Database Mirroring.

+0

Спасибо, посмотрим на это также ... :) –

0

Если это разовая или нечастая синхронизация, я бы использовал сторонний инструмент, такой как SQL Data Compare от Red-Gate. Если это подразумевается как постоянная синхронизация, я бы рекомендовал репликацию или Synchronization Framework.

+0

Спасибо за ответ. На самом деле я новичок в этом, я не понимал, что вы подразумеваете под редкой синхронизацией и текущей синхронизацией, эти термины новы для меня. Идея заключается в следующем: после того, как я приложу копию клиентской базы данных и сделаю обновление в центральной базе данных, я просто отсоединю или удалю копию. Копия базы данных клиента доставляется на сервер один или два раза в месяц и прикрепляется к серверу, на котором находится центральная база данных, а затем выполняет обновление из копии в центральную базу данных. –

+0

Red-Gate SQL Data Compare будет дорогостоящим решением для меня. Я все еще студент, и это для моего академического проекта. –

+0

@Pavan Kumar - Нечасто и продолжается, я имел в виду, как часто вам приходится выполнять синхронизацию. Если его раз в пару месяцев, а не по расписанию, то использование инструмента будет проще. Если это то, что должно происходить каждый месяц, тогда скриптирование было бы лучше. Репликация будет самым простым решением, так как синхронизация - это то, что она должна была сделать. После этого я посмотрю на Sync Framework. – Thomas

0

я думаю, что это WHT и хотите: -----

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 
Смежные вопросы