2012-01-30 18 views
5

1) Sto avendo un'applicazione desktop (macchina A) usando C# e SQL Server. Ho un'altra macchina locale (macchina B) che ha anche una propria istanza del server SQL. Voglio sincronizzare il database di A con B'database. Questo processo dovrebbe avvenire in un intervallo di tempo.Esiste una tecnologia .NET per la sincronizzazione dei database del server SQL locale e remoto?

2) Ho anche un'applicazione Web ASP.NET in esecuzione su server Web (macchina C). Voglio anche sincronizzare il database di A con il database di C. (Anche SQL Server.)

Devo sviluppare una soluzione per questo problema. Il problema è che non sono abbastanza sicuro di quale tecnologia utilizzerò. Devo usare una tecnologia .NET o una tecnologia Microsoft simile. La nostra applicazione principale è stata scritta in C#.

+0

Definire "Sincronizza". Gli schemi? Dati? Entrambi? Sincronizzazione completa? Parziale? – Oded

+0

Sincronizzando, vuoi dire Schema o Dati o Entrambi? – Akhil

+0

[Servizi di sincronizzazione] (http://msdn.microsoft.com/en-us/library/bb726002.aspx) forse? – millimoose

risposta

3

Esistono almeno due strumenti MS che è possibile utilizzare: SQL-replication o Sync Framework.

Dipende da quanto è profondo e complesso il tuo problema. Ad esempio: vuoi uno strumento di precisione, o tutto, ogni volta un tipo di sincronizzazione? Inoltre, un'altra differenza tra i due è come si desidera gestire "conflitti di concorrenza offline". Se nei tuoi server A, B, C nel tuo esempio, qualcuno modifica un record nel server A, mentre B ha una copia della versione precedente, lo modifica e lo pubblica, quale dovrebbe vincere, nel tuo scenario? Forse l'ultimo, forse il primo, forse nessuno?

La replica SQL è pronta all'uso in SQL Server (tuttavia non è la versione Express). MS-Sync Framework è parallelo al framework .NET ma è ancora gratuito.

+0

hai ragione. Ci sono molti conflitti su quel senario. Penso che il framework MS-Sync sia possibile. Ho intenzione di esplorare anche questo sdk. C'è qualche tutorial piuttosto che MSDN? – Thabo

+0

+! sync framework è tagreting esattamente questo scenario –

+1

L'unica fonte di informazioni che ho usato era quella MSDN ... Ci vuole del tempo per scorrere tutto ma è piuttosto ben fatto. Ho appena cercato e trovato molte altre risorse, però: 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

Vorrei utilizzare Red Gate. http://www.red-gate.com/products/sql-development/sql-comparison-sdk/

Fanno un ottimo lavoro sia con i dati che con la sincronizzazione dello schema.

+0

Grazie. Vado a leggere su questo. Perché voglio dare un prezzo alla nostra azienda. C'è qualche SDK Opensouce? – Thabo

+0

@Thabo - Non c'è, ma Red Gate ha prezzi molto ragionevoli. Soprattutto se si considera il costo della soluzione di sincronizzazione MS per il proprio prodotto aziendale. Ma se l'Enterprise SQL usa la loro soluzione, dovrebbe funzionare e costare solo 10 volte tanto. – Hogan

+0

mmmm Questo è vero ... Ho appena scaricato quel sdk di prova.Sto cercando di esplorare questo sdk e sviluppare una soluzione campione. Contribuirà a compromettere la mia azienda! D – Thabo

2

vi suggerisco di guardare Sql di Redgate Confronta e SQL Data Compare http://www.red-gate.com/products/

non perdere tempo/denaro reinventare la ruota :)

+0

@Hogan per essere onesti, ha postato un minuto dopo di te, forse pensi allo stesso modo, un sacco di persone usano il cancello rosso, quindi potrebbe essere solo una cosa temporanea (mentre hai postato era pronto a fare clic su invia). – JonH

+0

@JonH - hmmm, forse sono scontroso. – Hogan

+0

@Hogan - non essere scontroso :) Appena ho postato la mia risposta ho visto il tuo e poi lo ho svalutato. Siamo tutti amici qui ... no?) – brodie

4

replica SQL Server può fare questo per voi. Utilizza un approccio di pubblicazione-sottoscrizione. Penso che tu stia cercando "unisci" la replica.

Questo one-page article vi darà alcuni punti salienti.

E this ti diranno tutti i dettagli.

Modifica: Visto che si è interessati ai prezzi, la replica è in tutte le versioni di SQL Server, ma la sua funzionalità è molto limitata nelle versioni di fascia bassa. Tuttavia, se si dispone di una versione di fascia più alta, è già inclusa.

+0

Grazie controllerò su quelli ...... – Thabo

+0

No, sto cercando qualche kine di SDK per imparare nuove tecnologie. Ma la maggior parte delle aziende pensa sempre alle tecnologie con i prezzi. – Thabo

Problemi correlati