SQL Server AlwaysOn Availability Groups è una tecnologia che è stata inizialmente rilasciata da Microsoft con SQL Server 2012.

Il concetto principale, è che avete i vostri dati disponibili in più di un sito allo stesso tempo. A tal fine, si hanno gruppi di database che hanno repliche primarie e repliche secondarie. Queste repliche sono ospitate su server diversi e possono essere sincronizzate in due modalità:

  • Modalità di disponibilità asincrona-commit
  • Modalità di disponibilità sincrona-commit

Gruppi di disponibilità modalità asincrona-commit

Con la modalità asincrona-commit, la replica secondaria non è mai completamente sincronizzata con quella primaria. La ragione di questo, è che a causa della natura asincrona del commit, qualsiasi database secondario potrebbe rimanere indietro in qualsiasi momento. Questo significa che se stai usando la modalità di commit asincrono ed esegui un failover forzato (questa è l’unica forma di failover che puoi eseguire), allora è altamente possibile avere una perdita di dati.

Modalità di commit sincrono dei gruppi di disponibilità

Con la modalità di commit sincrono, dopo essere stato unito a un gruppo di disponibilità, un database secondario raggiunge il database corrispondente ed entra nello stato “Synchronized”. Il prerequisito per questo, naturalmente, è che la sincronizzazione dei dati (e quindi il movimento dei dati) continui e non venga interrotta per nessun motivo (ad esempio problemi di rete, problemi di spazio su disco, ecc.) Se la sincronizzazione dei dati continua e viene usata la modalità synchronous-commit, allora ogni transazione che viene impegnata su un dato database primario è stata impegnata anche sul database secondario.

Esempio di un’architettura Always On Availability Groups di SQL Server

Il diagramma seguente illustra una configurazione di una replica a 2 nodi con Always On Availability Groups di SQL Server.

Cosa sono gli Always On Availability Groups di SQL Server? - Articolo su SQLNetHub
Sei un DBA di SQL Server? Impara di più su SQL Server attraverso il nostro corso “Essential SQL Server Administration Tips”.

Discutiamo ulteriormente i concetti illustrati nel diagramma architettonico sopra.

Discussione e raccomandazioni

Una cosa che è molto importante da notare, è che, sulla base dell’architettura dei Gruppi di Disponibilità, ogni replica, ha il proprio storage dedicato, questo dopo tutto, il modo per avere i vostri dati disponibili su più siti. Questo si basa sul principio della ridondanza.

Ho un geo-cluster con 2 nodi su 2 siti diversi, Sito A e Sito B. Su ogni sito, ho una replica del mio SQL Server Availability Groups. Nell’esempio di cui sopra, sul sito A, ho le mie repliche primarie, e sul sito B, le mie repliche secondarie. Come discusso prima, le mie repliche possono essere sincronizzate con il commit sincrono o asincrono.

Un’altra cosa importante da notare, è che se si vuole veramente raggiungere l’alta disponibilità, è necessario un terzo sito per il server come File Share Witness. Ecco perché nel mio diagramma di sopra, ho incluso un terzo sito, cioè il sito C, che fornisce una condivisione di file per essere usato come File Share Witness per il geo-cluster.

Come collegare la mia applicazione a un database in un SQL Server Availability Group?

Se sei nuovo ai gruppi di disponibilità di SQL Server potresti chiederti: “come farà la mia applicazione a connettersi al database? Beh, non preoccupatevi perché è molto semplice. Ogni Availability Group ha il suo listener (una coppia di nome di rete virtuale e IP virtuale) che è necessario impostare durante la creazione di un Availability Group. Nella configurazione della stringa di connessione per la vostra applicazione, dovrete inserire quel nome/IP dell’ascoltatore e il suo numero di porta affinché la vostra applicazione sia in grado di “vedere” il/i database nello specifico gruppo di disponibilità. Dopo di che, l’architettura di alta disponibilità sottostante sarà trasparente per la vostra applicazione.

Una nota importante, si consiglia di utilizzare gli Availability Groups per la vostra soluzione solo se la vostra soluzione/applicazione supporta questa architettura di alta disponibilità.

Cosa succede durante un Failover?

