Klassisches Failover vs. SQL AlwaysOn – Der DBA-Vergleich

HOCHVERFÜGBARKEIT FUER DBAS

Klassisches Failover-Clustering vs. SQL AlwaysOn

Failover Cluster Instances (FCI) vs. Availability Groups (AG) – ein detaillierter Vergleich der beiden zentralen Hochverfügbarkeitslösungen für SQL Server aus der Perspektive des Datenbankadministrators.

Zielgruppe: SQL-Administratoren, Datenbankarchitekten SQL Server 2016 – 2025

Gemeinsame Basis: Windows Server Failover Cluster (WSFC)

Das Fundament für beide Hochverfügbarkeitstechnologien

Beide Lösungen nutzen das WSFC-Quorum und die Failover-Mechanismen, unterscheiden sich jedoch fundamental in ihrer Architektur und ihrem Schutzumfang.

Wichtig für DBAs: Der WSFC ist ein Betriebssystem-Feature, kein SQL-Feature. Die Verwaltung des Clusters liegt in der Verantwortung des Systemadministrators.

Die zwei Welten im Vergleich

Zwei Architekturen, zwei Philosophien

Failover Cluster Instance (FCI)

Der "klassische" Ansatz: Eine SQL Server-Instanz wird als Cluster-Ressource bereitgestellt. Bei einem Failover wandert die gesamte Instanz (inkl. aller Datenbanken) auf einen anderen Knoten.

  • Schutzebene: Gesamte SQL-Instanz
  • Shared Storage erforderlich (SAN, SMB, CSV)
  • Nur eine Kopie der Daten
  • Edition: Standard (2 Nodes) oder Enterprise

Availability Group (AG)

Eine Gruppe von Datenbanken wird auf bis zu 8 separaten SQL-Instanzen (Replicas) gehalten. Failover erfolgt auf Datenbankebene.

  • Schutzebene: Datenbankgruppe (selektiv)
  • Kein Shared Storage erforderlich
  • Mehrere eigenständige Kopien
  • Edition: Enterprise (voll) oder Basic AG (Standard)

Vergleichstabelle: FCI vs. AG im Detail

MerkmalFailover Cluster Instance (FCI)Availability Group (AG)
SchutzebeneGesamte SQL-InstanzEinzelne Datenbanken
Shared StorageErforderlichNicht erforderlich
DatenredundanzNur eine DatenkopieMehrere eigenständige Kopien
Lesbare SecondariesNeinJa (für Reporting nutzbar)
Failover-ZeitLangsamer (30-60 Sek. + Crash Recovery)Schneller (Log-Replay)
Automatische ObjektsynchronisationJa (Logins, Jobs, Linked Server)Nein (nur Datenbanken)
LizenzierungStandard: 2 Nodes lizenziertEnterprise auf ALLEN Replicas

Vor- und Nachteile aus DBA-Sicht

Failover Cluster Instance (FCI)

Pro: Einfache Administration – gesamte Instanz migriert, keine manuelle Synchronisation von Logins/Jobs, DTC voll unterstützt, Standard Edition ausreichend, weniger Netzwerklast.
Contra: Shared Storage Single Point of Failure, keine lesbaren Secondaries, langsameres Failover, keine selektive DB-Sicherung pro Node, Downtime bei Storage-Wartung.

Availability Group (AG)

Pro: Lesbare Secondaries, kein Shared Storage, synchroner Commit (Zero Data Loss), selektiver Schutz, schnelleres Failover, native Multi-Site-Unterstützung.
Contra: Hohe Lizenzkosten (Enterprise auf allen Replicas), keine automatische Synchronisation von Logins/Jobs/Linked Servern, DTC eingeschränkt, höhere Komplexität, Netzwerklast durch Log-Replikation.

Entscheidungshilfe: Wann nehme ich was?

FCI bevorzugen, wenn...

  • Budget begrenzt (Standard Edition)
  • DTC intensiv genutzt wird
  • Keine lesbaren Secondaries benötigt werden
  • Shared Storage verfügbar ist
  • Einfachere Administration gewünscht ist

AG bevorzugen, wenn...

  • Reporting auf Secondaries ausgelagert werden soll
  • Zero Data Loss gefordert ist
  • Kein Shared Storage vorhanden/gewünscht
  • Multi-Site/Cloud-Replikation geplant ist
  • Enterprise-Budget für Lizenzen vorhanden ist

Praxis-Tipp: Migration von Logins, Jobs und Linked Servern bei AGs mit mssSQLTool

Automatisierung statt manueller Arbeit – das PowerShell-Toolset von dtcSoftware

Da AGs Logins, Jobs und Linked Server nicht automatisch synchronisieren, müssen diese Objekte auf jedem Replica manuell gepflegt werden. Das Tool der Wahl für DBAs ist das PowerShell-Modul mssSQLTool von dtcSoftware, das Sie auf der Website dtc-sql.de finden. Es bietet über 74 Funktionen für die tägliche SQL-Administration, darunter spezialisierte Cmdlets für AlwaysOn-Umgebungen.

# mssSQLTool installieren (vorausgesetzt: dbatools ist vorhanden) 
# Download und Installation über die Website dtc-sql.de 
 
# Logins, Jobs, Linked Server und Operatoren synchronisieren (Primary-Erkennung automatisch) 
Sync-mssAgNode -SqlInstance "SQL01" 
 
# Nur Logins synchronisieren, Jobs ausschließen 
Sync-mssAgNode -SqlInstance "SQL01" -ExcludeType Jobs,LinkedServers,Operators,Alerts 
 
# Nur eine bestimmte Availability Group synchronisieren 
Sync-mssAgNode -SqlInstance "SQL01" -AvailabilityGroup "AG_Prod" 
 
# Einzelnen Login gezielt synchronisieren 
Sync-mssAgNode -SqlInstance "SQL01" -ObjectName "AppServiceAccount" 
 
# Ergebnis auswerten 
$r = Sync-mssAgNode -SqlInstance "SQL01"  
$r | Group-Object ObjectType | ForEach-Object {  
"$($_.Name): $(@($_.Group | Where Status -eq 'Success').Count) OK, " +  
"$(@($_.Group | Where Status -eq 'Failed').Count) Fehler"  
}

Das mssSQLTool erkennt automatisch den Primary einer AG und synchronisiert die Objekte zu allen Secondary-Replikaten. Zusätzlich bereinigt es verwaiste Datenbankbenutzer auf den AG-Datenbanken. Weitere nützliche Funktionen für AlwaysOn sind Get-mssAgHealthReport für einen detaillierten Zustandsbericht, Repair-mssAlwaysOnDatabases zur automatischen Reparatur von Synchronisationsproblemen und Invoke-mssFailover für kontrollierte manuelle Failover mit Pre- und Post-Checks.

💡 Lizenzhinweis: Bei einer korrekt konfigurierten aktiv/passiven Availability Group fallen keine zusätzlichen Lizenzkosten für den Secondary an. Voraussetzung ist, dass die primäre SQL Server-Instanz über aktive Software Assurance (SA) verfügt und das Secondary-Replikat wirklich passiv betrieben wird – also keine produktiven Lese-Workloads (Reporting, Abfragen) ausführt. Erst wenn der Secondary lesbar konfiguriert wird, verliert er seinen passiven Status und muss voll lizenziert werden. Dies ist ein entscheidender Kostenvorteil gegenüber dem klassischen Failover-Clustering mit Shared Storage.
Alle Angaben ohne Gewähr. Basierend auf SQL Server 2016–2025. Empfohlene Tools: mssSQLTool (dtc-sql.de) · dbatools