Come eseguire la manutenzione del database in un sistema 24×7?

Sono uno sviluppatore di software che ha ereditato un ruolo DBA part-time. Sono responsabile di un back-end di applicazioni da parte di un piccolo database ad alto volume 24×7 su SQL Server 2008.

Mentre ci sono altre cose nel DB, il pezzo critico è una tabella di righe da 50GB e 7.5M che serve 100K richieste / sec durante il carico di punta e circa la metà di quella "notte". Questo è il 99% + leggere il traffico, ma le scritture sono costanti e richieste.

Devo essere in grado di eseguire manutenzione periodica senza una window di manutenzione. Dite una ricostruzione dell'indice, un process per eliminare i vecchi dati, Windows Update o l'aggiornamento hardware. La maggior parte dei consigli che ho visto è lungo le linee di "FARE una window di manutenzione". Mentre apprezzo il sentimento, spero che ci sia un altro modo. Se risolverà questo problema, ho la possibilità di acquistare nuovi hardware o modificare il database, i client (un set di server di servizi web) e gran parte del codice applicativo (ADO.NET + ASP.NET).

Ho pensato lungo la linea di utilizzare il caldo (o un terzo server) per effettuare la manutenzione e poi "swap" in produzione.
1 Sincronizzare il ricambio ripristinando i backup, incluso un registro delle transactions correnti.
2 Eseguire le operazioni di manutenzione. 3 Riconfigurare i client per connettersi al server di riserva. Le connessioni esistenti sono terminate entro un minuto. 4 Il server di riserva è ora il server di produzione.

Il problema rimasto è che il nuovo server di produzione è ormai obsoleto per lungo tempo per eseguire la manutenzione. C'è un modo per fare in modo che il server di produzione originale possa fare la coda delle modifiche e unirle alla riserva tra i punti 2 e 3? Qualche altra idea?

3 Solutions collect form web for “Come eseguire la manutenzione del database in un sistema 24×7?”

Dovresti leggere le funzionalità di disponibilità elevate offerte da SQL 2008. Vedi qui per il white paper. Ci sono troppi scenari da coprire.

[salire sulla scatola di soap]

Però avete bisogno di windows di manutenzione però. Ciò non implica settimanalmente o addirittura mensilmente, ma ci saranno momentjs in cui è necessario distriggersre il server per migliorare. Ci sono pochissimi sisthemes che sono 100% operabili su lunghi periodi (anni) o che devono essere. Lo scopo delle windows di manutenzione è ridurre al minimo i tempi di inattività e renderlo prevedibile, in modo che l'azienda possa far fronte. Vorrei consigliare di evitare il completo smaltimento delle windows di manutenzione. Se si modifica la configuration passando al clustering o simili, si avrà certamente un certo tempo di inattività solo durante la transizione, per quanto piccolo. [arrampicandosi verso il basso]

Alcune opzioni:

  1. Mirroring
  2. Clustering
  3. Spedizione del giornale
  4. Operazioni di indice on-line
  5. archiviazione utilizzando operazioni di indice on-line e tabelle partizionate
  6. Peer to Peer replica

I miei 2 centesimi.

Mi sarebbe in secondo luogo il mirroring e indicare se hai REALMENTE bisogno 24/7 l'azienda dovrebbe aumentare il loro budget per includere un DBA o consulente per aiutare con questo.

Speculare molte volte può risolvere i biseach 24/7 "abbastanza buoni" con poco costo oltre un secondo server.

Poiché tale database è una parte vitale dell'infrastruttura, comunque, si consiglia una riserva calda. E questo vi permetterà di effettuare anche la manutenzione.

Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.