Un failover in un’architettura di SQL Server Availability Groups è diverso (e più veloce) di un failover in un tradizionale SQL Server Failover Cluster Instance (FCI). La differenza principale è che ogni volta che avviene un failover per un SQL Server Availability Group, l’unica cosa che cambia proprietario, è l’ascoltatore. Ciò significa che dopo il failover, l’ascoltatore del gruppo di disponibilità specifico punterà all’altra replica perché quella replica è appena diventata la nuova replica primaria e l’altra (che fino a quel momento era la primaria) è diventata la replica secondaria. Tutto questo, naturalmente, presuppone che entrambe le repliche siano sincronizzate.

Raccomandazioni conclusive

Come si può vedere dalla discussione e dall’esempio di cui sopra, tutto ciò rende SQL Server Always On una soluzione ad alta disponibilità molto potente che deve essere assolutamente considerata quando si progettano data center attivi-attivi.

Infine, notate che quello sopra era un esempio semplificato, per aiutarvi a capire le basi di SQL Server Availability Groups e come contribuiscono ad avere istanze di SQL Server altamente disponibili.

Con l’offerta di SQL Server Always On Availability Groups, potete costruire sofisticate soluzioni di database ad alta disponibilità con più di 2 siti e quindi avere un’infrastruttura veramente altamente disponibile.

Negli articoli successivi, discuteremo altri argomenti su SQL Server Always On Availability Groups, quindi rimanete sintonizzati!

Rafforza le tue abilità di amministrazione di SQL Server – Iscriviti al nostro corso online!

Se vuoi davvero imparare sofisticate tecniche di amministrazione di SQL Server, allora dovresti controllare il nostro corso online on-demand intitolato “Essential SQL Server Administration Tips” (sconto speciale a tempo limitato incluso nel link).

Via il corso, imparerai suggerimenti pratici essenziali sull’amministrazione di SQL Server su manutenzione, sicurezza, performance, integrazione, gestione degli errori e altro. Molte dimostrazioni dal vivo e risorse scaricabili incluse!

Consigli essenziali di amministrazione di SQL Server - Corso online con dimostrazioni dal vivo e guide pratiche
Consigli di amministrazione di SQL Server (accesso a vita – per saperne di più).

Iscriviti ora con lo sconto!

Corsi online in primo piano:

  • Aumentare le prestazioni del database SQL Server con In-Memory OLTP
  • Punti essenziali sull’amministrazione di SQL Server
  • Fondamenti di SQL Server – Database SQL per principianti
  • Punti essenziali sullo sviluppo di SQL Server per sviluppatori SQL
  • La filosofia e i fondamenti della programmazione informatica
  • .NET per principianti – Windows Forms con C#
  • Introduzione alla scienza dei dati e SQL Server Machine Learning
  • Introduzione ad Azure SQL Database per principianti
  • SQL Server 2019: Novità – Caratteristiche nuove e migliorate
  • Entity Framework: Come iniziare – Guida completa per i principianti
  • Come importare ed esportare i dati nei database SQL Server
  • Impara come installare e iniziare a usare SQL Server in 30 minuti
  • Una guida su come avviare e monetizzare un blog di successo

Articoli correlati all’amministrazione di SQL Server:

  • Consigli essenziali per l’amministrazione di SQL Sever
  • Come applicare una patch ad un’istanza standalone di SQL Server
  • Il servizio Browser di SQL Server e la porta UDP 1434
  • Il numero massimo di connessioni concorrenti in SQL Server
  • Top 10 SQL Server DBA Daily Tasks List
  • Non è disponibile un Failover Cluster SQL Server a cui aderire
  • Criptare un Backup del Database SQL Server
  • …altro

Votate questo articolo: 1 Stella2 Stelle3 Stelle4 Stelle5 Stelle (2 voti, media: 5.00 su 5)

Caricamento…

Riferimento: SQLNetHub.com (https://www.sqlnethub.com)

© SQLNetHub

Artemakis Artemiou è un Senior SQL Server Architect, Autore, 9 volte Microsoft Data Platform MVP (2009-2018) e Istruttore Udemy. Ha oltre 15 anni di esperienza nel settore IT in vari ruoli. Artemakis è il fondatore di SQLNetHub e TechHowTos.com. Artemakis è il creatore dei noti strumenti software Snippets Generator e DBA Security Advisor. Inoltre, è l’autore di molti eBooks su SQL Server. Artemakis è attualmente il presidente del Cyprus .NET User Group (CDNUG) e l’International .NET Association Country Leader per Cipro (INETA). Inoltre, Artemakis insegna su Udemy, puoi controllare i suoi corsi qui.

Views: 2,422

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *