Checkliste: Bewährte Methoden für SQL Server auf Azure-VMs
Gilt für: SQL Server auf Azure-VMs
Bietet bewährte Methoden und Richtlinien für den Speicher, um die Leistung Ihrer SQL Server-Instanz auf Azure Virtual Machines (VM) zu optimieren.
Ausführliche Informationen finden Sie in den anderen Artikeln dieser Reihe: VM-Größe, Speicher, Sicherheit, HADR-Konfiguration, Baseline erfassen.
Aktivieren Sie SQL-Bewertung für SQL Server auf Azure-VMs, und Ihr SQL Server wird anhand bekannter bewährter Methoden mit Ergebnissen auf der Seite SQL VM-Verwaltung des Azure-Portals ausgewertet.
Videos zu den neuesten Features zur Optimierung der Leistung von SQL Server-VMs und zur Automatisierung der Verwaltung finden Sie in den folgenden „Data Exposed“-Videos:
- Obergrenzen für Zwischenspeicherung und Speicherung
- Automatisieren der Verwaltung mit der SQL Server-IaaS-Agent-Erweiterung
- Verwenden von Azure Monitor-Metriken zum Nachverfolgen der VM-Cacheintegrität
- Das beste Preis-Leistungs-Verhältnis für SQL Server-Workloads auf Azure-VMs bekommen
- Verwenden von PerfInsights zum Auswerten der Ressourcenintegrität (Resource Health) und zur Problembehandlung
- Bestes Preis-Leistungs-Verhältnis mit der Ebdsv5-Serie
- Optimales Konfigurieren von SQL Server auf virtuellen Azure-Computern mit SQL-Bewertung
- Neue und verbesserte Bereitstellung und Verwaltung von SQL Server auf virtuellen Azure-Computern
Übersicht
Es empfiehlt sich, beim Ausführen von SQL Server auf Azure Virtual Machines weiterhin die gleichen Optionen zur Optimierung der Datenbankleistung zu verwenden, die für SQL Server in lokalen Serverumgebungen gelten. Die Leistung einer relationalen Datenbank in einer öffentlichen Cloud hängt jedoch von vielen Faktoren ab, z. B. der Größe eines virtuellen Computers und der Konfiguration der Datenträger für Daten.
In der Regel kommt es zu einem Kompromiss zwischen einer Kostenoptimierung und einer Leistungsoptimierung. Diese Folge von bewährten Methoden zur Leistung konzentriert sich darauf, die beste Leistung für SQL Server auf Azure Virtual Machines zu erzielen. Wenn Ihre Workload weniger anspruchsvoll ist, sind möglicherweise nicht alle empfohlenen Optimierungen erforderlich. Berücksichtigen Sie bei der Evaluierung dieser Empfehlungen Ihre Leistungsanforderungen und -kosten sowie Ihre Workloadmuster.
Größe des virtuellen Computers
In der Checkliste in diesem Abschnitt werden die bewährten Methoden für die VM-Größe für SQL Server auf Azure-VMs behandelt.
- Die Ebdsv5-Serie bietet das höchste E/A-Durchsatz-zu-vCore-Verhältnis in Azure zusammen mit einem Speicher-zu-vCore-Verhältnis von 8. Diese Serie bietet das beste Preis-Leistungs-Verhältnis für SQL Server-Workloads auf Azure-VMs. Für die meisten SQL Server-Workloads sollten Sie diese Serie also zuerst berücksichtigen.
- Verwenden Sie VM-Größen mit 4 oder mehr vCPUs wie z. B. E4ds_v5 oder höher.
- Verwenden Sie VM-Größen mit Arbeitsspeicheroptimierung, um die bestmögliche Leistung für SQL Server-Workloads zu erzielen.
- Die Serie Edsv5 und die Ebdsv5-Serie, die Msv3- und Mdsv3-Serie bieten ein optimales Speicher-zu-vCore-Verhältnis, das für OLTP-Workloads erforderlich ist.
- Die VMs der M-Serie bieten das höchste Speicher-zu-vCore-Verhältnis in Azure. Berücksichtigen Sie diese virtuellen Computer für unternehmenskritische OLTP- und Data Warehouse-Workloads.
- Verwenden Sie Azure Marketplace-Images zur Bereitstellung Ihrer SQL Server-VMs, weil die SQL Server-Einstellungen und -Speicheroptionen für optimale Leistung konfiguriert sind.
- Erfassen Sie die Leistungsmerkmale des Zielworkloads, und nutzen Sie sie zum Ermitteln der passenden VM-Größe für Ihr Unternehmen.
- Verwenden Sie den Datenmigrations-Assistenten und das SKU-Empfehlungstool, um die richtige VM-Größe für Ihre vorhandene SQL Server-Workload zu ermitteln.
- Verwenden Sie Azure Data Studio, um zu Azure zu migrieren.
Warnung
Das Installieren von SQL Server auf Systemen mit mehr als 64 Kernen pro NUMA-Knoten wird derzeit nicht unterstützt. Diese Einschränkung gilt derzeit für die Azure-VM-Größen Standard_M176s_3_v3 und Standard_M176s_4_v3 in der Msv3- und Mdsv3-Reihe mit mittlerem Arbeitsspeicher.
Storage
In der Checkliste in diesem Abschnitt werden die bewährten Speichermethoden für SQL Server auf Azure-VMs behandelt.
- Überwachen Sie die Anwendung, und bestimmen Sie die Anforderungen an die Speicherbandbreite und Wartezeit für SQL Server-Daten-, Protokoll- und
tempdb
-Dateien, bevor Sie den Datenträgertyp auswählen. - Wenn verfügbar, konfigurieren Sie die
tempdb
-Daten und -Protokolldateien auf dem lokalen SSD-Volume von Laufwerk D. Die SQL IaaS-Agent-Erweiterung verarbeitet den Ordner und die Berechtigungen, die bei der erneuten Bereitstellung erforderlich sind. - Um die Speicherleistung zu optimieren, planen Sie für die höchsten verfügbaren nicht zwischengespeicherten IOPS, und verwenden Sie Datenzwischenspeicherung als Leistungsmerkmal für Datenlesevorgänge, während Sie die Begrenzung virtueller Computer und Datenträger vermeiden.
- Wenn Sie die SQL Server-VMs der Serien Ebdsv5 oder Ebsv5 verwenden, sollten Sie SSD Premium v2 einsetzen, um die beste Leistung zu erzielen. Sie können Ihre SQL Server-VM mit SSD Premium v2 über das Azure-Portal bereitstellen (derzeit in der Vorschau).
- Platzieren Sie Daten- und Protokoll- und
tempdb
-Dateien auf separaten Laufwerken.- Verwenden Sie für das Datenlaufwerk Premium P30- und P40-Datenträger oder kleinere Datenträger, um die Verfügbarkeit der Cacheunterstützung sicherzustellen. Bei Verwendung der Ebdsv5-VM-Serie nutzen Sie Premium SSD v2, die eine bessere Preisleistung für Workloads bietet, die einen hohen IOPS- und E/A-Durchsatz erfordern.
- Für das Protokolllaufwerk planen Sie die Kapazität und testen die Leistung im Verhältnis zu den Kosten, während Sie entweder die Premium SSD v2- oder Premium SSD-Datenträger P30-P80 bewerten
- Wenn eine Speicherwartezeit von weniger als einer Millisekunde erforderlich ist, verwenden Sie entweder Premium SSD v2 oder Azure Ultra-Disks für das Transaktionsprotokoll.
- Für Bereitstellungen von virtuellen Computern der M-Serie sollten Sie eine Schreibbeschleunigung der Verwendung von Azure-Ultra-Datenträgern vorziehen.
- Platzieren Sie tempdb auf dem temporären SSD-Laufwerk (das temporäre Laufwerk ist kurzlebig und standardmäßig
D:\
) für die meisten SQL Server-Workloads, die nicht Teil der Failoverclusterinstanz (FCI) sind, nachdem Sie die optimale VM-Größe ausgewählt haben.- Wenn die Kapazität des lokalen Laufwerks für
tempdb
nicht ausreicht, können Sie eine Vergrößerung der VM in Erwägung ziehen. Weitere Informationen finden Sie unter Richtlinien für das Zwischenspeichern von Datendateien.
- Wenn die Kapazität des lokalen Laufwerks für
- Für Failoverclusterinstanzen (FCI) platzieren Sie
tempdb
auf dem gemeinsamen Speicher.- Wenn die FCI-Workload stark von der
tempdb
-Datenträgerleistung abhängig ist, platzieren Sietempdb
als erweiterte Konfiguration auf dem lokalen kurzlebigen SSD-Laufwerk (standardmäßigD:\
), das nicht Teil des FCI-Speichers ist. Für diese Konfiguration sind benutzerdefinierte Überwachung und Aktionen erforderlich, um sicherzustellen, dass das lokale kurzlebige SSD-Laufwerk (standardmäßigD:\
) immer verfügbar ist, da Fehler dieses Laufwerks keine Aktion der FCI auslösen.
- Wenn die FCI-Workload stark von der
- Erstellen Sie ein Stripeset mehrerer Azure-Datenträger mithilfe von Speicherplätzen, um die E/A-Bandbreite bis zum IOPS- und Durchsatzlimit des virtuellen Zielcomputers zu erhöhen.
- Legen Sie Hostzwischenspeicherung für Datenträger mit Datendateien auf Schreibgeschützt fest.
- Legen Sie Hostzwischenspeicherung für Protokolldateidatenträger auf Keine fest.
- Aktivieren Sie kein Lese-/Schreib-Caching auf Festplatten, die SQL Server-Daten oder Protokolldateien enthalten.
- Beenden Sie immer den SQL Server-Dienst, bevor Sie die Cache-Einstellungen Ihrer Festplatte ändern.
- Bei der Migration mehrerer verschiedener Workloads in die Cloud kann Azure Elastic SAN eine kostengünstige konsolidierte Speicherlösung sein. Bei Verwendung von Azure Elastic SAN muss jedoch oft eine überhöhte Kapazität bereitgestellt werden, um den gewünschten IOPS/Durchsatz für SQL Server-Workloads zu erreichen. Wenn auch in der Regel für einzelne SQL Server-Workloads nicht geeignet, kann beim Zusammenlegen von Workloads mit geringer Leistung mit SQL Server dennoch eine kostengünstige Lösung erzielt werden.
- Für Workloads in Entwicklungs- und Testumgebungen sowie für die langfristige Archivierung von Sicherungskopien sollten Sie Standardspeicher verwenden. Es wird nicht empfohlen, HDD/SSD Standard für Produktionsworkloads zu verwenden.
- Auf Guthaben basierendes Datenträgerbursting (P1-P20) sollte nur für kleinere Dev-/Test-Workloads und Abteilungssysteme in Betracht gezogen werden.
- Um die Speicherleistung zu optimieren, planen Sie für die höchsten verfügbaren nicht zwischengespeicherten IOPS, und verwenden Sie Datenzwischenspeicherung als Leistungsmerkmal für Datenlesevorgänge, während Sie Drosselung von VMs und Datenträgern vermeiden.
- Formatieren Sie den Datenträger, um die Größe der Zuordnungseinheiten von 64 KB für alle Datendateien zu verwenden, die auf einem anderen Laufwerk als dem temporären Laufwerk
D:\
abgelegt werden (Standardwert: 4 KB). SQL Server über Azure Marketplace bereitgestellten virtuellen Computer verfügen über Datenträger, die mit der Größe der Zuordnungseinheit formatiert sind, und Interleave für den Speicherpool auf 64 KB. - Konfigurieren Sie das Speicherkonto in derselben Region wie die SQL Server-VM.
- Deaktivieren Sie den georedundanten Azure-Speicher (Georeplikation), und verwenden Sie LRS (lokal redundanter Speicher) für das Speicherkonto.
- Aktivieren Sie die SQL-Best-Practices-Bewertung, um mögliche Leistungsprobleme zu identifizieren und zu ermitteln, ob Ihre SQL Server-VM so konfiguriert ist, dass bewährte Methoden befolgt werden.
- Überprüfen und überwachen Sie Datenträger- und VM-Grenzwerte mithilfe von Speicher-E/A-Auslastungsmetriken.
- Schließen Sie SQL Server-Dateien von der Antivirensoftwareüberprüfung aus, einschließlich Datendateien, Protokolldateien und Sicherungsdateien.
Sicherheit
In der Checkliste in diesem Abschnitt werden die bewährten Sicherheitsmethoden für SQL Server auf Azure-VMs behandelt.
SQL Server-Features und -Funktionen bieten Methoden zum Sichern von Daten auf Datenbankebene, die mit Sicherheitsfeatures auf Infrastrukturebene kombiniert werden können. Gemeinsam bieten diese Features umfassende Verteidigungstiefe auf Infrastrukturebene für cloudbasierte und Hybridlösungen. Darüber hinaus ist es mit den Azure-Sicherheitsmaßnahmen möglich, sensible Daten zu verschlüsseln, VMs vor Viren und Malware zu schützen, den Netzwerkdatenverkehr abzusichern, Bedrohungen zu identifizieren, Complianceanforderungen zu erfüllen. Außerdem wird durch diese Sicherheitsmaßnahmen eine einheitliche Methode zur Verwaltung und Berichterstattung für sämtliche Sicherheitsanforderungen in der Hybrid Cloud bereitgestellt.
- Verwenden Sie Microsoft Defender für Cloud, um die Sicherheitslage Ihrer Datenumgebung zu bewerten und Maßnahmen zur Verbesserung zu ergreifen. Funktionen wie Microsoft Defender for Identity können über in Ihren hybriden Workloads genutzt werden, um die Sicherheitsbewertung zu verbessern und auf Risiken reagieren zu können. Aufgrund der Registrierung Ihrer SQL Server-VM bei der SQL-IaaS-Agent-Erweiterung werden die Microsoft Defender für Cloud-Bewertungen in der Ressource SQL-VM des Azure-Portals angezeigt.
- Verwenden Sie Microsoft Defender für SQL, um potenzielle Sicherheitsrisiken von Datenbanken zu ermitteln und zu entschärfen sowie anomale Aktivitäten zu erkennen, die auf eine Bedrohung Ihrer SQL Server-Instanz und Datenbankebene hindeuten könnten.
- Die Sicherheitsrisikobewertung ist Bestandteil von Microsoft Defender für SQL. Durch sie können potenzielle Risiken für Ihre SQL Server-Umgebung erkannt und beseitigt werden. Sie bietet einen Überblick über Ihren Sicherheitsstatus und schlägt Maßnahmen zum Beheben von Sicherheitsproblemen vor.
- Verwenden Sie vertrauliche Azure-VMs, um Ihre Daten während der Verwendung und im Ruhezustand vor Zugriffen durch den Hostoperator zu schützen. Vertrauliche Azure-VMs ermöglichen Ihnen, Ihre vertraulichen Daten in der Cloud zu speichern und dabei strenge Complianceanforderungen zu erfüllen.
- Wenn Sie mit SQL Server 2022 arbeiten, sollten Sie die Microsoft Entra-Authentifizierung für die Verbindung zu Ihrer SQL Server-Instance verwenden.
- Der Azure Advisor analysiert Ihre Ressourcenkonfiguration und Nutzungstelemetrie und empfiehlt dann Lösungen, mit denen Sie die Kosteneffizienz, Leistung, Hochverfügbarkeit und Sicherheit Ihrer Azure-Ressourcen verbessern können. Nutzen Sie den Azure Advisor auf der Ebene von VMs, Ressourcengruppen oder Abonnements, um Best Practices zur Optimierung Ihrer Azure-Bereitstellungen zu identifizieren und anzuwenden.
- Verwenden Sie Azure Disk Encryption, wenn Ihre Compliance- und Sicherheitsanforderungen eine umfassende Datenverschlüsselung mithilfe von Verschlüsselungsschlüsseln verlangen, einschließlich der Verschlüsselung der kurzlebigen (lokal angeschlossenen und temporären) Festplatte.
- Verwaltete Datenträger im Ruhezustand werden standardmäßig mit der Azure-Speicherdienstverschlüsselung verschlüsselt. Dabei sind die Verschlüsselungsschlüssel von Microsoft verwaltete Schlüssel, die in Azure gespeichert werden.
- Einen Vergleich der Optionen für die Verschlüsselung von verwalteten Datenträgern finden Sie in der Vergleichstabelle für die Verschlüsselung von verwalteten Datenträgern.
- Verwaltungsports sollten auf Ihren VMs geschlossen werden: Offene Ports zur Remoteverwaltung setzen Ihre VMs einem hohen Risiko durch internetbasierte Angriffe aus. um Administratorzugriff auf den Computer zu erhalten.
- Aktivieren Sie den JIT-Zugriff (Just-In-Time) für virtuelle Azure-Computer.
- Verwenden Sie Azure Bastion über das Remotedesktopprotokoll (RDP).
- Sperren Sie Ports, und lassen Sie nur den notwendigen Anwendungsverkehr zu. Verwenden Sie dazu Azure Firewall (eine verwaltete FaaS-Lösung [Firewall-as-a-Service]), die den Serverzugriff auf Grundlage der IP-Adresse des Absenders gewährt oder verweigert.
- Verwenden Sie Netzwerksicherheitsgruppen (NSGs), um den Netzwerkverkehr an und von Azure-Ressourcen in virtuellen Azure-Netzwerken zu filtern.
- Nutzen Sie Anwendungssicherheitsgruppen, um Server mit ähnlichen Anforderungen an die Portfilterung und mit ähnlichen Funktionen (z. B. Webserver und Datenbankserver) in Gruppen zusammenzufassen.
- Nutzen Sie für Web- und Anwendungsserver Azure DDoS Protection (Distributed Denial of Service). DDoS-Angriffe zielen darauf ab, die Netzwerkressourcen zu überlasten und zu erschöpfen, sodass Apps langsam werden oder nicht mehr reagieren. DDoS-Angriffe zielen in der Regel auf Benutzeroberflächen ab. Der Azure DDoS Protection-Dienst blockiert unerwünschten Netzwerkverkehr, bevor er die Dienstverfügbarkeit beeinträchtigt.
- Verwenden Sie VM-Erweiterungen, um mithilfe von Antischadsoftware, Desired State-Konfigurationen, Bedrohungserkennung, -prävention und -beseitigung Bedrohungen auf Betriebssystem-, Computer- und Netzwerkebene zu bekämpfen:
- Die Erweiterung „Gastkonfiguration“ führt Überprüfungs- und Konfigurationsvorgänge innerhalb von virtuellen Computern durch.
- Die VM-Erweiterung des Network Watcher-Agents für Windows und Linux ist ein Dienst zur Überwachung, Diagnose und Analyse der Netzwerkleistung, der die Überwachung von Azure-Netzwerken ermöglicht.
- Die Microsoft Antimalware-Erweiterung für Windows unterstützt Sie mit konfigurierbaren Warnungen bei der Erkennung und Entfernung von Viren, Spyware und anderer schädlicher Software.
- Evaluieren Sie Erweiterungen von Drittanbietern, z. B. Symantec Endpoint Protection für Windows-VMs (/azure/virtual-machines/extensions/symantec).
- Verwenden Sie Azure Policy, um Geschäftsregeln zu erstellen, die auf Ihre Umgebung angewendet werden können. Azure-Richtlinien bewerten Azure-Ressourcen, indem sie die Eigenschaften dieser Ressourcen mit Regeln vergleichen, die im JSON-Format definiert sind.
- Azure Blueprints ermöglicht es Cloudarchitekten und zentralen IT-Gruppen, eine wiederholbare Gruppe von Azure-Ressourcen zu definieren, mit der die Standards, Muster und Anforderungen einer Organisation implementiert und erzwungen werden. Azure Blueprints unterscheidet sich von Azure Policy.
- Verwenden Sie Windows Server 2019 oder Windows Server 2022, um mit SQL Server auf Azure-VMs FIPS-kompatibel zu sein.
SQL Server-Funktionen
Im Folgenden finden Sie eine kurze Checkliste der Best Practices für SQL Server-Konfigurationseinstellungen, wenn Sie Ihre SQL Server-Instanzen auf einem virtuellen Azure-Computer in der Produktion ausführen:
- Aktivieren Sie ggf. die Datenbankseitenkomprimierung.
- Aktivieren Sie die Sicherungskomprimierung.
- Aktivieren Sie die sofortige Dateiinitialisierung für Datendateien.
- Begrenzen Sie die automatische Vergrößerung der Datenbank.
- Deaktivieren Sie die automatische Verkleinerung der Datenbank.
- Deaktivieren Sie das automatische Schließen der Datenbank.
- Verschieben Sie alle Datenbanken, einschließlich der Systemdatenbanken auf Datenträger für Daten.
- Verschieben Sie die Verzeichnisse für das SQL Server-Fehlerprotokoll und die Ablaufverfolgungsdateien auf die Datenträger für Daten.
- Konfigurieren Sie standardmäßige Dateispeicherorte für Sicherungen und Datenbanken.
- Legen Sie ein Arbeitsspeicherlimit für SQL Server fest, damit dem Betriebssystem genügend Arbeitsspeicher zur Verfügung steht. (Verwenden Sie „Arbeitsspeicher: Verfügbare Bytes“, um den Arbeitsspeicherzustand des Betriebssystems zu überwachen.)
- Aktivieren Sie Seiten im Arbeitsspeicher sperren.
- Aktivieren Sie Für Ad-hoc-Arbeitsauslastungen optimieren für OLTP-Umgebungen mit hoher Auslastung.
- Evaluieren Sie die aktuellen kumulativen Updates für die installierte Version von SQL Server, und wenden Sie sie an.
- Aktivieren Sie Abfragespeicher für alle SQL Server-Produktionsdatenbanken gemäß den Best Practices.
- Aktivieren Sie die automatische Optimierung für unternehmenskritische Anwendungsdatenbanken.
- Stellen Sie sicher, dass alle Best Practices für tempdb befolgt werden.
- Verwenden Sie die empfohlene Anzahl von Dateien. Beginnen Sie bei mehreren
tempdb
-Datendateien mit einer Datei pro Kern, und verwenden Sie nicht mehr als acht Dateien. - Wenn verfügbar, konfigurieren Sie die
tempdb
-Daten und -Protokolldateien auf dem lokalen SSD-Volume von Laufwerk D. Die SQL IaaS-Agent-Erweiterung verarbeitet den Ordner und die Berechtigungen, die bei der erneuten Bereitstellung erforderlich sind. - Planen Sie SQL Server-Agent-Aufträge für die Ausführung von DBCC CHECKDB-, index reorganize-, index rebuild- und update statistics-Vorgängen.
- Überwachen und verwalten Sie die Integrität und Größe der SQL Server-Transaktionsprotokolldatei.
- Nutzen Sie die neuen SQL Server-Features, die für die verwendete Version verfügbar sind.
- Beachten Sie die Unterschiede bei den unterstützten Features der jeweiligen Editionen, die Sie bereitstellen möchten.
- Ausschließen von SQL Server-Dateien von Antivirensoftwareüberprüfung. Dies umfasst Datendateien, Protokolldateien und Sicherungsdateien.
Azure-Features
Im Folgenden finden Sie eine kurze Checkliste der Best Practices zur Azure-spezifischen Anleitung bei der Ausführung Ihrer SQL Server-Instanzen auf Azure-VM:
- Registrieren Sie sich für die SQL Server-IaaS-Agent-Erweiterung, um eine Reihe von Featurevorteilen zu nutzen.
- Nutzen Sie die beste Sicherungs- und Wiederherstellungsstrategie für Ihre SQL Server-Workload.
- Stellen Sie sicher, dass der beschleunigte Netzwerkbetrieb auf dem virtuellen Computer aktiviert ist.
- Nutzen Sie Microsoft Defender für Cloud, um den Sicherheitsstatus Ihres bereitgestellten virtuellen Computers insgesamt zu verbessern.
- Nutzen Sie Microsoft Defender für Cloud in Microsoft Defender für Cloud für bestimmte SQL Server-VM-Abdeckungen, einschließlich Sicherheitsrisikobewertungen und Just-in-Time-Zugriff, wodurch der Angriffsdienst reduziert wird, während berechtigte Benutzer bei Bedarf auf virtuelle Computer zugreifen können. Weitere Informationen finden Sie unter Sicherheitsrisikobewertungen, Aktivieren von Sicherheitsrisikobewertungen für SQL Server-VMs und Just-in-Time-Zugriff.
- Nutzen Sie Azure Advisor, um Empfehlungen für Leistung, Kosten, Zuverlässigkeit, Operational Excellence und Sicherheit zu erfüllen.
- Nutzen Sie Azure Monitor, um Telemetriedaten aus Ihrer SQL Server-Umgebung zu sammeln, zu analysieren und darauf zu reagieren. Dies umfasst das Identifizieren von Infrastrukturproblemen mit VM-Erkenntnissen und das Überwachen von Daten mit Log Analytics für eine ausführlichere Diagnose.
- Aktivieren Sie die Option Automatisches Herunterfahren für Entwicklungs- und Testumgebungen.
- Implementieren Sie eine HADR-Lösung (High Availability and Disaster Recovery), die Ihren SLAs für Geschäftskontinuität entspricht. Weitere Informationen finden Sie unter HADR-Optionen, die für SQL Server auf Azure-VMs verfügbar sind.
- Verwenden Sie das Azure-Portal (Support und Problembehandlung), um die Integrität und den Verlauf von Ressourcen zu bewerten. Übermitteln Sie bei Bedarf neue Supportanfragen.
HADR-Konfiguration
In der Checkliste in diesem Abschnitt werden die bewährten HADR-Methoden für SQL Server auf Azure-VMs behandelt.
HADR-Features (High Availability and Disaster Recovery) wie die AlwaysOn-Verfügbarkeitsgruppe und die Failoverclusterinstanz basieren auf der zugrunde liegenden Windows Server-Failovercluster-Technologie. Sehen Sie sich die bewährten Methoden zum Ändern Ihrer HADR-Einstellungen an, um die Cloudumgebung besser zu unterstützen.
Erwägen Sie für Ihren Windows-Cluster die folgenden bewährten Methoden:
- Stellen Sie Ihre SQL Server-VMs nach Möglichkeit in mehreren Subnetzen bereit, um die Abhängigkeit von einem Azure Load Balancer oder einem verteilten Netzwerknamen (DNN) zur Weiterleitung des Datenverkehrs an Ihre HADR-Lösung zu vermeiden.
- Ändern Sie den Cluster in weniger aggressive Parameter, um unerwartete Ausfälle durch vorübergehende Netzwerkfehler oder Wartung der Azure-Plattform zu vermeiden. Weitere Informationen finden Sie unter Heartbeat- und Schwellenwerteinstellungen. Verwenden Sie für Windows Server 2012 und höher die folgenden empfohlenen Werte:
- SameSubnetDelay: 1 Sekunde
- SameSubnetThreshold: 40 Heartbeats
- CrossSubnetDelay: 1 Sekunde
- CrossSubnetThreshold: 40 Herzschläge
- Platzieren Sie Ihre VMs in einer Verfügbarkeitsgruppe oder verschiedenen Verfügbarkeitszonen. Weitere Informationen finden Sie unter VM-Verfügbarkeitseinstellungen.
- Verwenden Sie eine einzelne NIC pro Clusterknoten.
- Konfigurieren Sie die Clusterquorumabstimmung so, dass eine ungerade Anzahl von mindestens drei Stimmen verwendet wird. Weisen Sie DR-Regionen keine Stimmen zu.
- Überwachen Sie Ressourcengrenzwerte sorgfältig, um unerwartete Neustarts oder Failover aufgrund von Ressourceneinschränkungen zu vermeiden.
- Stellen Sie sicher, dass Betriebssystem, Treiber und SQL Server den neuesten Builds entsprechen.
- Optimieren Sie die Leistung für SQL Server auf Azure-VMs. Weitere Informationen finden Sie in den anderen Abschnitten dieses Artikels.
- Reduzieren oder verteilen Sie die Workload, um Ressourcengrenzwerte zu vermeiden.
- Wechseln Sie zu einer VM oder einem Datenträger mit höheren Grenzwerten, um Einschränkungen zu vermeiden.
Erwägen Sie für die SQL Server Verfügbarkeitsgruppe oder Failoverclusterinstanz die folgenden bewährten Methoden:
- Wenn häufig unerwartete Fehler auftreten, befolgen Sie die leistungsbezogenen bewährten Methoden, die im restlichen Teil dieses Artikels beschrieben werden.
- Falls sich die unerwarteten Failover durch Optimierung der Leistung der SQL Server-VMs nicht beheben lassen, erwägen Sie eine Lockerung der Überwachung für die Verfügbarkeitsgruppe oder Failoverclusterinstanz. Dadurch wird jedoch möglicherweise nicht die zugrunde liegende Ursache des Problems behoben, und durch Verringerung der Fehlerwahrscheinlichkeit können Symptome maskiert werden. Möglicherweise müssen Sie die zugrunde liegende Ursache dennoch untersuchen und beheben. Verwenden Sie für Windows Server 2012 oder höher die folgenden empfohlenen Werte:
- Leasetimeout: Verwenden Sie diese Gleichung, um den maximalen Leasetimeoutwert zu berechnen:
Lease timeout < (2 * SameSubnetThreshold * SameSubnetDelay)
.
Beginnen Sie mit 40 Sekunden. Wenn Sie die zuvor empfohlenen gelockertenSameSubnetThreshold
- undSameSubnetDelay
-Werte verwenden, darf der Leasetimeoutwert 80 Sekunden nicht überschreiten. - Maximale Fehler in einem angegebenen Zeitraum: Legen Sie diesen Wert auf 6 fest.
- Leasetimeout: Verwenden Sie diese Gleichung, um den maximalen Leasetimeoutwert zu berechnen:
- Wenn Sie den virtuellen Netzwerknamen (VNN) und einen Azure Load Balancer verwenden, um sich mit Ihrer HADR-Lösung zu verbinden, geben Sie
MultiSubnetFailover = true
in der Verbindungszeichenfolge an, auch wenn sich Ihr Cluster nur über ein Subnetz erstreckt.- Wenn der Client
MultiSubnetFailover = True
nicht unterstützt, müssen Sie möglicherweiseRegisterAllProvidersIP = 0
undHostRecordTTL = 300
festlegen, um Clientanmeldeinformationen für kürzere Zeiträume zwischenzuspeichern. Dies kann jedoch zu zusätzlichen Abfragen an den DNS-Server führen.
- Wenn der Client
- Beim Herstellen einer Verbindung mit der HADR-Lösung mithilfe des Namens des verteilten Netzwerks (Distributed Network Name, DNN) ist Folgendes zu beachten:
- Sie müssen einen Clienttreiber verwenden, der
MultiSubnetFailover = True
unterstützt, und dieser Parameter muss in der Verbindungszeichenfolge enthalten sein. - Verwenden Sie einen eindeutigen DNN-Port in der Verbindungszeichenfolge, wenn Sie eine Verbindung mit dem DNN-Listener für eine Verfügbarkeitsgruppe herstellen.
- Sie müssen einen Clienttreiber verwenden, der
- Verwenden Sie eine Verbindungszeichenfolge für Datenbankspiegelung für eine Basic-Verfügbarkeitsgruppe, um die Notwendigkeit eines Lastenausgleichs oder DNN zu umgehen.
- Überprüfen Sie die Sektorgröße Ihrer VHDs, bevor Sie Ihre Hochverfügbarkeitslösung bereitstellen, um falsch ausgerichtete E/A zu vermeiden. Weitere Informationen finden Sie unter KB3009974.
- Wenn die SQL Server-Datenbank-Engine, der Always On-Verfügbarkeitsgruppenlistener oder der Integritätstest der Failoverclusterinstanz so konfiguriert sind, dass ein Port zwischen 49152 und 65536 (der standardmäßige dynamische Portbereich für TCP/IP) verwendet wird, fügen Sie einen Ausschluss für jeden Port hinzu. Dadurch wird verhindert, dass anderen Systemen dynamisch derselbe Port zugewiesen wird. Im folgenden Beispiel wird ein Ausschluss für Port 59999 erstellt:
netsh int ipv4 add excludedportrange tcp startport=59999 numberofports=1 store=persistent
Behandeln von Problemen mit der Leistung
Im Folgenden finden Sie eine Liste hilfreicher Ressourcen zur weiteren Problembehandlung von SQL Server-Leistungsproblemen.
- Problembehandlung mit hoher CPU-Auslastung
- Verstehen und Beheben von Blockierungsproblemen
- Problembehandlung bei langsam laufenden Abfragen
- Problembehandlung von Leistungseinbußen aufgrund von E/A-Problemen
- Behandeln von Problemen mit dem Abfragetimeout
- Problembehandlung mit unzureichendem oder wenig Arbeitsspeicher
- Das Leistungsdashboard ermöglicht schnelle Einblicke in den Leistungsstatus von SQL Server.
Zugehöriger Inhalt
Erwägen Sie die Aktivierung von SQL-Bewertung für SQL Server auf Azure-VMs.
Weitere Artikel zu virtuellen SQL Server-Computern finden Sie unter Übersicht zu SQL Server auf virtuellen Azure-Computern. Falls Sie Fragen zu SQL Server-VMs haben, finden Sie in den häufig gestellten Fragen weitere Informationen.