La mia azienda sta spostando la nostra infrastruttura in un nuovo data center e sto cercando di capire il modo migliore per mantenere il database sul nuovo server sincronizzato con il database di produzione corrente fino a quando i nuovi ambienti non saranno pronti per essere pubblicati. Non essendo un DBA a tempo pieno, ho fatto qualche ricerca e da quello che ho letto, sembra che una configurazione di replica transnazionale soddisfi al meglio le nostre esigenze.
Alcuni dettagli: il DB di produzione ha una dimensione di circa 90 GB e usando Robocopy ci sono volute circa 9 ore per spostarne una copia su uno dei nuovi server. L'attuale database di produzione dovrà rimanere online e accessibile durante l'intero processo di migrazione. È in semplice recupero, quindi il mirroring del database non è disponibile.
Una replica transazionale è il metodo migliore per mantenere sincronizzati i database?
Il mio piano:
- (Fine) Trasferire il database corrente e accedere al nuovo server e collegarlo alla nuova istanza di SQL Server
- Installa un distributore sul nostro computer del database di sviluppo e pubblicalo dal database di produzione
- Creare un abbonato sul nuovo computer di database che accetti gli aggiornamenti che vengono inviati dal distributore, una volta ogni notte
Ci sono due cose per la testa. La replica transazionale richiede che ogni tabella pubblicata abbia una chiave primaria e che molte tabelle nel database di produzione non abbiano chiavi primarie definite. Non penso che questo sarà un grosso problema poiché la mia preoccupazione principale è solo quella di sincronizzare i database. Testeremo le diverse applicazioni che utilizzano il database in un secondo momento, ma vorrei assicurarmi che non si tratti di un problema serio. In secondo luogo, devo spostare anche i DB di sistema associati dall'istanza originale, come master? Stiamo passando a una configurazione di Active Directory nel nuovo ambiente, quindi non mi interessano gli utenti e simili, ma non sono sicuro della necessità dei DB di sistema.
E proprio in generale, sto afferrando questi concetti correttamente?