2012-01-30 28 views
5

1) Estoy teniendo una aplicación de escritorio (máquina A) usando C# y SQL Server. Tengo otra máquina local (máquina B) también tiene su propia instancia de servidor SQL. Quiero sincronizar la base de datos de A con B'database. Este proceso debería ocurrir en un intervalo de tiempo.¿Existe una tecnología .NET para sincronizar bases de datos locales y remotas del servidor SQL?

2) También tengo una aplicación web ASP.NET ejecutándose en el servidor web (máquina C). También quiero sincronizar la base de datos de A con la base de datos de C. (SQL Server también.)

Tengo que desarrollar una solución para este problema. El problema es que no estoy seguro de qué tecnología voy a usar. Tengo que usar una tecnología .NET o una tecnología similar de Microsoft. Nuestra aplicación principal fue escrita en C#.

+0

Define "Sincronizar". Schemas? ¿Datos? ¿Ambos? ¿Sincronización completa? ¿Parcial? – Oded

+0

Al sincronizar, ¿te refieres a Esquema o Datos o Ambos? – Akhil

+0

[Servicios de sincronización] (http://msdn.microsoft.com/en-us/library/bb726002.aspx) tal vez? – millimoose

Respuesta

3

Hay al menos dos herramientas de MS que puede usar: SQL-replication o Sync Framework.

Depende de qué tan profundo y complejo sea su problema. Me gusta: ¿quieres una herramienta ajustada o todo tipo de sincronización en todo momento? Además, otra diferencia entre los dos es cómo desea lidiar con los "conflictos de concurrencia fuera de línea". Si en sus servidores A, B, C en su ejemplo, alguien modifica un registro en el servidor A, mientras que B tiene una copia de la versión anterior, la modifica y la publica, ¿cuál debería ganar, en su escenario? Quizás el último, tal vez el primero, tal vez nadie en absoluto?

SQL-Replication está fuera de la caja en SQL Server (aunque no la versión expresa). MS-Sync Framework es paralelo al .NET framework pero aún gratuito.

+0

Si tiene la razón. Hay muchos conflictos en ese senario. Creo que MS-Sync Framework es posible. Voy a explorar este SDK también. ¿Hay algún tutorial en lugar de MSDN? – Thabo

+0

+! sync framework está tagretando exactamente este escenario –

+1

La única fuente de información que utilicé fue MSDN ... Lleva algo de tiempo desplazar todo pero está bastante bien hecho. Solo busqué y encontré muchos otros recursos, aunque: 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

Usaría Red Gate. http://www.red-gate.com/products/sql-development/sql-comparison-sdk/

Hacen un gran trabajo con sincronización de datos y esquema.

+0

Gracias. Voy a leer sobre esto. Porque quiero dar un posible precio a nuestra compañía. ¿Hay algún SDK de Opensouce? – Thabo

+0

@Thabo - No existe, pero Red Gate tiene precios muy razonables. Especialmente cuando considera el costo de la solución de sincronización MS para su producto empresarial. Pero si tiene el Enterprise SQL usa su solución, debería funcionar y solo cuesta 10 veces más. – Hogan

+0

mmmm Eso es cierto ... Acabo de descargar ese sdk de prueba.Estoy intentando explorar ese SDK y desarrollar una solución de muestra. ¡Esto ayudará a comprometer mi empresa!: D – Thabo

2

Sugiero mirar SQL de Redgate Compare y SQL Data Compare http://www.red-gate.com/products/

no pierda el tiempo/dinero reinventar la rueda :)

+0

@Hogan para ser justo publicó un minuto después de ti, tal vez pienses igual, mucha gente usa la puerta roja, por lo que podría haber sido solo un momento (mientras publicabas estaba listo para hacer clic en enviar). – JonH

+0

@JonH - hmmm, tal vez estoy siendo gruñón. – Hogan

+0

@Hogan - no seas gruñón :) Tan pronto como publique mi respuesta, vi la tuya y luego la voté. Todos somos amigos aquí ... ¿no?) – brodie

4

duplicación de SQL Server puede hacer esto para usted. Utiliza un enfoque de publicación y suscripción. Creo que puede estar buscando la replicación de "fusión".

Este one-page article le dará algunos puntos destacados.

y this le dirá todos los detalles.

Editar: Al ver que le interesa el precio, la replicación se encuentra en todas las versiones de SQL Server, pero su funcionalidad es muy limitada en las versiones de gama baja. Sin embargo, si tiene una versión de gama alta, ya está incluida.

+0

Gracias voy a comprobar en los ...... – Thabo

+0

No, estoy buscando un poco de SDK para aprender nuevas tecnologías. Pero la mayoría de las empresas piensan siempre en las tecnologías con precios. – Thabo

Cuestiones relacionadas