Azure Well-Architected Framework-Überprüfung – Azure SQL-Datenbank
Azure SQL-Datenbank ist eine vollständig verwaltete PaaS-Datenbank-Engine (Platform as a Service), bei der die meisten Funktionen für die Datenbankverwaltung ohne Benutzereingriff erfolgen. Verwaltungsfunktionen umfassen Upgrades, Patches, Sicherungen und Überwachung.
Der Einzelne Datenbankressourcentyp erstellt eine Datenbank in Azure SQL-Datenbank mit eigenen Ressourcengruppen und wird über einen logischen Server verwaltet. Sie können zwischen dem DTU-basierten Einkaufsmodell oder dem vCore-basierten Einkaufsmodell wählen. Sie können mehrere Datenbanken in einem einzelnen Ressourcenpool mit elastischen Pools erstellen.
Die folgenden Abschnitte enthalten eine Entwurfsprüfliste und empfohlene Designoptionen, die für Azure SQL-Datenbank Sicherheit spezifisch sind. Die Leitlinien basieren auf den fünf Säulen der architektonischen Exzellenz:
- Zuverlässigkeit
- Sicherheit
- Kostenoptimierung
- Betriebliche Effizienz
- Effiziente Leistung
Voraussetzungen
Das Verständnis der Säulen des Well-Architected Framework kann dazu beitragen, eine qualitativ hochwertige, stabile und effiziente Cloudarchitektur zu erzeugen. Sehen Sie sich die Übersichtsseite des Azure Well-Architected Framework an, um die fünf Säulen der architektonischen Exzellenz zu überprüfen.
Überprüfen Sie die Kernkonzepte von Azure SQL-Datenbank und Was ist neu in Azure SQL-Datenbank?.
Azure SQL-Datenbank und Zuverlässigkeit
Azure SQL-Datenbank ist eine vollständig verwaltete PaaS-Datenbank-Engine (Platform as a Service), bei der die meisten Funktionen für die Datenbankverwaltung ohne Benutzereingriff erfolgen. Zu den Verwaltungsfunktionen gehören:
- Upgrades
- Patches
- Backups
- Überwachung
Mit diesem Dienst können Sie eine hoch verfügbare und leistungsstarke Datenspeicherebene für Ihre Azure-Anwendungen und -Workloads erstellen. Azure SQL-Datenbank wird immer in der aktuellen stabilen Version der SQL Server-Datenbank-Engine und auf einem gepatchten Betriebssystem mit 99.99%
Verfügbarkeit ausgeführt.
Weitere Informationen dazu, wie Azure SQL-Datenbank die Zuverlässigkeit fördert und es Ihrem Unternehmen ermöglicht,den Betrieb auch bei Störungen aufrechtzuerhalten, finden Sie unter Verfügbarkeitsfunktionen.
Die folgenden Abschnitte enthalten Entwurfsüberlegungen, eine Konfigurationsprüfliste und empfohlene Konfigurationsoptionen speziell für Azure SQL-Datenbank und die Zuverlässigkeit dieses Diensts.
Überlegungen zum Entwurf
Für Azure SQL-Datenbank gelten die folgenden Entwurfsüberlegungen:
Die mit Georeplikation konfigurierte Azure SQL-Datenbank-Dienstebene „Unternehmenskritisch“ bietet für
100%
der Bereitstellungsstunden eine garantierte Wiederherstellungszeit (Recovery Time Objective, RTO) von30
Sekunden.Verwenden Sie Sharding, um Daten und Prozesse auf viele identisch strukturierte Datenbanken zu verteilen. Sharding stellt eine Alternative zur herkömmlichen Hochskalierung im Hinblick auf Kosten und Elastizität dar. Erwägen Sie die Verwendung von Sharding, um die Datenbank horizontal zu partitionieren. Sharding kann Fehlerisolation bereitstellen. Weitere Informationen finden Sie unter Horizontales Hochskalieren mit Azure SQL-Datenbank.
Die Azure SQL-Datenbank-Dienstebenen „Unternehmenskritisch“ und „Premium“, die nicht für zonenredundante Bereitstellungen konfiguriert sind, und die Dienstebenen „Universell“, „Standard“, „Basic“ und „Hyperscale“ mit zwei oder mehr Replikaten bieten eine Verfügbarkeitsgarantie. Weitere Informationen zur Verfügbarkeitsgarantie finden Sie unter SLA für Azure SQL-Datenbank.
Bietet integrierte regionale Hochverfügbarkeit und schlüsselfertige Georeplikation in jeder Azure-Region. Sie enthält Business Intelligence zur Unterstützung selbstangetriebener Funktionen, darunter:
- Leistungsoptimierung
- Bedrohungsüberwachung
- Sicherheitsrisikobewertungen
- Vollständig automatisiertes Patchen und Aktualisieren der Codebasis
Definieren Sie eine SLA zur Anwendungsleistung, und überwachen Sie sie mit Warnungen. Erkennen Sie schnell, wenn die Leistung Ihrer Anwendung versehentlich unter ein akzeptables Maß fällt. Dies ist wichtig, um eine hohe Resilienz aufrechtzuerhalten. Verwenden Sie die zuvor definierte Überwachungslösung, um Warnungen für wichtige Metriken zur Abfrageleistung festzulegen, damit Sie Maßnahmen ergreifen können, wenn die Leistung nicht mehr die SLA erfüllt. Wechseln Sie zu "Datenbank überwachen" und "Warnungstools ", um weitere Informationen zu erfahren.
Verwenden Sie die Geowiederherstellung für die Wiederherstellung nach einem Dienstausfall. Sie können eine Datenbank auf einem SQL-Datenbank-Server oder eine Instanzdatenbank einer beliebigen verwalteten Instanz in einer beliebigen Azure-Region aus den aktuellsten georeplizierten Sicherungen wiederherstellen. Geowiederherstellung verwendet eine georeplizierte Sicherung als Quelle. Sie können die Geowiederherstellung auch dann anfordern, wenn aufgrund eines Ausfalls kein Zugriff auf Datenbank oder Rechenzentrum möglich ist. Mit der Geowiederherstellung wird eine Datenbank auf der Basis einer georedundanten Sicherung wiederhergestellt. Weitere Informationen finden Sie unter Wiederherstellen einer Azure SQL-Datenbank mit automatisierten Datenbanksicherungen.
Nutzen Sie die mit Georeplikation konfigurierte Dienstebene „Unternehmenskritisch“, die für
100%
der Bereitstellungsstunden eine garantierte Wiederherstellungszeit (Recovery Time Objective, RTO) von5
Sekunden bietet.Dank der in Azure SQL-Datenbank integrierten PaaS-Funktionen können Sie sich auf die domänenspezifischen Datenbankverwaltungs- und -optimierungsaktivitäten konzentrieren, die für Ihr Unternehmen entscheidend sind.
Verwenden Sie die Point-in-Time-Wiederherstellung für eine Wiederherstellung nach einem menschlichen Fehler. Bei der Zeitpunktwiederherstellung wird Ihre Datenbank auf einen früheren Zeitpunkt zurückgesetzt, um Daten nach versehentlich vorgenommenen Änderungen wiederherzustellen. Weitere Informationen finden Sie in der Dokumentation zur Zeitpunktwiederherstellung (Point-in-time restore, PITR).
Die Ebenen „Unternehmenskritisch“ und „Premium“ werden als zonenredundante Bereitstellungen konfiguriert, die über eine Verfügbarkeitsgarantie verfügen. Weitere Informationen zur Verfügbarkeitsgarantie finden Sie unter SLA für Azure SQL-Datenbank.
Checkliste
Haben Sie Azure SQL-Datenbank unter Berücksichtigung der Zuverlässigkeit konfiguriert?
- Verwenden Sie aktive Georeplikation, um ein lesbares sekundäres Replikat in einer anderen Region zu erstellen.
- Verwenden Sie Autofailover-Gruppen, die eine oder mehrere Datenbanken enthalten können, die in der Regel von derselben Anwendung verwendet werden.
- Nutzen Sie eine zonenredundante Datenbank.
- Überwachen Sie Ihre Azure SQL-Datenbank in Quasi-Echtzeit, um Incidents mit Auswirkungen auf die Zuverlässigkeit zu erkennen.
- Implementieren Sie Wiederholungslogik.
- Sichern Sie Ihre Schlüssel.
Konfigurationsempfehlungen
Sehen Sie sich die folgende Tabelle mit Empfehlungen zur Zuverlässigkeit Ihrer Azure SQL-Datenbank-Konfiguration an:
Empfehlung | Beschreibung |
---|---|
Verwenden Sie aktive Georeplikation, um ein lesbares sekundäres Replikat in einer anderen Region zu erstellen. | Wenn Ihre primäre Datenbank ausfällt, führen Sie ein manuelles Failover zur sekundären Datenbank aus. Bis Sie ein Failover ausführen, bleibt die sekundäre Datenbank schreibgeschützt. Die aktive Georeplikation ermöglicht es Ihnen, lesbare Replikate zu erstellen und bei Ausfall eines Rechenzentrums oder bei einem Anwendungsupgrade ein manuelles Failover auf ein beliebiges Replikat durchzuführen. Bis zu vier sekundäre Datenbanken werden in derselben oder verschiedenen Regionen unterstützt, und die sekundären Datenbanken können auch für schreibgeschützten Abfragezugriff verwendet werden. Das Failover muss durch die Anwendung oder den Benutzer manuell eingeleitet werden. Nach einem Failover hat die neue primäre Datenbank einen anderen Verbindungsendpunkt. |
Verwenden Sie Autofailover-Gruppen, die eine oder mehrere Datenbanken enthalten können, die in der Regel von derselben Anwendung verwendet werden. | Sie können die lesbaren sekundären Datenbanken zur Auslagerung schreibgeschützter Abfrageworkloads verwenden. Da Autofailover-Gruppen mehrere Datenbanken umfassen, müssen diese Datenbanken auf dem primären Server konfiguriert werden. Autofailover-Gruppen unterstützen die Replikation aller Datenbanken in der Gruppe auf nur einem sekundären Server oder einer sekundären Instanz in einer anderen Region. Erfahren Sie mehr über Autofailover-Gruppen und den Entwurf für die Notfallwiederherstellung. |
Nutzen Sie eine zonenredundante Datenbank. | In der Standardeinstellung wird der Cluster von Knoten für das Premium-Verfügbarkeitsmodell im selben Rechenzentrum erstellt. Mit der Einführung von Azure-Verfügbarkeitszonen kann Azure SQL-Datenbank nun verschiedene Replikate von Datenbanken des Typs „Unternehmenskritisch“ in unterschiedlichen Verfügbarkeitszonen in derselben Region platzieren. Um einen Single Point of Failure auszuschließen, wird der Steuerring zudem in mehreren Zonen als drei Gatewayringe (GW) kopiert. Die Weiterleitung an einen bestimmten Gatewayring wird durch Azure Traffic Manager (ATM) gesteuert. Da die zonenredundante Konfiguration in den Dienstebenen „Premium“ oder „Unternehmenskritisch“ keine zusätzliche Datenbankredundanz erzeugt, können Sie sie ohne Zusatzkosten aktivieren. Erfahren Sie mehr über zonenredundante Datenbanken. |
Überwachen Sie Ihre Azure SQL-Datenbank in Quasi-Echtzeit, um Incidents mit Auswirkungen auf die Zuverlässigkeit zu erkennen. | Verwenden Sie eine der verfügbaren Lösungen für die Überwachung der SQL-Datenbank, um potenzielle Incidents, die sich auf die Zuverlässigkeit auswirken, frühzeitig zu erkennen und Ihre Datenbanken zuverlässiger zu machen. Verwenden Sie eine Überwachungslösung in Quasi-Echtzeit, um schnell auf Incidents reagieren zu können. Weitere Informationen finden Sie unter Azure SQL-Analyse. |
Implementieren Sie Wiederholungslogik. | Obwohl Azure SQL-Datenbank bei transitiven Infrastrukturfehlern resilient ist, können solche Fehler die Konnektivität beeinträchtigen. Wenn bei der Arbeit mit SQL-Datenbank ein vorübergehender Fehler auftritt, sollten Sie sicherstellen, dass Ihr Code den Aufruf wiederholen kann. Weitere Informationen finden Sie unter Implementieren von Wiederholungslogik. |
Sichern Sie Ihre Schlüssel. | Sichern Sie Ihre Schlüssel, wenn Sie keine Verschlüsselungsschlüssel in Azure Key Vault verwenden, um Ihre Daten zu schützen. |
Azure SQL-Datenbank und Sicherheit
SQL-Datenbank bietet eine Reihe von integrierten Sicherheits- und Konformitätsfeatures, mit der Sie Ihre Anwendung an verschiedene Sicherheits- und Konformitätsanforderungen anpassen können.
Prüfliste für den Entwurf
Haben Sie Ihre Workload entworfen und Azure SQL-Datenbank mit Sicherheit konfiguriert?
- Verstehen Sie logische Server und erfahren Sie, wie Sie Anmeldungen für mehrere Datenbanken verwalten können, wenn dies erforderlich ist.
- Aktivieren Sie die Microsoft Entra-Authentifizierung mit Azure SQL. Die Microsoft Entra-Authentifizierung ermöglicht vereinfachte Berechtigungsverwaltung und zentralisierte Identitätsverwaltung.
- Azure SQL-logische Server sollten über einen Microsoft Entra-Administrator verfügen.
- Überprüfen Sie, ob die E-Mail-Adresse der Kontaktinformationen in Ihrem Azure-Abonnement für Dienstadministratoren und Co-Administratoren die richtigen Parteien innerhalb Ihres Unternehmens erreicht. Sie möchten keine wichtigen Sicherheitsbenachrichtigungen von Azure verpassen oder ignorieren!
- Überprüfen Sie die Azure SQL-Datenbank Konnektivitätsarchitektur. Wählen Sie die
Redirect
entsprechende Richtlinie oderProxy
Verbindungsrichtlinie aus. - Überprüfen Sie Azure SQL-Datenbank Firewallregeln.
- Verwenden Sie virtuelle Netzwerkregeln , um die Kommunikation von bestimmten Subnetzen in virtuellen Netzwerken zu steuern.
- Wenn Sie die Azure-Firewall verwenden, konfigurieren Sie Azure Firewall-Anwendungsregeln mit SQL-FQDNs.
Empfehlungen
Empfehlung | Vorteil |
---|---|
Überprüfen Sie die mindeste TLS-Version. | Ermitteln Sie, ob Sie ältere TLS- oder unverschlüsselte Verbindungen benötigen. Nachdem Sie eine bestimmte Version von TLS festgelegt haben, können Sie nicht mehr zum Standardwert zurückkehren. Überprüfen und konfigurieren Sie die mindeste TLS-Version für SQL-Datenbank-Verbindungen über die Azure-Portal. Wenn nicht, legen Sie die neueste TLS-Version auf das Minimum fest. |
Sachkonto | Erwägen Sie das Entwerfen von Datenbanktabellen basierend auf dem Ledger , um Überwachung, Manipulationsnachweise und Vertrauen aller Datenänderungen bereitzustellen. |
Always Encrypted | Erwägen Sie das Entwerfen des Anwendungszugriffs basierend auf Always Encrypted , um vertrauliche Daten in Anwendungen zu schützen, indem Sie den Datenzugriff auf Verschlüsselungsschlüssel delegieren. |
Private Endpunkte und private Verknüpfung | Private Endpunktverbindungen erzwingen sichere Kommunikation, indem private Konnektivität zum Azure SQL-Datenbank aktiviert wird. Sie können einen privaten Endpunkt verwenden, um Verbindungen zu sichern und standardmäßig den Zugriff auf öffentliche Netzwerke zu verweigern. Azure Private Link für Azure SQL-Datenbank ist eine Art privater Endpunkt, der für Azure SQL-Datenbank empfohlen wird. |
Automatisierte Sicherheitsrisikobewertungen | Überwachen Sie die Ergebnisse und Empfehlungen für die Überprüfung der Sicherheitsrisikobewertung, um Datenbankrisiken zu beheben. |
Advanced Threat Protection für Azure SQL-Datenbank | Erkennen Sie anomale Aktivitäten, die ungewöhnliche und potenziell schädliche Versuche zeigen, auf Datenbanken mit Advanced Threat Protection für Azure SQL-Datenbank zuzugreifen oder diese auszunutzen. Warnungen des erweiterten Bedrohungsschutzes (Advanced Threat Protection) sind in Microsoft Defender für Cloud integriert. |
Überwachung | Nachverfolgen von Datenbankereignissen mit Überwachung für Azure SQL-Datenbank. |
Verwaltete Identitäten | Erwägen Sie die Konfiguration einer vom Benutzer zugewiesenen verwalteten Identität (UMI). Verwaltete Identitäten für Azure-Ressourcen vermeiden die Notwendigkeit, Anmeldeinformationen im Code zu verwalten. |
Reine Microsoft Entra-Authentifizierung | Erwägen Sie, die SQL-basierte Authentifizierung zu deaktivieren und nur die Microsoft Entra-Authentifizierung zuzulassen. |
Richtliniendefinitionen
Überprüfen Sie die Azure-Sicherheitsgrundwerte für Azure SQL-Datenbank und integrierte Azure-Richtliniendefinitionen.
Alle integrierten Richtliniendefinitionen im Zusammenhang mit Azure SQL sind in integrierten Richtlinien aufgeführt.
Lernprogramm überprüfen: Sichern einer Datenbank in Azure SQL-Datenbank.
Azure SQL-Datenbank und Kostenoptimierung
Azure SQL-Datenbank ist eine vollständig verwaltete PaaS-Datenbank-Engine (Platform as a Service), bei der die meisten Funktionen für die Datenbankverwaltung ohne Benutzereingriff erfolgen. Zu den Verwaltungsfunktionen gehören:
- Upgrades
- Patches
- Backups
- Überwachung
Mit diesem Dienst können Sie eine hoch verfügbare und leistungsstarke Datenspeicherebene für Ihre Azure-Anwendungen und -Workloads erstellen. SQL-Datenbank enthält integrierte Datenanalysen, mit denen Sie die Kosten für die Ausführung und Verwaltung von Datenbanken durch eine automatische Leistungsüberwachung und -optimierung erheblich senken können.
Weitere Informationen dazu, wie Azure SQL-Datenbank Funktionen zur Kostenoptimierung bereitstellt, finden Sie unter Planen und Verwalten der Kosten für Azure SQL-Datenbank.
Die folgenden Abschnitte enthalten eine Konfigurationsprüfliste und empfohlene Konfigurationsoptionen speziell für Azure SQL-Datenbank und die Kostenoptimierung.
Checkliste
Haben Sie Azure SQL-Datenbank unter Berücksichtigung der Kostenoptimierung konfiguriert?
- Optimieren von Abfragen
- Auswerten der Ressourcennutzung.
- Optimieren Sie den Speicherverbrauch der Sicherung.
- Wertet Azure SQL-Datenbank serverlos aus.
- Erwägen Sie die reservierte Kapazität für Azure SQL-Datenbank.
- Ziehen Sie elastische Pools zum Verwalten und Skalieren mehrerer Datenbanken in Betracht.
Konfigurationsempfehlungen
Sehen Sie sich die folgende Tabelle mit Empfehlungen für die Kostenoptimierung Ihrer Azure SQL-Datenbank-Konfiguration an:
Empfehlung | Beschreibung |
---|---|
Optimieren von Abfragen | Optimieren Sie die Abfragen, Tabellen und Datenbanken mithilfe von Abfrageleistungseinblicken und Leistungsempfehlungen , um den Ressourcenverbrauch zu verringern und zu einer geeigneten Konfiguration zu gelangen. |
Auswerten der Ressourcennutzung. | Bewerten Sie die Ressourcennutzung für alle Datenbanken, und ermitteln Sie, ob sie ordnungsgemäß angepasst und bereitgestellt wurden. Berücksichtigen Sie bei Nichtproduktionsdatenbanken die Skalierung von Ressourcen nach unten. Die DTUs oder vCores für eine Datenbank können bei Bedarf skaliert werden, z. B. wenn ein Auslastungstest oder ein Benutzerakzeptanztest ausgeführt wird. |
Optimieren des Sicherungsspeicherverbrauchs | Für Datenbanken mit virtuellen Kernen in Azure SQL-Datenbank wird der verbrauchte Speicher für jeden Sicherungstyp (vollständig, differenziell und Protokoll) im Bereich der Datenbanküberwachung als separate Metrik ausgewiesen. Der Speicherverbrauch für Sicherungen bis zur maximalen Datengröße für eine Datenbank wird nicht in Rechnung gestellt. Der zusätzliche Sicherungsspeicherverbrauch hängt von der Workload und der maximalen Größe der einzelnen Datenbanken ab. Weitere Informationen finden Sie unter Sicherungsspeicherverbrauch. |
Auswerten von Azure SQL-Datenbank – serverlos | Erwägen Sie die Verwendung Azure SQL-Datenbank Serverless über die Bereitgestellte Computerebene. Bei der serverlosen Computeebene handelt es sich um eine Computeebene für Singletons, bei denen auf Workloadbedarf basierende Computeressourcen automatisch skaliert werden und die Nutzung sekundengenau abrechnet wird. Im Tarif „Serverloses Computing“ werden Datenbanken während inaktiver Phasen (in denen nur Speicher in Rechnung gestellt wird) außerdem automatisch angehalten. Datenbanken werden automatisch fortgesetzt, wenn die Aktivität fortgesetzt wird. Azure SQL-Datenbank – serverlos ist nicht in allen Szenarien geeignet. Wenn Sie über eine Datenbank mit unvorhersehbaren oder platzigen Nutzungsmustern verfügen, die mit Zeiträumen mit geringer oder leerer Nutzung interspersiert sind, ist serverless eine Lösung, die Ihnen helfen kann, die Preisleistung zu optimieren. |
Verwenden von Reservekapazität für Azure SQL-Datenbank | Sie können die Computekosten im Zusammenhang mit Azure SQL-Datenbank reduzieren, indem Sie den Reservierungsrabatt nutzen. Nachdem Sie die gesamte Computekapazität und eine Leistungsstufe für Azure SQL-Datenbank in einer Region ermittelt haben, können diese Informationen verwenden, um Kapazität zu reservieren. Die Reservierung kann ein Jahr oder drei Jahre umfassen. Weitere Informationen dazu finden Sie unter Sparen von Kosten für Ressourcen mit reservierter Kapazität. |
Pools für elastische Datenbanken als Hilfe beim Verwalten und Skalieren mehrerer Datenbanken in Azure SQL-Datenbank | Pools für elastische Azure SQL-Datenbank-Instanzen sind eine einfache, kostengünstige Lösung zum Verwalten und Skalieren einer großen Zahl von Datenbanken mit variierenden und unvorhersehbaren Nutzungsanforderungen. Die Datenbanken in einem Pool für elastische Datenbanken befinden sich auf einem einzelnen Server und nutzen gemeinsam eine festgelegte Anzahl von Ressourcen zu einem festen Preis. Weitere Informationen finden Sie unter Elastic Pools zum Verwalten und Skalieren mehrerer Datenbanken. |
Weitere Informationen finden Sie unter "Planen und Verwalten von Kosten für Azure SQL-Datenbank".
Azure SQL-Datenbank und erstklassige Betriebsprozesse
Azure SQL-Datenbank ist eine vollständig verwaltete PaaS-Datenbank-Engine (Platform as a Service), bei der die meisten Funktionen für die Datenbankverwaltung ohne Benutzereingriff erfolgen. Zu den Verwaltungsfunktionen gehören:
- Upgrades
- Patches
- Backups
- Überwachung
Mit diesem Dienst können Sie eine hoch verfügbare und leistungsstarke Datenspeicherebene für Ihre Azure-Anwendungen und -Workloads erstellen. Azure SQL-Datenbank bietet erweiterte Überwachungs- und Optimierungsfunktionen, die von künstlicher Intelligenz unterstützt werden, um Ihnen bei der Problembehandlung und Maximierung der Leistung Ihrer Datenbanken und Lösungen zu helfen.
Weitere Informationen dazu, wie Azure SQL-Datenbank erstklassige Betriebsprozesse fördert und es Ihrem Unternehmen ermöglicht, den Betrieb während Unterbrechungen fortzusetzen, erhalten Sie unter Überwachung und Optimierung in Azure SQL-Datenbank.
Die folgenden Abschnitte enthalten Entwurfsüberlegungen, eine Konfigurationsprüfliste und empfohlene Konfigurationsoptionen speziell für Azure SQL-Datenbank und erstklassige Betriebsprozesse.
Überlegungen zum Entwurf
Für Azure SQL-Datenbank gelten die folgenden Entwurfsüberlegungen:
Die mit Georeplikation konfigurierte Azure SQL-Datenbank-Dienstebene „Unternehmenskritisch“ bietet für
100%
der Bereitstellungsstunden eine garantierte Wiederherstellungszeit (Recovery Time Objective, RTO) von30
Sekunden.Verwenden Sie Sharding, um Daten und Prozesse auf viele identisch strukturierte Datenbanken zu verteilen. Sharding stellt eine Alternative zur herkömmlichen Hochskalierung im Hinblick auf Kosten und Elastizität dar. Erwägen Sie die Verwendung von Sharding, um die Datenbank horizontal zu partitionieren. Sharding kann Fehlerisolation bereitstellen. Weitere Informationen finden Sie unter Horizontales Hochskalieren mit Azure SQL-Datenbank.
Die Azure SQL-Datenbank-Dienstebenen „Unternehmenskritisch“ und „Premium“, die nicht für zonenredundante Bereitstellungen konfiguriert sind, und die Dienstebenen „Universell“, „Standard“, „Basic“ und „Hyperscale“ mit zwei oder mehr Replikaten bieten eine Verfügbarkeitsgarantie. Weitere Informationen finden Sie unter SLA für Azure SQL-Datenbank.
Bietet integrierte regionale Hochverfügbarkeit und schlüsselfertige Georeplikation in jeder Azure-Region. Sie enthält Business Intelligence zur Unterstützung selbstangetriebener Funktionen, darunter:
- Leistungsoptimierung
- Bedrohungsüberwachung
- Sicherheitsrisikobewertungen
- Vollständig automatisiertes Patchen und Aktualisieren der Codebasis
Definieren Sie eine SLA zur Anwendungsleistung, und überwachen Sie sie mit Warnungen. Erkennen Sie schnell, wenn die Leistung Ihrer Anwendung versehentlich unter ein akzeptables Maß fällt. Dies ist wichtig, um eine hohe Resilienz aufrechtzuerhalten. Verwenden Sie die zuvor definierte Überwachungslösung, um Warnungen für wichtige Metriken zur Abfrageleistung festzulegen, damit Sie Maßnahmen ergreifen können, wenn die Leistung nicht mehr die SLA erfüllt. Weitere Informationen finden Sie unter Überwachen Ihrer Datenbank.
Verwenden Sie die Geowiederherstellung für die Wiederherstellung nach einem Dienstausfall. Sie können eine Datenbank auf einem SQL-Datenbank-Server oder eine Instanzdatenbank einer beliebigen verwalteten Instanz in einer beliebigen Azure-Region aus den aktuellsten georeplizierten Sicherungen wiederherstellen. Geowiederherstellung verwendet eine georeplizierte Sicherung als Quelle. Sie können die Geowiederherstellung auch dann anfordern, wenn aufgrund eines Ausfalls kein Zugriff auf Datenbank oder Rechenzentrum möglich ist. Mit der Geowiederherstellung wird eine Datenbank auf der Basis einer georedundanten Sicherung wiederhergestellt. Weitere Informationen finden Sie unter Wiederherstellen einer Azure SQL-Datenbank mit automatisierten Datenbanksicherungen.
Nutzen Sie die mit Georeplikation konfigurierte Dienstebene „Unternehmenskritisch“, die für
100%
der Bereitstellungsstunden eine garantierte Wiederherstellungszeit (Recovery Time Objective, RTO) von5
Sekunden bietet.Dank der in Azure SQL-Datenbank integrierten PaaS-Funktionen können Sie sich auf die domänenspezifischen Datenbankverwaltungs- und -optimierungsaktivitäten konzentrieren, die für Ihr Unternehmen entscheidend sind.
Verwenden Sie die Point-in-Time-Wiederherstellung für eine Wiederherstellung nach einem menschlichen Fehler. Bei der Zeitpunktwiederherstellung wird Ihre Datenbank auf einen früheren Zeitpunkt zurückgesetzt, um Daten nach versehentlich vorgenommenen Änderungen wiederherzustellen. Weitere Informationen finden Sie in der Dokumentation zur Zeitpunktwiederherstellung (Point-in-time restore, PITR).
Die Dienstebenen Unternehmenskritisch oder Premium werden als zonenredundante Bereitstellungen konfiguriert. Weitere Informationen zur Verfügbarkeitsgarantie finden Sie unter SLA für Azure SQL-Datenbank.
Checkliste
Haben Sie Azure SQL-Datenbank unter Berücksichtigung erstklassiger Betriebsprozesse konfiguriert?
- Verwenden Sie aktive Georeplikation, um ein lesbares sekundäres Replikat in einer anderen Region zu erstellen.
- Verwenden Sie Autofailover-Gruppen, die eine oder mehrere Datenbanken enthalten können, die in der Regel von derselben Anwendung verwendet werden.
- Nutzen Sie eine zonenredundante Datenbank.
- Überwachen Sie Ihre Azure SQL-Datenbank in Quasi-Echtzeit, um Incidents mit Auswirkungen auf die Zuverlässigkeit zu erkennen.
- Implementieren Sie die Wiederholungslogik.
- Sichern Sie Ihre Schlüssel.
Konfigurationsempfehlungen
Sehen Sie sich die folgende Tabelle mit Empfehlungen für die Optimierung erstklassiger Betriebsprozesse Ihrer Azure SQL-Datenbank-Konfiguration an:
Empfehlung | Beschreibung |
---|---|
Verwenden Sie aktive Georeplikation, um ein lesbares sekundäres Replikat in einer anderen Region zu erstellen. | Wenn Ihre primäre Datenbank ausfällt, führen Sie ein manuelles Failover zur sekundären Datenbank aus. Bis Sie ein Failover ausführen, bleibt die sekundäre Datenbank schreibgeschützt. Die aktive Georeplikation ermöglicht es Ihnen, lesbare Replikate zu erstellen und bei Ausfall eines Rechenzentrums oder bei einem Anwendungsupgrade ein manuelles Failover auf ein beliebiges Replikat durchzuführen. Bis zu vier sekundäre Datenbanken werden in derselben oder verschiedenen Regionen unterstützt, und die sekundären Datenbanken können auch für schreibgeschützten Abfragezugriff verwendet werden. Das Failover muss durch die Anwendung oder den Benutzer manuell eingeleitet werden. Nach einem Failover hat die neue primäre Datenbank einen anderen Verbindungsendpunkt. |
Verwenden Sie Autofailover-Gruppen, die eine oder mehrere Datenbanken enthalten können, die in der Regel von derselben Anwendung verwendet werden. | Sie können die lesbaren sekundären Datenbanken zur Auslagerung schreibgeschützter Abfrageworkloads verwenden. Da Autofailover-Gruppen mehrere Datenbanken umfassen, müssen diese Datenbanken auf dem primären Server konfiguriert werden. Autofailover-Gruppen unterstützen die Replikation aller Datenbanken in der Gruppe auf nur einem sekundären Server oder einer sekundären Instanz in einer anderen Region. Erfahren Sie mehr über Autofailover-Gruppen und DR-Entwurf. |
Nutzen Sie eine zonenredundante Datenbank. | In der Standardeinstellung wird der Cluster von Knoten für das Premium-Verfügbarkeitsmodell im selben Rechenzentrum erstellt. Mit der Einführung von Azure-Verfügbarkeitszonen kann Azure SQL-Datenbank nun verschiedene Replikate von Datenbanken des Typs „Unternehmenskritisch“ in unterschiedlichen Verfügbarkeitszonen in derselben Region platzieren. Um einen Single Point of Failure auszuschließen, wird der Steuerring zudem in mehreren Zonen als drei Gatewayringe (GW) kopiert. Die Weiterleitung an einen bestimmten Gatewayring wird durch Azure Traffic Manager (ATM) gesteuert. Da die zonenredundante Konfiguration in den Dienstebenen „Premium“ oder „Unternehmenskritisch“ keine zusätzliche Datenbankredundanz erzeugt, können Sie sie ohne Zusatzkosten aktivieren. Erfahren Sie mehr über zonenredundante Datenbanken. |
Überwachen Sie Ihre Azure SQL-Datenbank in Quasi-Echtzeit, um Incidents mit Auswirkungen auf die Zuverlässigkeit zu erkennen. | Verwenden Sie eine der verfügbaren Lösungen für die Überwachung der SQL-Datenbank, um potenzielle Incidents, die sich auf die Zuverlässigkeit auswirken, frühzeitig zu erkennen und Ihre Datenbanken zuverlässiger zu machen. Verwenden Sie eine Überwachungslösung in Quasi-Echtzeit, um schnell auf Incidents reagieren zu können. Weitere Informationen finden Sie unter Azure SQL-Analyse. |
Implementieren Sie Wiederholungslogik. | Obwohl Azure SQL-Datenbank bei transitiven Infrastrukturfehlern resilient ist, können solche Fehler die Konnektivität beeinträchtigen. Wenn bei der Arbeit mit SQL-Datenbank ein vorübergehender Fehler auftritt, sollten Sie sicherstellen, dass Ihr Code den Aufruf wiederholen kann. Weitere Informationen hierzu erfahren Sie, wie Sie Wiederholungslogik und konfigurierbare Wiederholungslogik in der SqlClient-Einführung implementieren. |
Sichern Sie Ihre Schlüssel. | Sichern Sie Ihre Schlüssel, wenn Sie keine Verschlüsselungsschlüssel in Azure Key Vault verwenden, um Ihre Daten zu schützen. |
Azure SQL-Datenbank und Leistungseffizienz
Azure SQL-Datenbank ist eine vollständig verwaltete PaaS-Datenbank-Engine (Platform as a Service), bei der die meisten Funktionen für die Datenbankverwaltung ohne Benutzereingriff erfolgen. Zu den Verwaltungsfunktionen gehören:
- Upgrades
- Patches
- Backups
- Überwachung
Die folgenden Abschnitte enthalten eine Entwurfsprüfliste und empfohlene Designoptionen, die für Azure SQL-Datenbank Leistungseffizienz spezifisch sind.
Prüfliste für den Entwurf
Haben Sie Ihre Workload entworfen und Azure SQL-Datenbank unter Berücksichtigung der Leistungseffizienz konfiguriert?
- Überprüfen Der Ressourcengrenzwert. Informationen zu bestimmten Ressourcenlimits gemäß Tarif (auch als Dienstziel bezeichnet) für Einzeldatenbanken finden Sie unter Ressourcengrenzwerte für Einzeldatenbanken, die das DTU-Kaufmodell verwenden: Azure SQL-Datenbank oder Ressourcenlimits für Singletons mit dem auf virtuellen Kernen (V-Kernen) basierenden Kaufmodell. Die Grenzwerte für Pools für elastische Datenbanken finden Sie unter Grenzwerte für Ressourcen für Pools für elastische Datenbanken, die das DTU-Kaufmodell verwenden oder Ressourcenlimits für Pools für elastische Datenbanken, die das V-Kern-Kaufmodell verwenden.
- Wählen Sie das richtige Bereitstellungsmodell für Ihre Workload, vCore oder DTU aus. Vergleichen Sie die vCore- und DTU-basierten Einkaufsmodelle.
- Microsoft empfiehlt die neueste vCore-Datenbankstandard- oder Premium-Serie-Hardware. Ältere Gen4-Hardware wurde eingestellt.
- Machen Sie sich bei der Verwendung von elastischen Pools mit der Ressourcengovernance vertraut.
- Überprüfen Sie den maximalen Grad an Parallelität (MAXDOP) und konfigurieren Sie nach Bedarf basierend auf einer migrierten oder erwarteten Workload.
- Erwägen Sie die Verwendung schreibgeschützter Replikate kritischer Datenbanken zum Entladen schreibgeschützter Abfrageworkloads.
- Überprüfen Sie das Performance Center für SQL Server-Datenbank-Engine und Azure SQL-Datenbank.
- Anwendungen, die eine Verbindung mit Azure SQL-Datenbank herstellen, sollten die neuesten Verbindungsanbieter verwenden, z. B. den neuesten OLE DB-Treiber oder ODBC-Treiber.
Empfehlungen
Empfehlung | Vorteil |
---|---|
Diagnostizieren und Beheben von Problemen mit hoher CPU-Auslastung. | Azure SQL-Datenbank bietet integrierte Tools, um die Ursachen einer hohen CPU-Auslastung zu identifizieren und die Workloadleistung zu optimieren. |
Grundlegendes zu Blockierungs- und Deadlocking-Problemen. | Das Blockieren aufgrund von Parallelitäts - und beendeten Sitzungen aufgrund von Deadlocks hat unterschiedliche Ursachen und Ergebnisse. |
Optimieren Sie Anwendungen und Datenbanken auf Leistung. | Optimieren Sie Ihre Anwendung und Datenbank, um die Leistung zu verbessern. Überprüfen Sie bewährte Methoden. |
Überprüfen Sie Azure-Portal Berichterstellung und Skalierung der Nutzung entsprechend. | Verwenden Sie nach der Bereitstellung die integrierte Berichterstellung in der Azure-Portal, um regelmäßig spitzen und durchschnittliche Datenbankauslastung und die rechte Größe nach oben oder unten zu überprüfen. Sie können ganz einfach einzelne Datenbanken oder flexible Pools ohne Datenverlust und minimale Ausfallzeiten skalieren. |
Weitere Informationen erhalten Sie unter Leistungsempfehlungen in Azure Database for PostgreSQL. | Überprüfen Sie im Menü "Intelligente Leistung" der Datenbankseite in der Azure-Portal alle Leistungsempfehlungen, und implementieren Sie alle Index-, Schema- und Parametrisierungsprobleme. |
Überprüfen Sie abfrageleistungserblicke. | Überprüfen Sie Abfrageleistungserblicke für Azure SQL-Datenbank Berichte, um die wichtigsten ressourcenaufwendigen Abfragen, lange ausgeführte Abfragen und vieles mehr zu identifizieren. |
Konfigurieren der automatischen Optimierung. | Bieten Sie Spitzenleistung und stabile Workloads durch kontinuierliche Leistungsoptimierung basierend auf KI und maschinellem Lernen. Erwägen Sie die Verwendung von Azure Automation zum Konfigurieren von E-Mail-Benachrichtigungen für die automatische Optimierung. |
Bewerten der potenziellen Verwendung von In-Memory-Datenbankobjekten. | In-Memory-Technologien ermöglichen es Ihnen, die Leistung Ihrer Anwendung zu verbessern und die Kosten Ihrer Datenbank potenziell zu senken. Erwägen Sie das Entwerfen einiger Datenbankobjekte in OLTP-Anwendungen mit hohem Volumen. |
Nutzen Sie die Abfragespeicher. | Standardmäßig in Azure SQL-Datenbank aktiviert, enthält die Abfragespeicher eine Fülle von Abfrageleistungs- und Ressourcenverbrauchsdaten sowie erweiterte Optimierungsfeatures wie Abfragespeicher Hinweise und automatische Plankorrektur. Überprüfen Sie Abfragespeicher Standardwerte in Azure SQL-Datenbank. |
Implementieren Sie die Wiederholungslogik für vorübergehende Fehler. | Anwendungen sollten automatische Transaktions-Wiederholungslogik für vorübergehende Fehler enthalten, einschließlich häufig auftretender Verbindungsfehler. Nutzen Sie die Logik für exponentielle Wiederholungsintervalle. |
Zusätzliche Ressourcen
Informationen zu unterstützten Features finden Sie unter Features und Auflösen von Transact-SQL-Unterschieden während der Migration zu SQL-Datenbank.
Migration zu Azure SQL-Datenbank? Lesen Sie unsere Azure-Datenbankmigrationshandbücher.
Sehen Sie sich Episoden von Data Exposed an, die sich mit Azure SQL-Themen und mehr befassen.