SQL Server 2012 - AlwaysOn Availability Group

Dieses neue Feature des SQL Servers 2012 vereint die Vorteile der bekannten Hochverfügbarkeits- und Disaster Recovery Methoden. Die bekannten Methoden sind Failover Clustering, Database Mirroring (Datenbankspiegelung) und Log Shipping. Mit AlwaysOn Availability Group können bis zu fünf Server miteinander verbunden werden. Einer dieser fünf Server ist der primäre Server und zu diesem können bis zu vier weitere sekundäre Server angeschlossen werden. Von diesen vier sekundären Server können maximal zwei Server synchron betrieben werden, der Rest asynchron. Es können jedoch auch alle asynchron betrieben werden, je nach Art der Anbindung. Voraussetzung für dieses Szenario sind Windows Server 2008 bzw. Windows Server 2008 R2 mit installierten Windows Server Failover Cluster (WSFC). Diese benötigen einen entsprechenden Cluster Networknamen und eine IP-Adresse, jedoch kein gemeinsame Festplatten (Shared Storage). Der SQL Server 2012 muß installiert sein, wobei schon eine StandAlone Installation genügt. Es ist kein SQL Server Failover Cluster notwendig. Bei den entsprechenden Instanzen des SQL Server kann es sich um default Instanzen wie auch um benannte Instanzen handeln, wobei die Instanznamen nicht gleich heißen müssen. Wichtig ist nur das alle Bestandteil des gleichen Windows Server Failover Clusters sind und zur Konfiguration der entsprechenden TCP Endpunkte wird ein entsprechender Domain Service Account benötigt. Sind diese Voraussetzungen und Einrichtungen soweit gegeben, kann im SQL Konfigurations Manager auf dem neuen Reiter „Hohe Verfügbarkeit mit AlwaysOn“ eingeschaltet werden. AlwaysOn1 Bitte nicht täuschen lassen, diese Option muß immer erst aktiviert werden, auch wenn bereits der Knoten unter Datenbank exitiert. AlwaysOn2 Spätestens beim Aufklappen des Knoten erhält man sonst folgende treffende Fehlermeldung: AlwaysOn3 Eine weitere Restriktion für die Availibility Group ist, das der Name im WSFC Cluster einmalig ist. Die Anzahl der Availibility Groups ist unbegrenzt, jedoch wird eine Empfehlung von maximal zehn Availibility Groups gegeben. Auch die Anzahl der Datenbanken in einer Availibility Group ist unbegrenzt, wobei die Empfehlung bei maximal 100 Datenbank liegt. Beide Empfehlungen sind sicherlich etwas tief gestapelt, so das man hier wesentlich höher ran gehen könnte. Weitere Einschränkungen sind das nur User Datenbanken in eine Availibility Group aufgenommen werden können und keine System Datenbanken. Des weiteren müssen diese im Zustand Read-write sein. Read-only Datenbanken können nicht zu einer Availibility Group hinzugefügt werden. Dies gilt auch für Datenbanken im Single User Mode bzw. für Datenbanken mit der Option AUTO_CLOSE auf ON. Auch muß in den betreffenden Datenbanken das Wiederherstellungsmodel auf Vollständig stehen. Jede Datenbank kann auch nur einer Availibility Group zugeordnet werden, vorausgesetzt diese ist nicht bereits für Datenbankspiegelung konfiguriert. Ist dies soweit alles gegeben, kann mit der Einrichtung der Availibility Group über den Wizard bekonnen werden. Im Wizard wird jetzt der entsprechende Name der Availibility Group festgelegt und im Anschluß daran die Datenbanken die dieser Gruppe zugeordnet werden. Im weiteren Schritt werden die entsprechenden Replicas definiert. Einer als Primary und die weiteren als Secondary. Ebenso erfolgt die Einstellung für ein automatischen Failover sowie ob es sich um eine synchrone bzw. asynchone Verbindung handelt. Als letztes kann in diesem Schritt noch eingestellt werden, ob die Datenbanken für Read-Only Zugriffe verfügbar sind. Im Reiter Endpoints werden die entsprechenden TCP Endpunkte konfiguriert und im Reiter Backup die Möglichkeit ob von der entsprechenden Datenbank ein Backup gezogen werden kann. Im letzten Reiter Listener wird nun noch der virtuelle Netzwerkname sowie der entsprechende Port festgelegt. Im darauffolgenden Schritt des Wizards wird der entsprechende Netzwerkpfad für die Sicherung festgelegt. Auf diesen Netzwerkpfad sollten alle Server Zugriff haben. Dort wird das Backup der Datenbanken der Availibility Group abgelegt sowie die entsprechenden LOG-Files um die Datenbanken auf den anderen Servern wieder herstellen zu können. Daran anschließend führt der Wizard einen Check aus, um festzustellen ob die Konfiguration soweit korrekt ist, woran anschl. das Ergebnis des Checks angezeigt wobei man auch die Möglichkeit hat die nachfolgenden automatischen Schritte zur Inbetriebnahme der Availibility Group sich als Script ausgeben zu lassen. Mit einem Klick auf FERTIG wird die automatische Erstellung der Availibility Group abgeschlossen. Es wird jetzt die entsprechende Gruppe angelegt, die Endpunkte definiert sowie Backups der Datenbanken gezogen und auf den anderen Servern wieder hergestellt. Ein wichtiger Hinweis hierfür ist, die Backup Komprimierung vorher einzuschalten, da dies nicht automatisch gemacht wird und die Wartezeit doch erheblich verkürzt. Über das entsprechende Dashboard kann nun die konkrete Einrichtung kontrolliert werden. Dies ist nur eine kurze Beschreibung des neuen Features und erhebt keinen Anspruch auf Vollständigkeit. Sicherlich kann man mit einer ausführlichen Beschreibung ein ganzes Buch fühlen, doch als kurze Abhandlung soll dies wohl genügen.