Voraussetzungen, Einschränkungen und Empfehlungen für Always On-Verfügbarkeitsgruppen
Gilt für: SQL Server
In diesem Artikel werden Überlegungen zur Bereitstellung von Always On-Verfügbarkeitsgruppen beschrieben, einschließlich Voraussetzungen, Einschränkungen und Empfehlungen für Hostcomputer, Windows Server-Failovercluster (WSFC), Serverinstanzen und Verfügbarkeitsgruppen. Für alle Komponenten sind Überlegungen zur Sicherheit und ggf. erforderliche Berechtigungen angegeben.
Wichtig
Vor der Bereitstellung von Always On-Verfügbarkeitsgruppenwird empfohlen, dieses Thema vollständig zu lesen.
.NET-Hotfixes mit Unterstützung für Verfügbarkeitsgruppen
Abhängig von den SQL Server-Komponenten und -Features, die Sie mit Always On-Verfügbarkeitsgruppenverwenden, müssen Sie möglicherweise zusätzliche in der folgenden Tabelle angegebene .NET-Hotfixes installieren. Die Hotfixes können in beliebiger Reihenfolge installiert werden.
Abhängige Funktion | Hotfix | Link |
---|---|---|
Reporting Services | Der Hotfix für .NET 3.5 SP1 fügt dem SQL-Client Unterstützung für die Always On-Features „Read-intent“, „readonly“ und „multisubnetfailover“ hinzu. Der Hotfix muss auf allen Reporting Services -Berichtsservern installiert werden. | KB 2654347: Hotfix für .NET 3.5 SP1 zum Hinzufügen von Unterstützung für Always On-Features |
Prüfliste: Anforderungen (Windows-System)
Zur Unterstützung der Funktion Always On-Verfügbarkeitsgruppen muss gewährleistet sein, dass jeder Computer, der an mindestens einer Verfügbarkeitsgruppe teilnehmen soll, die folgenden wesentlichen Anforderungen erfüllt:
Anforderung | Verknüpfung |
---|---|
Stellen Sie sicher, dass es sich bei diesem System nicht um einen Domänencontroller handelt. | Verfügbarkeitsgruppen werden nicht auf Domänencontrollern unterstützt. |
Stellen Sie sicher, dass auf jedem Computer eine unterstützte Windows Server-Version läuft | Hardware- und Softwareanforderungen für: - SQL Server 2022 - SQL Server 2019 - SQL Server 2017 - SQL Server 2016 |
Stellen Sie sicher, das jeder Computer ein Knoten in WSFC ist. | Windows Server-Failoverclustering mit SQL Server |
Stellen Sie sicher, dass WSFC ausreichend Knoten enthält, um die Verfügbarkeitsgruppenkonfigurationen zu unterstützen. | Ein Clusterknoten kann ein Replikat für eine Verfügbarkeitsgruppe hosten. Es können nicht zwei Replikate aus der gleichen Verfügbarkeitsgruppe auf ein und demselben Knoten gehostet werden. Der Clusterknoten kann zu mehreren Verfügbarkeitsgruppen gehören und ein Replikat jeder Gruppe hosten. Fragen Sie die Datenbankadministratoren, wie viele Clusterknoten erforderlich sind, um die Verfügbarkeitsreplikate der geplanten Verfügbarkeitsgruppen zu unterstützen. Was ist eine Always On-Verfügbarkeitsgruppe? |
Wichtig
Stellen Sie zudem sicher, dass Ihre Umgebung ordnungsgemäß zum Herstellen einer Verbindung mit einer Verfügbarkeitsgruppe konfiguriert wird. Weitere Informationen finden Sie unter Unterstützung für Treiber- und Clientkonnektivität für Verfügbarkeitsgruppen.
Empfehlungen für Computer, die Verfügbarkeitsreplikate (Windows-System) hosten
Vergleichbare Systeme: Für eine bestimmte Verfügbarkeitsgruppe sollten alle Verfügbarkeitsreplikate auf vergleichbaren Systemen ausgeführt werden, die identische Workloads bewältigen können.
Dedizierte Netzwerkadapter: Für eine optimale Leistung sollten Sie einen dedizierten Netzwerkadapter (NIC, Network Interface Card, Netzwerkschnittstellenkarte) für Always On-Verfügbarkeitsgruppen verwenden.
Ausreichender Speicherplatz auf dem Datenträger: Jeder Computer, auf dem eine Serverinstanz ein Verfügbarkeitsreplikat hostet, muss über ausreichend Speicherplatz auf dem Datenträger für alle Datenbanken in der Verfügbarkeitsgruppe verfügen. Bedenken Sie, dass sekundäre Datenbanken in gleichem Maße zunehmen wie ihre entsprechenden primären Datenbanken.
Identisches Datenträgerlayout: Jeder Computer, auf dem eine Serverinstanz ein Verfügbarkeitsreplikat hostet, sollte über ein identisches Datenträgerlayout (mit exakten Laufwerkbuchstaben und -größen) verfügen, um sicherzustellen, dass Dateipfade für Datenbankdateien (mdf, ldf) Spiegel werden, wodurch Komplikationen während der Ermittlung der Setzliste und der Synchronisierung verhindert werden. Überprüfen Sie Einschränkungen (Verfügbarkeitsdatenbanken) für Datenträgerlayouts, die unterschiedlich sind.
Berechtigungen (Windows-System)
Zur Verwaltung eines WSFC muss der Benutzer Systemadministrator auf jedem Clusterknoten sein.
Weitere Informationen über das Konto zum Verwalten des Clusters finden Sie unter Appendix A: Failover Cluster Requirements (Anhang A: Failoverclusteranforderungen).
Verwandte Aufgaben (Windows-System)
Aufgabe | Link |
---|---|
Legen Sie den HostRecordTTL-Wert fest. | Ändern des HostRecordTTL (Verwenden von Windows PowerShell) |
Ändern des HostRecordTTL (Verwenden von Windows PowerShell)
Öffnen Sie das PowerShell-Fenster über Als Administrator ausführen.
Importieren Sie das FailoverClusters-Modul.
Verwenden Sie das Get-ClusterResource -Cmdlet, um die Netzwerknamenressource anzuzeigen, und verwenden Sie das Set-ClusterParameter -Cmdlet, um den HostRecordTTL -Wert wie folgt festzulegen:
Get-ClusterResource „<Netzwerkressourcenname>“ | Set-ClusterParameter-HostRecordTTL <Zeit_in_Sekunden>
Im folgenden PowerShell-Beispiel wird der HostRecordTTL für eine Netzwerknamenressource mit dem Namen
SQL Network Name (SQL35)
auf 300 Sekunden festgelegt.Import-Module FailoverClusters $nameResource = "SQL Network Name (SQL35)" Get-ClusterResource $nameResource | Set-ClusterParameter HostRecordTTL 300
Tipp
Bei jedem Öffnen eines neuen PowerShell-Fensters müssen Sie das FailoverClusters -Modul importieren.
Verwandte Inhalte (PowerShell)
Clustering and High-Availability (Clustering und hohe Verfügbarkeit) (Failoverclustering und Netzwerklastenausgleichs-Teamblog)
Erste Schritte mit Windows PowerShell auf einem Failovercluster
Clusterressourcenbefehle und entsprechende Windows PowerShell-Cmdlets
Verwandte Inhalte (Windows-System)
Voraussetzungen und Einschränkungen für SQL Server-Instanzen
Jede Verfügbarkeitsgruppe erfordert einen Satz Failoverpartner, die als Verfügbarkeitsreplikatebezeichnet und von Instanzen von SQL Servergehostet werden. Bei einer angegebenen Serverinstanz kann es sich um eine eigenständige Instanz oder eine SQL ServerFailovercluster-Instanz (FCI) handeln.
In diesem Abschnitt:
- Prüfliste: Voraussetzungen
- Threadverwendung durch Verfügbarkeitsgruppen
- Berechtigungen
- Verwandte Aufgaben
- Verwandte Inhalte
Prüfliste: Voraussetzungen (Serverinstanz)
Voraussetzung | Links |
---|---|
Dieser Hostcomputer muss ein WSFC-Knoten sein. Die Instanzen von SQL Server , die Verfügbarkeitsreplikate für eine angegebene Verfügbarkeitsgruppe hosten, befinden sich jeweils in einem separaten Knoten des Clusters. Eine Verfügbarkeitsgruppe kann sich während der Migration zu einem anderen Cluster vorübergehend über zwei Cluster erstrecken. SQL Server 2016 (13.x) führte verteilte Verfügbarkeitsgruppen ein. In einer verteilten Verfügbarkeitsgruppe befinden sich zwei Verfügbarkeitsgruppen auf verschiedenen Clustern. | Windows Server-Failoverclustering mit SQL Server Failoverclustering und Always On-Verfügbarkeitsgruppen (SQL Server) Verteilte Verfügbarkeitsgruppen |
Wenn eine Verfügbarkeitsgruppe mit Kerberos verwendet werden soll: Alle Serverinstanzen, die ein Verfügbarkeitsreplikat für die Verfügbarkeitsgruppe hosten, müssen das gleiche SQL Server-Dienstkonto verwenden. Der Domänenadministrator muss manuell einen Dienstprinzipalnamen (SPN) für Active Directory auf dem SQL Server-Dienstkonto beim virtuellen Netzwerknamen (VNN) des Verfügbarkeitsgruppenlisteners registrieren. Wenn der SPN auf keinem SQL Server-Dienstkonto registriert wird, treten bei der Authentifizierung Fehler auf. Um die Kerberos-Authentifizierung für die Kommunikation zwischen Verfügbarkeitsgruppenendpunkten zu verwenden, registrieren Sie manuell SPNs für die von der Verfügbarkeitsgruppe verwendeten Datenbankspiegelungsendpunkte. Wichtig: Wenn Sie das SQL Server-Dienstkonto ändern, muss der Domänenadministrator den SPN erneut manuell registrieren. |
Registrieren eines Dienstprinzipalnamens für Kerberos-Verbindungen Hinweis: Kerberos und SPNs erzwingen die gegenseitige Authentifizierung. Dem Windows-Konto, das die SQL Server-Dienste startet, wird der SPN zugeordnet. Wenn die Registrierung des SPNs nicht richtig erfolgt oder dabei ein Fehler aufgetreten ist, kann die Windows-Sicherheitsschicht nicht das Konto bestimmen, das dem Dienstprinzipalname zugewiesen ist. Das bedeutet, die Kerberos-Authentifizierung kann nicht verwendet werden. Hinweis: Bei NTLM gibt es diese Anforderung nicht. |
Wenn Sie planen, eine SQL Server -Failoverclusterinstanz (FCI) zu verwenden, um ein Verfügbarkeitsreplikat zu hosten, muss gewährleistet sein, dass Sie die FCI-Einschränkungen verstehen und dass die FCI-Anforderungen erfüllt werden. | Voraussetzungen und Anforderungen für das Hosten eines Verfügbarkeitsreplikats mithilfe einer SQL Server-Failoverclusterinstanz (FCI) (weiter unten in diesem Artikel) |
Auf jeder Serverinstanz muss die gleiche Version von SQL Server ausgeführt werden, um an einer Verfügbarkeitsgruppe teilzunehmen. | Weitere Informationen finden Sie in der Liste der Editionen und unterstützten Features am Ende dieses Abschnitts. |
Alle Serverinstanzen, die Verfügbarkeitsreplikate für eine Verfügbarkeitsgruppe hosten, müssen die gleiche SQL Server -Sortierung verwenden. | Festlegen oder Ändern der Serversortierung |
Aktivieren Sie die Funktion Always On-Verfügbarkeitsgruppen auf jeder Serverinstanz, die ein Verfügbarkeitsreplikat für jede Verfügbarkeitsgruppe hostet. Auf einem angegebenen Computer können Sie so viele Serverinstanzen für Always On-Verfügbarkeitsgruppen aktivieren, wie Ihre SQL Server -Installation unterstützt. | Aktivieren oder Deaktivieren des Features für Always On-Verfügbarkeitsgruppen Wichtig: Wenn Sie einen WSFC löschen und neu erstellen, müssen Sie die Funktion Always On-Verfügbarkeitsgruppen auf jeder Serverinstanz, die auf dem ursprünglichen Cluster für Always On-Verfügbarkeitsgruppen aktiviert war, deaktivieren und erneut aktivieren. |
Jede Serverinstanz erfordert einen Datenbankspiegelungs-Endpunkt. Dieser Endpunkt wird von allen Verfügbarkeitsreplikaten, Datenbank-Spiegelungspartnern und Zeugen auf der Serverinstanz gemeinsam verwendet wird. Wenn eine Serverinstanz, die Sie zum Hosten eines Verfügbarkeitsreplikats auswählen, unter einem Domänenbenutzerkonto ausgeführt wird und noch keinen Datenbankspiegelungs-Endpunkt aufweist, kann der Assistent für neue Verfügbarkeitsgruppen (SQL Server Management Studio) (oder Assistent zum Hinzufügen von Replikaten zu Always-On-Verfügbarkeitsgruppen über den Assistenten für Verfügbarkeitsgruppen in SQL Server Management) den Endpunkt erstellen und dem Dienstkonto der Serverinstanz die CONNECT-Berechtigung erteilen. Wenn der SQL Server -Dienst jedoch als integriertes Konto, z. B. Lokales System, Lokaler Dienst oder Netzwerkdienst, oder als Nichtdomänenkonto ausgeführt wird, müssen Sie Zertifikate zur Endpunktauthentifizierung verwenden, und der Assistent kann keinen Datenbankspiegelungs-Endpunkt auf der Serverinstanz erstellen. In diesem Fall empfiehlt es sich, dass Sie die Datenbankspiegelungs-Endpunkte manuell erstellen, bevor Sie den Assistenten starten. Sicherheitshinweis: Die Transportsicherheit für Always On-Verfügbarkeitsgruppen entspricht derjenigen der Datenbankspiegelung. |
Der Datenbankspiegelungs-Endpunkt (SQL Server) Transportsicherheit für Datenbankspiegelung und Always On-Verfügbarkeitsgruppen |
Bevor Datenbanken, die FILESTREAM verwenden, zu einer Verfügbarkeitsgruppe hinzugefügt werden, stellen Sie sicher, dass FILESTREAM auf jeder Serverinstanz, die ein Verfügbarkeitsreplikat für die Verfügbarkeitsgruppe hostet, aktiviert worden ist. | Aktivieren und Konfigurieren von FILESTREAM |
Bevor eigenständige Datenbanken einer Verfügbarkeitsgruppe hinzugefügt werden, muss gewährleistet sein, dass die Serverkonfiguration eigenständige Datenbankauthentifizierung (Serverkonfigurationsoption) auf jeder Serverinstanz, die ein Verfügbarkeitsreplikat für die Verfügbarkeitsgruppe hostet, auf 1 festgelegt wurde. |
Contained Database Authentication (Serverkonfigurationsoption) Serverkonfigurationsoptionen (SQL Server) |
Eine Liste der Features, die von den SQL Server-Editionen auf Windows unterstützt werden, finden Sie hier:
- Editionen und unterstützte Features von SQL Server 2022
- Editionen und unterstützten Features von SQL Server 2019
- Editionen und unterstützten Funktionen von SQL Server 2017
- Editionen und unterstützten Funktionen von SQL Server 2016
Threadverwendung durch Verfügbarkeitsgruppen
Always On-Verfügbarkeitsgruppen stellt die folgenden Anforderungen an Arbeitsthreads:
Auf einer SQL Server-Instanz im Leerlauf verwendet Always On-Verfügbarkeitsgruppen 0 Threads.
Die maximale Anzahl der von Verfügbarkeitsgruppen verwendeten Threads entspricht der Einstellung, die als maximale Anzahl von Serverthreads ('maximale Anzahl von Workerthreads') minus 40 konfiguriert wurde.
Die auf einer bestimmten Serverinstanz gehosteten Verfügbarkeitsreplikate verwenden einen einzelnen Threadpool in SQL Server 2019 (15.x) und früheren Versionen.
Threads werden bedarfsgesteuert wie folgt freigegeben:
In der Regel gibt es 3 bis 10 freigegebene Threads, diese Zahl kann sich jedoch abhängig von der Arbeitsauslastung des primären Replikats erhöhen.
Wenn ein bestimmter Thread eine Zeit lang im Leerlauf ist, wird er wieder im allgemeinen SQL Server -Threadpool freigegeben. Normalerweise wird ein inaktiver Thread nach ~ 15 Sekunden Inaktivität freigegeben. Abhängig von der letzten Aktivität kann ein Thread jedoch länger im Leerlauf gehalten werden.
Eine SQL Server-Instanz verwendet bis zu 100 Threads für parallele Wiederholung für sekundäre Replikate. Für jede Datenbank wird bis zur Hälfte der Gesamtzahl von CPU-Kernen, jedoch nicht mehr als 16 Threads pro Datenbank verwendet. Überschreitet die Gesamtzahl von erforderlichen Threads für eine einzelne Instanz den Wert 100, verwendet SQL Server einen einzelnes Wiederholungsthread für jede verbleibende Datenbank. Serielle Wiederholungsthreads werden nach ca. 15 Sekunden Inaktivität freigegeben.
Darüber hinaus verwenden Verfügbarkeitsgruppen nicht freigegebene Threads wie folgt:
Jedes primäre Replikat verwendet einen Protokollaufzeichnungsthread für jede primäre Datenbank. Außerdem verwendet es einen Protokollsendethread für jede sekundäre Datenbank. Protokollsendethreads werden nach ~ 15 Sekunden Inaktivität freigegeben.
Von einer Sicherung auf einem sekundären Replikat wird ein Thread auf dem primären Replikat für die Dauer des Sicherungsvorgangs beibehalten.
SQL Server 2022 (16.x) führte den parallelen Redo-Threadpool ein, der für alle Datenbanken freigegeben ist, die Redo-Arbeit haben. Mit diesem Pool können dieselben Threads die Protokolldatensätze für verschiedene Datenbanken gleichzeitig verarbeiten (parallel). In SQL Server 2019 (15.x) und früheren Versionen ist die Anzahl der verfügbaren Threads zum Wiederholen auf 100 beschränkt.
In SQL Server 2019 (15.x) wurde eine parallele Rollforwardphase für arbeitsspeicheroptimierte Datenbanken in Verfügbarkeitsgruppen eingeführt. In SQL Server 2016 (13.x) und SQL Server 2017 (14.x) verwenden datenträgerbasierte Tabellen keine parallele Rollforwardphase, wenn eine Datenbank in einer Verfügbarkeitsgruppe ebenfalls arbeitsspeicheroptimiert ist.
Weitere Informationen finden Sie unter Always On – HADRON Learning Series: Worker Pool Usage for HADRON Enabled Databases (Always On – HADRON-Lernreihe: Nutzung des Arbeitspools für HADRON-fähige Datenbanken) (ein CSS-SQL Server-Engineer-Blogbeitrag).
Berechtigungen (Serverinstanz)
Aufgabe | Erforderliche Berechtigungen |
---|---|
Erstellen des Endpunktes für die Datenbankspiegelung | Erfordert die CREATE ENDPOINT-Berechtigung oder die Mitgliedschaft in der festen Serverrolle sysadmin . Erfordert zudem die CONTROL ON ENDPOINT-Berechtigung. Weitere Informationen finden Sie unter GRANT (Endpunktberechtigungen) (Transact-SQL). |
Aktivieren von Always On-Verfügbarkeitsgruppen | Erfordert auf dem lokalen Computer die Mitgliedschaft in der Gruppe Administrator und Vollzugriff auf den WSFC. |
Verwandte Aufgaben (Serverinstanz)
Aufgabe | Artikel |
---|---|
Bestimmen, ob ein Datenbankspiegelungs-Endpunkt vorhanden ist | sys.database_mirroring_endpoints (Transact-SQL) |
Erstellen des Datenbankspiegelungs-Endpunkts (falls noch nicht vorhanden) | Erstellen eines Endpunkts der Datenbankspiegelung für Windows-Authentifizierung (Transact-SQL) Verwenden von Zertifikaten für einen Datenbankspiegelungs-Endpunkt (Transact-SQL) Erstellen eines Datenbankspiegelungsendpunkts für eine Verfügbarkeitsgruppe mithilfe von PowerShell |
Aktivieren von Verfügbarkeitsgruppen | Aktivieren oder Deaktivieren des Features für Always On-Verfügbarkeitsgruppen |
Verwandte Inhalte (Serverinstanz)
Empfehlungen zur Netzwerkkonnektivität
Es wird dringend empfohlen, für die Kommunikation zwischen WSFC-Knoten die gleichen Netzwerkverbindungen zu verwenden wie für die Kommunikation zwischen Verfügbarkeitsreplikaten. Bei Verwendung separater Netzwerkverbindungen kann ein unerwartetes Verhalten auftreten, wenn einige Verbindungen (wenn auch nur vorübergehend) ausfallen.
Damit eine Verfügbarkeitsgruppe automatisches Failover unterstützt, muss das sekundäre Replikat, das dem automatischen Failoverpartner entspricht, beispielsweise den Status SYNCHRONIZED aufweisen. Wenn bei der Netzwerkverbindung mit dem sekundären Replikat (wenn auch nur vorübergehend) ein Fehler auftritt, wechselt das Replikat in den Status UNSYNCHRONIZED und wird erst nach Wiederherstellen der Verbindung erneut synchronisiert. Wenn der WSFC ein automatisches Failover anfordert, während das sekundäre Replikat nicht synchronisiert ist, findet kein automatisches Failover statt.
Unterstützung für Clientkonnektivität
Informationen zur Unterstützung von Always-On-Verfügbarkeitsgruppen für die Clientkonnektivität finden Sie unter Treiber- und Clientkonnektivitätsunterstützung für Verfügbarkeitsgruppen.
Voraussetzungen und Einschränkungen zum Hosten eines Verfügbarkeitsreplikats mithilfe einer SQL Server-Failoverclusterinstanz (FCI)
In diesem Abschnitt:
Einschränkungen (FCIs)
Hinweis
Failoverclusterinstanzen (FCIs) unterstützen außerdem freigegebene Clustervolumes (Cluster Shared Volumes, CSVs). Weitere Informationen über CSV finden Sie in Aktivieren von freigegebenen Clustervolumes in einem Failovercluster.
Die Clusterknoten einer FCI können für eine angegebene Verfügbarkeitsgruppe nur ein Replikat hosten: Wenn Sie ein Verfügbarkeitsreplikat auf einer FCI hinzufügen, können die WSFC, die mögliche FCI-Besitzer sind, kein anderes Replikat für dieselbe Verfügbarkeitsgruppe hosten. Um potenzielle Konflikte zu vermeiden, empfiehlt es sich, mögliche Besitzer für die Failoverclusterinstanz zu konfigurieren. Damit kann verhindert werden, dass ein einzelner WSFC versucht, zwei Verfügbarkeitsreplikat für dieselbe Verfügbarkeitsgruppe zu hosten.
Darüber hinaus muss jedes weitere Replikat von einer SQL Server-Instanz gehostet werden, die sich auf einem anderen Clusterknoten im selben WSFC befindet. Die einzige Ausnahme besteht darin, dass sich eine Verfügbarkeitsgruppe während der Migration zu einem anderen Cluster vorübergehend auf zwei Cluster erstrecken kann.
Warnung
Die Verwendung des Failovercluster-Managers zum Verschieben einer FCI, die eine Verfügbarkeitsgruppe hostet, auf einen Knoten, der bereits ein Replikat derselben Verfügbarkeitsgruppe hostet, kann zum Verlust des Verfügbarkeitsgruppenreplikats führen, sodass dieses auf dem Zielknoten nicht online geschaltet werden kann. Ein einzelner Knoten eines Failoverclusters kann nicht mehr als ein Replikat für dieselbe Verfügbarkeitsgruppe hosten. Weitere Informationen dazu, wie eine solche Situation eintritt und wie sie gelöst werden kann, finden Sie im Blog Replica unexpectedly dropped in availability group (Replikat in Verfügbarkeitsgruppe unerwartet gelöscht).
Failoverclusterinstanzen (FCIs) unterstützen kein automatisches Failover durch Verfügbarkeitsgruppen: Da FCIs kein automatisches Failover durch Verfügbarkeitsgruppen unterstützen, können die Verfügbarkeitsreplikate, die von einer FCI gehostet werden, nur für manuelles Failover konfiguriert werden.
Ändern des FCI-Netzwerknamens: Falls Sie den Netzwerknamen einer FCI ändern müssen, die ein Verfügbarkeitsreplikat hostet, müssen Sie das Replikat aus seiner Verfügbarkeitsgruppe entfernen und das Replikat dann wieder der Verfügbarkeitsgruppe hinzufügen. Sie können das primäre Replikat nicht entfernen. Wenn Sie daher eine FCI umbenennen, die das primäre Replikat hostet, sollten Sie ein Failover zu einem sekundären Replikat ausführen und dann das vorherige primäre Replikat entfernen und wieder hinzufügen. Beachten Sie, dass durch Umbenennen einer FCI möglicherweise die URL ihres Datenbankspiegelungs-Endpunkts geändert wird. Stellen Sie beim Hinzufügen des Replikats sicher, dass Sie die aktuelle Endpunkt-URL angeben.
Prüfliste: Voraussetzungen (FCIs)
Voraussetzung | Link |
---|---|
Stellen Sie sicher, dass jede SQL Server-Failoverclusterinstanz (FCI) den erforderlichen gemeinsam verwendeten Speicher laut Standardinstallation der SQL Server-Failoverclusterinstanz besitzt. |
Verwandte Aufgaben (FCIs)
Aufgabe | Artikel |
---|---|
Installieren eines SQL Server-FCI | Erstellen einer neuen Always On-Failoverclusterinstanz (Setup) |
Direktes Upgrade des vorhandenen SQL Server-FCI | Aktualisieren einer Failoverclusterinstanz |
Beibehalten des vorhandenen SQL Server-FCI | Hinzufügen oder Entfernen von Knoten in einer Failoverclusterinstanz (Setup) |
Verwandte Inhalte (FCIs)
Voraussetzungen und Einschränkungen für Verfügbarkeitsgruppen
In diesem Abschnitt:
Einschränkungen (Verfügbarkeitsgruppen)
Verfügbarkeitsreplikate müssen von verschiedenen Knoten eines WSFC gehostet werden: Für eine angegebene Verfügbarkeitsgruppe müssen Verfügbarkeitsreplikate von Serverinstanzen gehostet werden, die auf verschiedenen Knoten desselben WSFC ausgeführt werden. Die einzige Ausnahme besteht darin, dass sich eine Verfügbarkeitsgruppe während der Migration zu einem anderen Cluster vorübergehend auf zwei Cluster erstrecken kann.
Hinweis
Virtuelle Computer können auf demselben physischen Computer jeweils ein Verfügbarkeitsreplikat für dieselbe Verfügbarkeitsgruppe hosten, da jeder virtuelle Computer als separater Computer fungiert.
Eindeutiger Verfügbarkeitsgruppenname: Jeder Verfügbarkeitsgruppenname muss auf dem WSFC eindeutig sein. Die maximale Länge eines Verfügbarkeitsgruppennamens beträgt 128 Zeichen.
Verfügbarkeitsreplikate: Jede Verfügbarkeitsgruppe unterstützt ein primäres Replikat und bis zu acht sekundäre Replikate. Alle Replikate können im Modus für asynchrone Commits ausgeführt werden. Alternativ können bis zu fünf Replikate im Modus für synchrone Commits ausgeführt werden (ein primäres Replikat mit zwei synchronen sekundären Replikaten). Jedes Replikat muss sowohl in Windows als auch in SQL Server über einen eindeutigen Servernamen verfügen. Die Servernamen müssen zwischen Windows und SQL Server übereinstimmen.
Maximale Anzahl von Verfügbarkeitsgruppen und Verfügbarkeitsdatenbanken pro Computer: Die tatsächliche Anzahl der auf einem Computer (virtuell oder physisch) ausführbaren Datenbanken und Verfügbarkeitsgruppen richtet sich nach der Hardware und Workload, es gibt jedoch keine maximale Vorgabe. Microsoft hat bis zu 10 Verfügbarkeitsgruppen und 100 Datenbanken pro physischem Computer getestet, aber dies stellt keinen bindenden Grenzwert dar. Abhängig von der Hardwarespezifikation auf dem Server und dem Workload können Sie eine höhere Anzahl von Datenbanken und Verfügbarkeitsgruppen auf einer Instanz von SQL Server platzieren. Anzeichen für eine Systemüberlastung könnten u.a. zu wenige Arbeitsthreads, langsame Antwortzeiten für Verfügbarkeitsgruppen-Systemsichten und DMVs und/oder Systemspeicherabbilder bei angehaltenem Verteiler sein. Es wird empfohlen, die Umgebung unter produktionsähnlichen Bedingungen eingehend zu testen, um zu gewährleisten, dass das System maximale Arbeitsauslastungen im Rahmen Ihrer Anwendungs-SLAs bewältigen kann. Im Hinblick auf SLAs sollten sowohl die Auslastung unter Fehlerbedingungen als auch die erwarteten Antwortzeiten abgewogen werden.
Verwenden Sie den Failovercluster-Manager nicht, um Verfügbarkeitsgruppen zu bearbeiten. Der Status einer SQL Server-FCI wird von SQL Server und dem Windows Server-Failovercluster (WSFC) gemeinsam verwendet, wobei SQL Server ausführlichere Zustandsinformationen zu den Instanzen verwaltet als für den Cluster von Interesse sind. Das Verwaltungsmodell sieht so aus, dass SQL Server die Transaktionen steuern muss und dafür zuständig ist, die Sicht des Status des Clusters synchron mit der Sicht des Status von SQL Server zu halten. Wenn der Status des Clusters außerhalb von SQL Server geändert wird, kann die Synchronisierung des Status zwischen WSFC und SQL Server verloren gehen, was zu nicht vorhersehbarem Verhalten führen kann.
Zum Beispiel:
Ändern Sie keine Verfügbarkeitsgruppeneigenschaften, z. B. die möglichen Besitzer.
Verwenden Sie den Failovercluster-Manager nicht, um Failover für Verfügbarkeitsgruppen auszuführen. Sie müssen Transact-SQL oder SQL Server Management Studio verwenden.
Fügen Sie keine Ressourcen hinzu, oder ändern Sie keine Abhängigkeiten, die der Verfügbarkeitsgruppenrolle zugeordnet sind. Es wird nicht empfohlen, zusätzliche Ressourcen (einschließlich Benutzer*innen oder Drittanbietern) in der Verfügbarkeitsgruppenrolle zu platzieren oder die Rollenabhängigkeiten zu ändern, da sich diese Änderungen negativ auf die Failoverleistung auswirken können.
Voraussetzungen (Verfügbarkeitsgruppen)
Beim Erstellen oder Neukonfigurieren einer Verfügbarkeitsgruppenkonfiguration müssen Sie folgende Anforderungen einhalten.
Voraussetzung | BESCHREIBUNG |
---|---|
Wenn Sie planen, eine SQL Server -Failoverclusterinstanz (FCI) zu verwenden, um ein Verfügbarkeitsreplikat zu hosten, muss gewährleistet sein, dass Sie die FCI-Einschränkungen verstehen und dass die FCI-Anforderungen erfüllt werden. | Voraussetzungen und Einschränkungen für das Hosten eines Verfügbarkeitsreplikats mithilfe einer SQL Server-Failoverclusterinstanz (FCI) (weiter oben in diesem Artikel) |
Sicherheit (Verfügbarkeitsgruppen)
Die Sicherheit wird vom WSFC vererbt. WSFC bieten zwei Sicherheitsebenen mit der Granularität eines kompletten Clusters:
Schreibgeschützter Zugriff
Vollzugriff
Always On-Verfügbarkeitsgruppen benötigt Vollzugriff. Durch Aktivieren von Always On-Verfügbarkeitsgruppen auf einer Instanz von SQL Server wird der Vollzugriff auf den Cluster erteilt (über Dienst-SID).
Sie können im Cluster-Manager die Sicherheit für eine Serverinstanz nicht direkt hinzufügen oder entfernen. Um Clustersicherheitssitzungen zu verwalten, verwenden Sie den SQL Server-Konfigurations-Manager oder die WMI-Entsprechung von SQL Server.
Jede Instanz von SQL Server muss über Berechtigungen zum Zugreifen auf die Registrierung, den Cluster usw. verfügen.
Es wird empfohlen, dass Sie eine Verschlüsselung für Verbindungen zwischen Serverinstanzen verwenden, die Always On-Verfügbarkeitsgruppen -Verfügbarkeitsreplikate hosten.
Berechtigungen (Verfügbarkeitsgruppen)
Aufgabe | Erforderliche Berechtigungen |
---|---|
Erstellen einer Verfügbarkeitsgruppe | Erfordert die Mitgliedschaft in der festen Serverrolle sysadmin und die CREATE AVAILABILITY GROUP-Serverberechtigung, ALTER ANY AVAILABILITY GROUP-Berechtigung oder CONTROL SERVER-Berechtigung. |
Ändern einer Verfügbarkeitsgruppe | Erfordert die ALTER AVAILABILITY GROUP-Berechtigung für die Verfügbarkeitsgruppe, die CONTROL AVAILABILITY GROUP-Berechtigung, die ALTER ANY AVAILABILITY GROUP-Berechtigung oder die CONTROL SERVER-Berechtigung. Außerdem erfordert das Verknüpfen einer Datenbank mit einer Verfügbarkeitsgruppe die Mitgliedschaft in der festen db_owner -Datenbankrolle. |
Löschen einer Verfügbarkeitsgruppe | Erfordert die ALTER AVAILABILITY GROUP-Berechtigung für die Verfügbarkeitsgruppe, die CONTROL AVAILABILITY GROUP-Berechtigung, die ALTER ANY AVAILABILITY GROUP-Berechtigung oder die CONTROL SERVER-Berechtigung. Um eine Verfügbarkeitsgruppe zu löschen, die nicht am lokalen Replikatspeicherort gehostet wird, benötigen Sie die CONTROL SERVER-Berechtigung oder die CONTROL-Berechtigung für diese Verfügbarkeitsgruppe. |
Verwandte Aufgaben (Verfügbarkeitsgruppen)
Aufgabe | Artikel |
---|---|
Erstellen einer Verfügbarkeitsgruppe | Verwenden des Assistenten zum Hinzufügen von Datenbanken zu Verfügbarkeitsgruppen (SQL Server) Erstellen einer Always On-Verfügbarkeitsgruppe mit Transact-SQL (T-SQL) Erstellen einer Always On-Verfügbarkeitsgruppe mit PowerShell Angeben der Endpunkt-URL: Hinzufügen oder Ändern von Verfügbarkeitsreplikaten |
Ändern der Anzahl der Verfügbarkeitsreplikate | Hinzufügen eines sekundären Replikats zu einer Always On-Verfügbarkeitsgruppe Verknüpfen eines sekundären Replikats mit einer Always On-Verfügbarkeitsgruppe Entfernen einer sekundären Replikats aus einer Verfügbarkeitsgruppe (SQL Server) |
Erstellen eines Verfügbarkeitsgruppenlisteners | Konfigurieren eines Listeners für Always On-Verfügbarkeitsgruppen |
Löschen einer Verfügbarkeitsgruppe | Entfernen einer Verfügbarkeitsgruppe (SQL Server) |
Voraussetzungen und Einschränkungen für Verfügbarkeitsdatenbanken
Damit einer Verfügbarkeitsgruppe eine Datenbank hinzugefügt werden kann, muss sie folgenden Voraussetzungen und Einschränkungen entsprechen:
In diesem Abschnitt:
- Anforderungen
- Einschränkungen
- Empfehlungen für Computer, die Verfügbarkeitsreplikate (Windows-System) hosten
- Berechtigungen
- Verwandte Aufgaben
Prüfliste: Anforderungen (Verfügbarkeitsdatenbanken)
Damit eine Datenbank einer Verfügbarkeitsgruppe hinzugefügt zu werden, müssen folgende Bedingungen für die Datenbank zutreffen:
Requirements (Anforderungen) | Link |
---|---|
Die Datenbank muss eine Benutzerdatenbank sein. Systemdatenbanken können nicht zu einer Verfügbarkeitsgruppe gehören. | |
Die Datenbank muss sich auf der Instanz von SQL Server , auf der Sie die Verfügbarkeitsgruppe erstellen, und die Serverinstanz muss darauf zugreifen können. | |
Die Datenbank muss eine Datenbank mit Lese-/Schreibzugriff sein. Schreibgeschützte Datenbanken können nicht zu einer Verfügbarkeitsgruppe hinzugefügt werden. | sys.databases (is_read_only = 0) |
Die Datenbank muss eine Mehrbenutzerdatenbank sein. | sys.databases (user_access = 0) |
Verwenden Sie nicht AUTO_CLOSE. | sys.Databases (is_auto_close_on = 0) |
Verwenden Sie das vollständige Wiederherstellungsmodell. | sys.Databases (recovery_model = 1) |
Die Datenbank muss mindestens über eine vollständige Datenbanksicherung verfügen. Hinweis: Eine vollständige Sicherung ist erforderlich, um die volle Protokollkette für eine vollständige Wiederherstellung auszulösen, nachdem eine Datenbank auf den vollständigen Wiederherstellungsmodus festgelegt wurde. |
Erstellen einer vollständigen Datenbanksicherung |
Sie darf zu keiner vorhandenen Verfügbarkeitsgruppe gehören. | sys.Databases (group_database_id = NULL) |
Die Datenbank darf nicht für die Datenbankspiegelung konfiguriert sein. | sys.database_mirroring (Wenn die Datenbank nicht an der Spiegelung beteiligt ist, haben alle Spalten mit dem Präfix „mirroring_“ den Wert NULL.) |
Bevor Sie eine Datenbank, die FILESTREAM verwendet, zu einer Verfügbarkeitsgruppe hinzufügen, muss gewährleistet sein, dass FILESTREAM auf jeder Serverinstanz aktiviert ist, die ein Verfügbarkeitsreplikat für die Verfügbarkeitsgruppe hostet oder hosten wird. | Aktivieren und Konfigurieren von FILESTREAM |
Vor dem Hinzufügen einer enthaltenen Datenbank zu einer Verfügbarkeitsgruppe muss gewährleistet sein, dass die Serveroption eigenständige Datenbankauthentifizierung auf jeder Serverinstanz, die ein Verfügbarkeitsreplikat für die Verfügbarkeitsgruppe hostet oder hosten wird, auf 1 gesetzt ist. | Contained Database Authentication (Serverkonfigurationsoption) Serverkonfigurationsoptionen (SQL Server) |
Hinweis
Always On-Verfügbarkeitsgruppen funktioniert mit jedem unterstützten Datenbank-Kompatibilitätsgrad.
Einschränkungen (Verfügbarkeitsdatenbanken)
Falls sich der Dateipfad (einschließlich des Laufwerkbuchstabens) einer sekundären Datenbank vom Pfad der entsprechenden primären Datenbank unterscheidet, gelten folgende Einschränkungen.
Assistent für neue Verfügbarkeitsgruppen/Assistent zum Hinzufügen von Datenbanken zu Verfügbarkeitsgruppen: Die Option Vollständig wird nicht unterstützt (auf der Seite Anfängliche Datensynchronisierung auswählen (Assistent für Always-On-Verfügbarkeitsgruppen)).
RESTORE WITH MOVE: Zum Erstellen der sekundären Datenbanken müssen die Datenbankdateien auf jeder Instanz von SQL Server, die ein sekundäres Replikat hostet, auf RESTORED WITH MOVE festgelegt sein.
Auswirkungen auf Dateihinzufügungsvorgänge: Bei einer späteren Dateihinzufügung auf dem primären Replikat tritt in den sekundären Datenbanken möglicherweise ein Fehler auf. Dieser Fehler kann bewirken, dass die sekundären Datenbanken angehalten werden. Dies bewirkt dann, dass die sekundären Replikate den Status NOT SYNCHRONIZING erhalten.
Hinweis
Informationen zum Reagieren auf einen Dateihinzufügungsvorgang, bei dem ein Fehler aufgetreten ist, finden Sie unter Problembehandlung bei einem nicht erfolgreichen Vorgang zum Hinzufügen einer Datei (Always On-Verfügbarkeitsgruppen).
Sie können keine Datenbank löschen, die aktuell einer Verfügbarkeitsgruppe angehört.
Nachverfolgung für TDE-geschützte Datenbanken
Wenn Sie die transparente Datenverschlüsselung (TDE) verwenden, muss das Zertifikat oder der asymmetrische Schlüssel zum Erstellen und Entschlüsseln weiterer Schlüssel auf jeder Serverinstanz, die ein Verfügbarkeitsreplikat für die Verfügbarkeitsgruppe hostet, identisch sein. Weitere Informationen finden Sie unter Verschieben einer TDE-geschützten Datenbank auf einen anderen SQL-Server.
Berechtigungen (Verfügbarkeitsdatenbanken)
Erfordert die ALTER-Berechtigung für die Datenbank.
Verwandte Aufgaben (Verfügbarkeitsdatenbanken)
Aufgabe | Artikel |
---|---|
Vorbereiten einer sekundären Datenbank (manuell) | Vorbereiten einer sekundären Datenbank auf eine Always On-Verfügbarkeitsgruppe |
Verknüpfen einer sekundären Datenbank mit einer Verfügbarkeitsgruppe (manuell) | Verknüpfen einer sekundären Datenbank mit einer Always On-Verfügbarkeitsgruppe |
Ändern der Anzahl der Verfügbarkeitsdatenbanken | Hinzufügen einer Datenbank zu einer Always On-Verfügbarkeitsgruppe Entfernen einer sekundären Datenbank aus einer Verfügbarkeitsgruppe (SQL Server) Entfernen einer primären Datenbank aus einer Always On-Verfügbarkeitsgruppe |
Zugehöriger Inhalt
- Microsoft SQL Server Always On-Lösungshandbuch zu hoher Verfügbarkeit und Notfallwiederherstellung
- SQL Server Always On Team Blog: The official SQL Server Always On Team Blog (SQL Server Always On-Teamblog: Der offizielle SQL Server Always On-Teamblog)
- Always On – HADRON Learning Series: Worker Pool Usage for HADRON Enabled Databases (Always On – HADRON-Lernreihe: Nutzung des Arbeitspools für HADRON-fähige Datenbanken)
- Was ist eine Always On-Verfügbarkeitsgruppe?
- Failoverclustering und Always On-Verfügbarkeitsgruppen (SQL Server)
- Unterstützung für Treiber und Clientkonnektivität für Verfügbarkeitsgruppen