Database Mirroring este o solutie software pentru cresterea disponibilitatii unei baze de date. Este o solutie alternativa sau complementara pentru Failover Clustering sau Log Shipping. Comparativ cu Failover Clustering este mai usor de administrat si nu necesita hardware aditional. Database Mirroring consta in folosirea a doua copii identice pentru o baza de date (aflate in general pe servere diferite). O singura baza de date (denumita baza primara) este disponibila pentru aplicatiile client. Cealalta (baza mirror) devine disponibila in cazul in care baza primara devine indisponibila. Pentru mentinerea unei copii identice modificarile bazei primare sunt duplicate pe copia acesteia (baza de date mirror) folosind modificarile transaction log (jurnal de tranzactii). Diferenta intre Database Mirroring si Log Shipping este folosirea tehnologiei copy-on-write (copiaza la scriere), modificarile fiind trimise (sincron sau asincron) catre baza de date mirror in momentul scrierii in transaction log-ul bazei primare. Pentru a folosi Database Mirroring pentru o baza de date, aceasta trebuie sa fie configurata folosind full recovery model (model de recuperare complet). Serverele implicate in Database Mirroring pot avea trei roluri:
-
Server Principal – este serverul care detine baza de date principala, la care se vor conecta aplicatiile client.
-
Server Mirror – detine copia datelor (baza de date mirror) si poate prelua rolul de server principal.
-
Server Witness (martor) – este un server optional folosit ca arbitru pentru a decide repartizarea rolurilor pentru serverul principal si serverul mirror. Daca serverul principal devine indisponibil, serverul mirror poate prelua automat rolul principal, iar fostul server principal va deveni server mirror in momentul in care devine disponibil.
Observatie:
Datorita testarii insuficiente (in perioada beta a SQL Server 2005) in mediul de productie, solutia Database Mirroring era disponibila in versiunea release a SQL Server 2005 doar pentru testare.
Pentru activarea Database Mirroring se folosesea trace flag-ul 1400 ca parametru de startup (pornire).
SP1 pentru SQL Server 2005 repara aceasta problema, Database Mirroring fiind una din facilitatile incluse in acest service pack.
Cristian Andrei Lefter, SQL Server MVP
MCT, MCSA, MCDBA, MCAD, MCSD .NET,
MCTS, MCITP - Database Administrator SQL Server 2005
http://sqlserver.ro