2012-01-30 1 views
5

1) У меня есть настольное приложение (машина A) с использованием C# и SQL Server. У меня есть еще одна локальная машина (машина B), у нее также есть собственный экземпляр SQL-сервера. Я хочу синхронизировать базу данных A с базой B. Этот процесс должен происходить за промежуток времени.Существует ли технология .NET для синхронизации локальных и удаленных баз данных SQL-сервера?

2) У меня также есть веб-приложение ASP.NET, работающее на веб-сервере (машина C). Я также хочу синхронизировать базу данных A с базой данных C. (SQL Server также.)

Мне нужно разработать решение этой проблемы. Проблема в том, что я не совсем уверен, какую технологию я буду использовать. Я должен использовать технологию .NET или аналогичную технологию Microsoft. Наше основное приложение было написано на C#.

+0

Определите «Синхронизировать». Schemas? Данные? И то и другое? Полная синхронизация? Частичное? – Oded

+0

Синхронизируя, вы имеете в виду схему или данные или оба? – Akhil

+0

[Службы синхронизации] (http://msdn.microsoft.com/en-us/library/bb726002.aspx), может быть? – millimoose

ответ

3

Существует не менее двух инструментов MS, которые вы можете использовать: SQL-replication, или Sync Framework.

Это зависит от того, насколько глубока и сложна ваша проблема. Например: вам нужен тонко настроенный инструмент или все, что угодно - синхронизация в любое время? Кроме того, еще одна разница между ними заключается в том, как вы хотите иметь дело с «конфликтными конфликтами в автономном режиме». Если на вашем сервере A, B, C в вашем примере кто-то изменяет запись на сервере A, а B имеет копию предыдущей версии, изменяет и публикует ее, какой должен победить, в вашем сценарии? Может быть, последний, может быть, первый, может быть, и никто?

SQL-репликация вне коробки в SQL Server (но не экспресс-версия). MS-Sync Framework параллельна платформе .NET, но по-прежнему бесплатна.

+0

ya вы правы. Есть много конфликтов на этом senario.I думаю, что MS-Sync Framework возможно. Я собираюсь изучить этот sdk также. Есть ли какой-то учебник, а не MSDN? – Thabo

+0

+! sync framework - это тегрегирование именно этого сценария. –

+1

Единственным источником информации, которую я использовал, был MSDN. Это займет некоторое время, чтобы прокрутить все это, но это довольно хорошо сделано. Я просто искал и нашел много других ресурсов: http://alexduggleby.com/2007/12/16/sync-framework-tutorial-part-1-introduction/ http://coolthingoftheday.blogspot.com/2008 /08/sync-101-samples-for-microsoft-sync.html http://www.developer.com/net/article.php/3813246/My-First-Microsoft-Sync-Framework-Application.htm –

4

Я бы использовал Красные ворота. http://www.red-gate.com/products/sql-development/sql-comparison-sdk/

Они отлично справляются с синхронизацией данных и схемы.

+0

Спасибо. Я собираюсь прочитать об этом. Потому что я хочу дать возможную цену нашей компании. Есть ли какой-нибудь Opensouce SDK? – Thabo

+0

@Thabo - Нет, но у Red Gate очень разумная цена. Особенно, когда вы рассматриваете стоимость решения синхронизации MS для своего корпоративного продукта. Но если у вас есть Enterprise SQL, используйте свое решение - оно должно работать и стоить только в 10 раз. – Hogan

+0

mmmm Это правда ... Я только что скачал этот пробный sdk.Я пытаюсь изучить этот sdk и разработать образец решения. Это поможет скомпрометировать мою компанию!: D – Thabo

2

Я предлагаю смотреть на Sql RedGate Сравнивать и Sql Сравнение данных http://www.red-gate.com/products/

Не тратить время/деньги изобретать колесо :)

+0

@ Хоган, чтобы быть справедливым, он отправил через минуту после вас, может быть, вы думаете, что многие люди используют красные ворота, поэтому это может быть просто хронометраж (в то время как вы разместили его, он был готов нажать «Отправить»). – JonH

+0

@JonH - Хммм, может быть, я сердитый. – Hogan

+0

@ Хоган - не сердитый :) Как только я отправил свой ответ, я увидел твое, а затем поддержал его. Мы все друзья здесь ... не так ли?) – brodie

4

репликации SQL Server может сделать это для вас. Он использует подход публикации-подписки. Я думаю, вы можете искать репликацию «merge».

Этот one-page article предоставит вам несколько бликов.

И this расскажет вам все подробности.

Редактировать: Увидев, что вас интересует цена, репликация во всех версиях SQL Server, но ее функциональность очень ограничена в нижних версиях. Однако, если у вас версия более высокого уровня, она уже включена.

+0

Спасибо, я проверю их ...... – Thabo

+0

Нет, я ищу несколько кинов SDK, чтобы изучить новые технологии. Но думаю, что большинство компаний всегда относятся к технологиям с ценой. – Thabo

Смежные вопросы