Domanda

Supponiamo che tu abbia 2 server di database, un database è il database "master" in cui vengono eseguite tutte le operazioni di scrittura, viene trattato come il database "reale/originale".Il database dell'altro server deve essere una copia mirror del database master (slave?), che verrà utilizzato per operazioni di sola lettura per una determinata parte dell'applicazione.

Come si fa a configurare un database slave che rispecchi i dati sul database master?Da quanto ho capito, il database slave/di sola lettura deve utilizzare il file di registro delle transazioni del database principale per eseguire il mirroring dei dati, corretto?
Quali opzioni ho in termini di frequenza con cui il db slave esegue il mirroring dei dati?(in tempo reale/ogni x minuti?).

È stato utile?

Soluzione

Ciò che desideri si chiama replica transazionale in SQL Server 2005.Replicherà le modifiche quasi in tempo reale mentre l'editore (ad es.Il database "master") viene aggiornato.

Ecco una guida abbastanza dettagliata su come configurarlo.

Altri suggerimenti

SQL Server 2008 dispone di tre diverse modalità di replica.

  • Transazionale per la replica di sola lettura unidirezionale
  • Unisci per la replica bidirezionale
  • Istantanea

Da quanto ho capito, il database slave/di sola lettura deve utilizzare il file di registro delle transazioni del database principale per eseguire il mirroring dei dati, corretto?Quali opzioni ho in termini di frequenza con cui il db slave esegue il mirroring dei dati?(in tempo reale/ogni x minuti?).

Sembra che tu stia parlando di spedizione dei log anziché di replica.Per quello che hai intenzione di fare, però, sarei d'accordo Jeremy McCollum e dire di eseguire la replica transazionale.Se si intende eseguire il log shipping quando il database viene ripristinato ogni x minuti, il database non sarà disponibile.

Ecco una buona panoramica della differenza tra i due.Purtroppo però devi registrarti per un account per leggerlo.=/ http://www.sqlservercentral.com/articles/Replication/logshippingvsreplication/1399/

La risposta varierà a seconda del server di database che stai utilizzando per farlo.

Modificare:Scusa, forse devo imparare a guardare i tag e non solo la domanda: vedo che hai taggato questo come sqlserver.

La replica transazionale è in tempo reale.

Se non hai aggiornamenti da fare sul tuo database, ciò di cui hai bisogno è semplicemente il recupero dei dati, diciamo una volta al giorno:quindi utilizzare la replica snapshot anziché la replica transazionale.Nella replica degli snapshot, le modifiche verranno replicate quando e come definito dall'utente, ad esempio una volta ogni 24 ore.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top