SQL Server 2012 AlwaysOn Availability Groups

In questi giorni sto preparando una sessione deep dive su AlwaysOn Availability Groups e AlwaysOn Failover Cluster per dei colleghi del supporto tecnico in EMEA. Ho pensato di catturare qualche schermata di un ambiente demo che sto preparando e di pubblicarla. In questo post parleremo di Availability Groups.

Gli Availability Groups (userò AG per brevità) consentono, un po’ come il Database Mirroring, di creare delle repliche di database utente tra diverse istanze di SQL Server. Ci sono però alcune differenze importanti, alcune delle quali sono :

  • Supporto per più di due database. Non più un principal e un mirror ma un primario e fino a 4 secondari (di cui al massimo due in failover automatico).
  • Utilizza Windows Server Failover Cluster per la parte network e per il quorum, quindi il Witness non è più necessario per gestire il failover automatico.
  • La possibilità di leggere dati dalle repliche secondarie
  • La possibilità di fare backup dalle repliche secondarie
  • Multi-site failover
  • Raggruppamento di più database utente all’interno di una unità di failover

L’ambiente di test è configurato con 6 server (1 domain controller e 5 Sql Server 2012 RC0). Sulle 5 macchine SQL Server ho abilitato la feature di failover cluster e ho creato un cluster con 5 nodi (figura 1 e 2)

image

Figura 1

image

Figura 2

Per poter creare un AG è necessario abilitare prima la funzionalità da SQL Server Configuration Manager (è necessario riavviare il servizio SQL Server) come mostrato in figura 3. E’ possibile anche usare powershell per abilitare AlwaysOn usando il comando Enable-SqlAlwaysOn.

image

Figura 3

Prossimo passo è quello di lanciare il wizard di configurazione di un AG, cosa che faccio collegandomi ad un’istanza da SSMS (figura 4) .

E’ necessario scegliere un nome per l’AG (Figura 5) . Ricordo che è possibile creare più di AG all’interno di un cluster.

 

image

Figura 4

image

Figura 5

Scelgo i DB da includere nell’AG. FULL RECOVERY MODEL e almeno un FULL BACKUP sono richiesti per poter abilitare un database alla replica (Figura 6).

image

Figura 6

La Figura 7 rappresenta il cuore del wizard,, dove posso configurare le istanze che contengono le repliche dei database.

Solo un’stanza può avere il ruolo di Primary. Le repliche possono essere sincrone (necessarie per il failover automatico) e asincrone, possono abilitare una replica per la lettura da parte dei client, possono specificare le preferenze di backup (per esempio scegliere di fare un backup dal secondario). Inoltre è possibile creare un listener per i client da usare come connection point per i client.

image

Figura 7

image

Figura 8

Una volta terminato il setup possiamo tornare su SSMS per vedere la lista dei DB che fanno parte dell’AG appena creato e la lista delle istanze di replica

image

Figura 9

E’ anche disponibile una dashboard (Figura 10) dalla quale posso verificare lo stato di salute del mio AG, oltre che eseguire un failover wizard per scegliere una nuova istanza primaria.

image

APPROFONDIMENTI :

https://msdn.microsoft.com/en-us/library/hh270278(v=sql.110).aspx

https://msdn.microsoft.com/en-us/library/cc645581(v=sql.110).aspx

https://support.microsoft.com/kb/2494036/en-us

 

Francesco