Replica della banca dati.2 server, database master e il 2° è di sola lettura
-
08-06-2019 - |
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?).
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.
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.