none
Replica Bidirezionale SQL Server 2008 R2 RRS feed

  • Domanda

  • Salve,

    per la prima volta mi trovo ad affrontare la configurazione di una replica Bidirezionale di un DB SQL Server 2008 R2.

    Configurazione Attuale:

    • 2 sedi Geograficamente diverse
    • i server di ogni sede sono connessi tra loro via VPN, entrambi i server sono visibili dalle reti Client delle singole sedi
    • Attualmente SQL Server 2008 R2 Express, non ci sono problemi ad aggiornare a versioni STD o superiori

    Dove vogliono arrivare:

    • Ogni sede deve lavorare sul proprio DB SQL (nel server della propria sede) e replicarsi in modalità Merge con l'altro, quindi i dati della sede 1 si fondono con i dati della sede 2 e viceversa

    di cosa ho bisogno?

    1. non l'ho mai fatto, quindi qualche consiglio
    2. siccome DOVRO' STUDIARE, dove recuperare documentazione per la configurazione? possibilmente la procedura più semplice, affidabile e sicura da attivare, possibilmente senza o comunque minimo utilizzo Stored Procedure (non molto pratico)

    poi mi sorgono dei dubbi e vi chiedo un'opinione:

    1. ma il Lock dei Record come viene gestito? chi impedisce la modifica simultanea dello stesso record nelle 2 sedi?
    2. può funzionare?

    Grazie fin da ora per qualsivoglia consiglio mi vogliate dare!

    • Modificato Anca Popa martedì 13 novembre 2012 08:43 typo error
    venerdì 9 novembre 2012 16:29

Risposte

  • Ciao Luciano,

    Direi che ci sono alcune limitazioni relative alla tua configurazione. 

    Innanzitutto SQL Express non può funzionare da Publisher in una topologia di replica, quindi è necessario avere almeno una Standard. Questo significa che il database che avrà il ruolo di Publisher deve essere almeno nell’edizione Standard, mentre il secondo database (con il ruolo di Subscriber) può essere una Express.

    Per maggior informazioni sui ruoli (Publisher, Distributor, Subscriber) e il funzionamento della replica:

    SQL Server Replication

    Merge Replication Overview 

    In secondo luogo, essendo sedi geograficamente distanti, potrebbe esserci una certa latenza nella sincronizzazione. Potrebbe essere necessario un certo tempo, non valutabile a priori, perchè i due database siano sincronizzati. Per valutare questo aspetto l’unico modo è effettuare dei test con il carico effettivo delle applicazioni per verificare se ci sia spazio per ottimizzazioni, o quantomeno per ottenere una baseline e valutare le prestazioni. 

    L’implementazione della replica è una procedura semplice, il suo disegno un po’ meno. SQL Server Management Studio contiene dei wizard per configurare la replica, ma le impostazioni dipendono fortemente dall’ambiente. In alcuni casi non si può fare a meno di ricorrere agli script per definire i parametri ad hoc. Un buon punto di partenza è:

    Designing and Implementing (Replication) 

    Ho principalmente questi consigli:

    1. Studiare la documentazione e capire il funzionamento e le varie componenti in gioco. In dettaglio soprattutto la configurazione e le varie opzioni e limitazioni che si potrebbero incontrare...
    2. Mettere in piedi un ambiente di test, se possibile, che sia il più simile all’ambiente definitivo per effettuare tutte le prove di attivazione, gestione, ... . Visto che è una cosa che non hai mai fatto, è sicuramente necessario testare le operazioni per capire tutti gli elementi descritti nella documentazione.
    3. I wizard per la creazione della replica permettono di salvare gli script di generazione. Per rendere la procedura più pratica, soprattutto nella fase di test, conviene salvare questi script per poter ricreare la replica in maniera rapida nel caso ce ne sia bisogno.

    Riguardo i dubbi poi:

    1. Non c’è una gestione del lock record. Non è impedita la modifica dello stesso record alle due estremità (è proprio il senso della replica Merge). Il sistema tiene traccia dei cambiamenti e le due modifiche vengono fuse. Nel caso in cui la modifica su entrambi i server riguardi lo stesso dato in modo incompatibile (viene modificato lo stesso campo) si ha quello che si chiama un conflitto, per il quale la replica Merge ha diversi metodi di individuazione e gestione, compresa la risoluzione interattiva che lascia all’utente decidere quale sia il cambiamento che deve vincere.

      How Merge Replication Works

    2. Può funzionare? - Fondamentalmente sì, ma gli aspetti in gioco sono molti, soprattutto la questione della distanza dei due sistemi ha un impatto notevole (in verità l’importante è la connessione tra i due). Non c’è modo di valutare a priori tutte le condizioni.

    Saluti,


    Anca Popa Follow ForumTechNetIt on Twitter

    Microsoft offre questo servizio gratuitamente, per aiutare gli utenti e aumentare il database dei prodotti e delle tecnologie. Il contenuto viene fornito “così come è” e non comporta alcuna responsabilità da parte dell'azienda. 

    • Contrassegnato come risposta Irina Turcu martedì 20 novembre 2012 12:46
    martedì 13 novembre 2012 10:47