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

Cookies user preferences
We use cookies to ensure you to get the best experience on our website. If you decline the use of cookies, this website may not function as expected.
Accept all
Decline all
Analytics
Tools used to analyze the data to measure the effectiveness of a website and to understand how it works.
Google Analytics
Advertisement
If you accept, the ads on the page will be adapted to your preferences.
Google Ad
Save