Bearbeiten

Azure SQL-Datenbank Hyperscale – Häufig gestellte Fragen (FAQs)

Gilt für:Azure SQL-Datenbank

Dieser Artikel enthält Antworten auf häufig gestellte Fragen für Kunden, die in Erwägung ziehen, eine Datenbank in Azure SQL-Datenbank mit der Dienstebene „Hyperscale“ zu verwenden, die im weiteren Verlauf dieses Artikels einfach als „Hyperscale“ bezeichnet wird. In diesem Artikel werden die von Hyperscale unterstützten Szenarien und die Features beschrieben, die mit Hyperscale kompatibel sind.

  • Diese FAQs richten sich an Leser, die einen allgemeinen Überblick über die Dienstebene „Hyperscale“ besitzen und auf der Suche nach Antworten auf ihre Fragen und Probleme sind.
  • Diese FAQs sind nicht als Handbuch oder zur Beantwortung von Fragen im Zusammenhang mit der Verwendung einer Hyperscale-Datenbank zu verstehen. Eine Einführung in Hyperscale finden Sie in der Dokumentation zu Azure SQL-Datenbank Hyperscale.

Allgemeine Fragen

Was ist eine Hyperscale-Datenbank?

Eine Hyperscale-Datenbank ist eine Datenbank in SQL-Datenbank, die durch die Hyperscale-Technologie zur horizontalen Skalierung von Speichern unterstützt wird. Eine Hyperscale-Datenbank unterstützt bis zu 100 TB Daten, zeichnet sich durch einen hohen Durchsatz sowie eine hohe Leistung aus und bietet eine schnelle Skalierung, um sich rasch an die Workloadanforderungen anzupassen. Konnektivität, Abfrageverarbeitung, Datenbank-Engine-Features usw. funktionieren wie bei jeder anderen Datenbank in Azure SQL-Datenbank.

Welche Ressourcentypen und Kaufmodelle unterstützt Hyperscale?

Die Dienstebene „Hyperscale“ ist nur für Einzeldatenbanken verfügbar, bei denen das vCore-basierte Kaufmodell in Azure SQL-Datenbank zum Einsatz kommt. Sie ist im DTU-basierten Kaufmodell nicht verfügbar.

Inwiefern unterscheidet sich die Dienstebene „Hyperscale“ von den Dienstebenen „Universell“ und „Unternehmenskritisch“?

Die auf virtuellen Kernen basierenden Dienstebenen unterscheiden sich im Hinblick auf Datenbankverfügbarkeit, Speichertyp, Leistung und maximaler Speichergröße, wie unter Ressourcengrenzwerte im Vergleich beschrieben.

Wer sollte die Dienstebene „Hyperscale“ verwenden?

Die Dienstebene „Hyperscale“ ist für all jene Kunden geeignet, die eine höhere Leistung und Verfügbarkeit, eine schnelle Sicherung und Wiederherstellung und/oder eine schnelle Skalierbarkeit von Speicher- und Computeressourcen benötigen. Hierzu zählen Kunden, die zur Modernisierung ihrer Anwendungen in die Cloud wechseln, sowie Kunden, die bereits andere Dienstebenen in Azure SQL-Datenbank verwenden. Mit Hyperscale erhalten Sie Folgendes:

  • Datenbankgröße bis zu 100 TB
  • Schnelle Datenbanksicherungen unabhängig von der Datenbankgröße (Sicherungen basieren auf Speichermomentaufnahmen)
  • Schnelle Datenbankwiederherstellungen unabhängig von der Datenbankgröße (Wiederherstellungen stammen aus Speichermomentaufnahmen)
  • Höheren Protokolldurchsatz unabhängig von der Datenbankgröße und der Anzahl der virtuellen Kerne
  • Horizontale Leseskalierung mit einem oder mehreren schreibgeschützten Replikaten, die für das Auslagern schreibgeschützter Workloads oder als unmittelbar betriebsbereite Datenbanken verwendet werden.
  • Schnelles Hochskalieren der Computeleistung in konstanter Zeit, um eine höhere Leistung bei der Verarbeitung umfangreicher Workloads bereitzustellen, und anschließendes Herunterskalieren in konstanter Zeit. Skalierungsvorgänge benötigen im Falle von bereitgestelltem Computing einen Zeitraum im einstelligen Minutenbereich und beim serverlosen Computing weniger als eine Sekunde, und dies unabhängig von der Datenbankgröße.

Welche Regionen unterstützen derzeit Hyperscale?

Die Dienstebene „Hyperscale“ ist in allen Regionen verfügbar, in denen Azure SQL-Datenbank verfügbar ist.

Können mehrere Hyperscale-Datenbanken pro Server erstellt werden?

Ja. Weitere Informationen und Beschränkungen hinsichtlich der Anzahl von Datenbanken pro Server finden Sie unter Ressourceneinschränkungen in SQL-Datenbank für Einzeldatenbanken und Pooldatenbanken auf einem Server.

Welche Leistungsmerkmale weist eine Hyperscale-Datenbank auf?

Die Hyperscale-Architektur bietet eine hohe Leistung und einen hohen Durchsatz und unterstützt außerdem große Datenbankgrößen.

Was beinhaltet die Skalierbarkeit einer Hyperscale-Datenbank?

Hyperscale bietet schnelle Skalierbarkeit basierend auf Ihrem Workloadbedarf.

  • Zentrales Hoch-/Herunterskalieren

    Bei Hyperscale können Sie die primäre Computegröße im Hinblick auf Ressourcen wie CPU und Arbeitsspeicher in konstanter Zeit hochskalieren und anschließend herunterskalieren. Da es sich beim Speicher um einen Remotespeicher handelt, ist das Hoch- und Herunterskalieren kein Vorgang, der von der Datengröße abhängig ist.

    Unterstützung für serverloses Computing ermöglicht automatisches Hoch- und Herunterskalieren, und Compute wird basierend auf der Nutzung abgerechnet.

  • Horizontal herunter-/hochskalieren

    Bei Hyperscale können Sie drei Arten von sekundären Replikaten verwenden, um die Anforderungen in Bezug auf die horizontale Leseskalierung, die Hochverfügbarkeit und Georeplikationen zu erfüllen. Dies schließt Folgendes ein:

    • Bis zu vier Hochverfügbarkeitsreplikate mit derselben Computegröße wie die primäre. Diese dienen als Hot-Standbys-Replikate, um schnell ein Failover von der primären Computegröße ausführen zu können. Sie können mit diesen außerdem Leseworkloads von der primären Computegröße auslagern.
    • Bis zu 30 benannte Replikate mit derselben Computegröße wie die primäre oder einer anderen Computegröße als die primäre, um viele Szenarien mit horizontaler Leseskalierung zu bieten.
    • Ein Georeplikat in einer anderen Azure-Region zum Schutz vor regionalen Ausfällen und zur Ermöglichung der geografischen horizontalen Leseskalierung.

Vertiefende Fragen

Können Hyperscale- und Einzeldatenbanken in einem einzelnen Server kombiniert werden?

Ja, das ist möglich.

Müssen für Hyperscale Änderungen am Anwendungsprogrammiermodell vorgenommen werden?

Nein, Ihr Anwendungsprogrammiermodell bleibt unverändert wie für alle anderen MS SQL-Datenbanken. Sie verwenden Ihre Verbindungszeichenfolge wie gewohnt und die anderen regulären Modi, um mit Ihrer Hyperscale-Datenbank zu interagieren. Sobald Ihre Anwendung die Hyperscale-Datenbank nutzt, kann Ihre Anwendung Funktionen wie sekundäre Replikate nutzen.

Welche Transaktionsisolationsstufe ist die Standardeinstellung in einer Hyperscale-Datenbank?

Für das primäre Replikat gilt die RCSI-Transaktionsisolationsstufe (Read Committed Snapshot Isolation, Isolation der READ COMMITTED-Momentaufnahme). In den sekundären Replikaten mit horizontaler Leseskalierung ist die Standardisolationsstufe die Momentaufnahme. Dies gilt auch für alle anderen Azure SQL-Datenbank-Instanzen.

Kann ich meine lokalen oder IaaS-basierten SQL Server-Lizenzen zu Hyperscale migrieren?

Mit der neuen, vereinfachten Preisgestaltung, die seit dem 15. Dezember 2023 in Kraft ist, wurde der Preis für Rechenleistung für neu erstellte Hyperscale-Datenbanken, alle serverlosen Hyperscale-Datenbanken und alle Hyperscale-Pools für elastische Datenbanken gesenkt. Mit der neuen, vereinfachten Preisgestaltung ist es nicht mehr notwendig, den Azure-Hybridvorteil (AHB) anzuwenden, um entsprechende Einsparungen zu erzielen. Azure-Hybridvorteil (AHB) kann nur auf ältere (vor dem 15. Dezember 2023 erstellte) Hyperscale-Einzeldatenbanken mit bereitgestellter Berechnung angewendet werden. Für diese älteren Datenbanken gilt die AHB nur bis Dezember 2026, danach werden auch diese Datenbanken nach der neuen, vereinfachten Preisgestaltung abgerechnet. Weitere Informationen finden Sie im Hyperscale-Preisblog und unter Azure SQL-Datenbank Hyperscale – niedrigere, vereinfachte Preise!.

Für welche Art von Workloads ist Hyperscale konzipiert?

Hyperscale eignet sich gut für alle Workloadtypen, z. B. OLTP, Hybrid (HTAP) und Analyse (Data Mart).

Wie kann ich zwischen Azure Synapse Analytics und Azure SQL-Datenbank Hyperscale wählen?

Wenn Sie zurzeit interaktive Analyseabfragen mit SQL Server als Data Warehouse ausführen, stellt Hyperscale eine hervorragende Option dar, weil Sie kleine und mittelgroße Data Warehouses (z.B. von wenigen TB bis hin zu 100 TB) zu geringeren Kosten hosten und Ihre SQL Server Data Warehouse-Workloads mit nur minimalen Änderungen am T-SQL-Code zu Hyperscale migrieren können.

Wenn Sie Datenanalysen im großen Umfang mit komplexen Abfragen und nachhaltigen Erfassungsraten von mehr als 100 MB/Sek. oder aber mithilfe von Parallel Data Warehouse (PDW), Teradata oder anderen Data Warehouses mit MPP-Design (Massively Parallel Processing) durchführen, ist Azure Synapse Analytics oder Microsoft Fabric möglicherweise die beste Wahl.

Fragen zu Hyperscale Compute

Kann ich die Computebereitstellung jederzeit anhalten?

Derzeit leider nicht. Sie können Ihre Computeressourcen und die Anzahl der Replikate jedoch herunterskalieren, um die Kosten außerhalb von Spitzenzeiten zu senken, oder serverloses Computing verwenden, um Compute basierend auf der Nutzung automatisch zu skalieren.

Kann ich ein Computereplikat mit zusätzlichem RAM für meine speicherintensive Workload bereitstellen?

Für Leseworkloads können Sie ein benanntes Replikat mit einer höheren Computegröße (mehr Kerne und Arbeitsspeicher) als die primäre erstellen. Weitere Informationen zu verfügbaren Computegrößen finden Sie unter Hyperscale – bereitgestellte Computegrößen – Gen5.

Kann ich mehrere Computereplikate unterschiedlicher Größe bereitstellen?

Bei Leseworkloads kann dies mithilfe von benannten Replikaten erreicht werden.

Wie viele Replikate mit horizontaler Leseskalierung werden unterstützt?

Sie können die Anzahl der sekundären Hochverfügbarkeitsreplikate zwischen 0 und 4 über das Azure-Portal oder die REST-API skalieren. Darüber hinaus können Sie bis zu 30 benannte Replikate für viele Szenarien mit horizontaler Leseskalierung erstellen.

Muss ich zur Erzielung von Hochverfügbarkeit zusätzliche Computereplikate bereitstellen?

Bei Hyperscale-Datenbanken wird Datenresilienz auf Speicherebene bereitgestellt. Sie benötigen nur ein Replikat (das primäre), um Resilienz bereitzustellen. Wenn das Computereplikat ausfällt, wird automatisch und ohne Datenverluste ein neues Replikat erstellt.

Wenn es jedoch nur das primäre Replikat gibt, kann es bis zu zwei Minuten dauern, ein neues Replikat nach dem Failover zu erstellen, wohingegen es nur Sekunden dauert, wenn ein sekundäres Hochverfügbarkeitsreplikat verfügbar ist. Das neue Replikat verfügt zunächst über Caches für kalte Daten, was unmittelbar nach dem Failover möglicherweise zu einer höheren Speicherlatenz und einer geringeren Abfrageleistung führen kann.

Für unternehmenskritische Apps, die Hochverfügbarkeit bei minimalen Failoverauswirkungen erfordern, sollten Sie mindestens ein sekundäres HA-Replikat bereitstellen, um sicherzustellen, dass ein unmittelbar betriebsbereiter Standbyserver-Replikat als Failover-Ziel verfügbar ist.

Fragen zur Datengröße und Speicherkapazität

Welche maximale Datenbankgröße wird mit Hyperscale unterstützt?

100 TB.

Wie groß ist das Transaktionsprotokoll bei Hyperscale?

Das Transaktionsprotokoll in Hyperscale ist praktisch unbegrenzt (mit einer Einschränkung, dass ein aktiver Teil des Protokolls nicht 1 TB überschreiten kann). Der aktive Teil des Protokolls kann aufgrund lang ausgeführter Transaktionen oder aufgrund der Verarbeitung der Change Data Capture nicht mit der Datenänderungsrate schritthalten. Vermeiden Sie unnötig lange und große Transaktionen, damit dieser Grenzwert nicht überschritten wird. Abgesehen von dieser Einschränkungen müssen Sie sich keine Gedanken darum machen, dass der Protokollspeicherplatz bei einem System mit hohem Protokolldurchsatz ausgeschöpft werden könnte. Allerdings wird bei kontinuierlichen intensiv schreibenden Workloads die Protokollgenerierungsrate möglicherweise gedrosselt. Die dauerhafte Protokollgenerierungsrate liegt bei 100 MB/Sek.

Kann die temp-Datenbank mit zunehmendem Wachstum skaliert werden?

Ihre tempdb-Datenbank befindet sich im lokalen SSD-Speicher. Ihre Größe ist proportional zu der Computegröße (der Anzahl von Kernen), die Sie bereitstellen. Die Größe von tempdb kann nicht konfiguriert werden und wird für Sie verwaltet. Informationen zur Ermittlung der maximalen tempdb-Größe für Ihre Datenbank finden Sie im Artikel zum Hyperscale-Speicher und den Computegrößen.

Wird die Datenbankgröße automatisch skaliert, oder muss ich die Größe von Datendateien verwalten?

Die Datenbankgröße nimmt automatisch zu, je mehr Daten Sie einfügen bzw. erfassen.

Was ist die kleinste Datenbankgröße, die Hyperscale unterstützt?

10 GB. Eine Hyperscale-Datenbank wird mit einer Anfangsgröße von 10 GB erstellt und wächst nach Bedarf in 10 GB-Blöcken.

In welchen Schritten wird die Datenbankgröße erhöht?

Jede Datendatei wächst um 10 GB. Mehrere Datendateien können gleichzeitig wachsen.

Ist der Speicher in Hyperscale lokal oder remote?

In Hyperscale werden Datendateien im Azure-Standardspeicher gespeichert. Daten werden im lokalen SSD-Speicher auf Seitenservern, die sich fern von Computereplikaten befinden, vollständig zwischengespeichert. Außerdem verfügen Computereplikate über Datencaches auf lokalem SSD und im Arbeitsspeicher, damit Daten von Remoteseitenservern seltener abgerufen werden müssen.

Können bei Hyperscale Dateien oder Dateigruppen verwaltet oder definiert werden?

Nein. Datendateien werden automatisch zur Dateigruppe PRIMARY hinzugefügt. Die häufigsten Gründe für das Erstellen zusätzlicher Dateigruppen gelten nicht für die Hyperscale-Speicherarchitektur oder im weiteren Sinne für Azure SQL-Datenbank.

Kann für meine Datenbank eine feste Obergrenze für das Datenwachstum festgelegt werden?

Nein.

Wird die Verkleinerung von Datenbanken unterstützt?

Derzeit leider nicht.

Wird Datenkomprimierung unterstützt?

Ja, genau wie bei allen anderen Azure SQL-Datenbank-Instanzen. Dies umfasst die Zeilen-, Seiten- und Columnstorekomprimierung.

Werden Daten in einer großen Tabelle auf mehrere Datendateien verteilt?

Ja. Die Datenseiten einer bestimmten Tabelle können auf mehrere Datendateien, die Teil der gleichen Dateigruppe sind, verteilt werden. Bei der MS SQL-Datenbank-Engine kommt eine proportionale Füllstrategie zum Einsatz, um Daten auf Datendateien zu verteilen.

Fragen zur Datenmigration

Können vorhandene Datenbanken in Azure SQL-Datenbank zur Dienstebene „Hyperscale“ migriert werden?

Ja. Sie können Ihre vorhandenen Datenbanken in Azure SQL-Datenbank zu Hyperscale migrieren. Für Proof of Concepts (POCs) wird empfohlen, eine Kopie Ihrer Datenbank zu erstellen und die Kopie zu Hyperscale zu migrieren.

Die Zeit zum Verschieben einer vorhandenen Datenbank zu Hyperscale umfasst die Zeit zum Kopieren der Daten und die Zeit zum Wiedergeben der Änderungen, die beim Kopieren von Daten in der Quelldatenbank vorgenommen wurden. Die Zeit für das Kopieren der Daten verhält sich proportional zur Datenmenge. Die Zeit für die Wiedergabe von Änderungen ist kürzer, wenn die Verschiebung während geringer Schreibaktivitäten erfolgt.

Beispielcode zum Migrieren vorhandener Azure SQL-Datenbanken zu Hyperscale in Azure-Portal, Azure CLI, PowerShell und Transact-SQL finden Sie unter Migrieren einer vorhandenen Datenbank zu Hyperscale.

Die umgekehrte Migration zur Dienstebene „Universell“ ermöglicht es Kunden, die vor kurzem eine vorhandene Datenbank in Azure SQL-Datenbank zur Dienstebene „Hyperscale“ migriert haben, wieder dorthin zurückzukehren, falls Hyperscale ihre Anforderungen nicht erfüllt. Während die umgekehrte Migration durch eine Änderung der Dienstebene eingeleitet wird, handelt es sich im Wesentlichen um einen von der Datengröße abhängigen Vorgang zwischen verschiedenen Architekturen. Ähnlich wie bei der Migration zu Hyperscale geht die umgekehrte Migration schneller vonstatten, wenn sie während eines Zeitraums mit geringer Schreibaktivität durchgeführt wird. Erfahren Sie mehr über die Einschränkungen für die umgekehrte Migration.

Kann ich meine Hyperscale-Datenbanken zu anderen Dienstebenen migrieren?

Wenn Sie zuvor eine vorhandene Azure SQL-Datenbank zur Dienstebene „Hyperscale“ migriert haben, können Sie innerhalb von 45 Tagen nach der ursprünglichen Migration zu Hyperscale eine umgekehrte Migration zur Dienstebene „Universell“ durchführen. Wenn Sie die Datenbank zu einer anderen Dienstebene migrieren möchten, z. B. Unternehmenskritisch, migrieren Sie zuerst zur Dienstebene Universell zurück, und ändern Sie dann die Dienstebene. Die umgekehrte Migration ist ein von der Datengröße abhängiger Vorgang.

Datenbanken, die in der Dienstebene Hyperscale erstellt wurden, können nicht zu anderen Dienstebenen migriert werden.

Erfahren Sie mehr über die umgekehrte Migration aus Hyperscale, einschließlich der Einschränkungen für die umgekehrte Migration und betroffenen Sicherungsrichtlinien.

Müssen bei der Migration zur Dienstebene „Hyperscale“ Einbußen hinsichtlich des Funktionsumfangs in Kauf genommen werden?

Ja. Einige Azure SQL-Datenbank-Features werden in Hyperscale noch nicht unterstützt. Wenn einige dieser Features für Ihre Datenbank aktiviert sind, wird die Migration zu Hyperscale möglicherweise blockiert, oder diese Features werden nach der Migration beendet. Wir gehen davon aus, dass diese Einschränkungen nur temporär bestehen. Ausführlichere Informationen finden Sie unter Bekannte Einschränkungen.

Kann ich meine lokale SQL Server-Datenbank oder meine SQL Server-Datenbank auf einem virtuellen Cloudcomputer zu Hyperscale migrieren?

Ja. Sie können alle vorhandenen Migrationstechnologien verwenden, um zu Hyperscale zu migrieren, einschließlich Transaktionsreplikation und anderen Technologien zur Datenverschiebung (Massenkopieren, Azure Data Factory, Azure Databricks, SSIS). Lesen Sie auch die Informationen zum Azure Database Migration Service, der viele Migrationsszenarien unterstützt.

Wie lange ist die Downtime bei der Migration aus einer lokalen Umgebung oder der Umgebung eines virtuellen Computers zu Hyperscale, und wie kann ich sie minimieren?

Die Ausfallzeit bei der Migration zu Hyperscale ist identisch mit der Ausfallzeit bei der Migration Ihrer Datenbanken zu anderen Dienstebenen von Azure SQL-Datenbank. Mithilfe von Transaktionsreplikationen können Sie die Ausfallzeit bei der Migration von Datenbanken mit einer Größe von mehreren TB minimieren. Bei sehr großen Datenbanken (über 10 TB) empfiehlt es sich eventuell, den Migrationsvorgang mit ADF, Spark oder anderen Technologien zur Massendatenverschiebung zu implementieren.

Wie lange würde es dauern, bis eine bestimmte Datenmenge zu Hyperscale migriert ist?

Hyperscale kann 100 MB/Sek. neuer/geänderter Daten verarbeiten, aber die Zeit für das Migrieren von Daten in Datenbanken in Azure SQL-Datenbank wird auch durch den verfügbaren Netzwerkdurchsatz, die Lesegeschwindigkeit der Quelle und das Servicelevelziel der Zieldatenbank beeinflusst.

Können Daten aus Blob Storage gelesen und schnell geladen werden (wie PolyBase in Azure Synapse Analytics)?

Sie können festlegen, dass eine Clientanwendung Daten aus Azure Storage lesen und Daten in eine Hyperscale-Datenbank laden soll (genauso, wie dies bei jeder anderen Datenbank in Azure SQL-Datenbank möglich ist). PolyBase wird in Azure SQL-Datenbank derzeit nicht unterstützt. Als Alternative zum schnellen Laden können Sie entweder Azure Data Factory oder einen Spark-Auftrag in Azure Databricks mit dem Spark-Connector für SQL verwenden. Der Spark-Connector für SQL unterstützt Importe mit BULK INSERT.

Es ist auch möglich, Daten aus einem Azure-Blobspeicher mithilfe von BULK INSERT oder OPENROWSET zu lesen: Beispiele für den Massenzugriff auf Daten in Azure Blob Storage.

Einfache Wiederherstellungen oder Massenprotokollierungsmodelle werden in Hyperscale nicht unterstützt. Ein vollständiges Wiederherstellungsmodell ist erforderlich, um Hochverfügbarkeit und Zeitpunktwiederherstellung bereitzustellen. Allerdings bietet die Hyperscale-Protokollarchitektur im Vergleich zu anderen Dienstebenen für Azure SQL-Datenbank eine bessere Datenerfassungsrate.

Ermöglicht Hyperscale die Bereitstellung mehrerer Knoten für die parallele Erfassung von großen Datenmengen?

Nein Hyperscale ist eine SMP-Architektur (symmetrisches Multiprocessing) und keine MPP-Architektur (Massively Parallel Processing, parallele Massenverarbeitung) oder Multimasterarchitektur. Sie können nur mehrere Replikate erstellen, um schreibgeschützte Workloads aufzuskalieren.

Unterstützt Hyperscale die Migration aus anderen Datenquellen wie Amazon Aurora, MySQL, PostgreSQL, Oracle, DB2 und anderen Datenbankplattformen?

Ja. Azure Database Migration Service unterstützt viele Migrationsszenarien.

Fragen zur Geschäftskontinuität und Notfallwiederherstellung

Welche SLAs werden für eine Hyperscale-Datenbank bereitgestellt?

Lesen Sie dazu SLA für Azure SQL-Datenbank. Es wird empfohlen, sekundäre Hochverfügbarkeitsreplikate für kritische Workloads hinzuzufügen. Dies ermöglicht ein schnelleres Failover und reduziert potenzielle Leistungsbeeinträchtigungen unmittelbar nach dem Failover.

Werden Datenbanksicherungen von Azure SQL-Datenbank verwaltet?

Ja.

Unterstützt Hyperscale Verfügbarkeitszonen?

Ja, Hyperscale unterstützt zonenredundante Konfiguration. Mindestens ein sekundäres Hochverfügbarkeitsreplikat und die Nutzung von zonenredundantem oder geozonenreduntantem Speicher sind erforderlich, um die zonenredundante Konfiguration für Hyperscale zu ermöglichen. Die Unterstützung zonenredundanter benannter Hyperscale-Replikate befindet sich derzeit in der Vorschau.

Unterstützt Hyperscale Pools für elastische Datenbanken?

Ja. Hyperscale-Pool für elastische Datenbanken befinden sich derzeit in der Vorschauphase. Zonenredundante Hyperscale-Pools für elastische Datenbanken befinden sich derzeit in der Vorschauphase.

Wie oft werden Datenbanksicherungen durchgeführt?

Für Hyperscale-Datenbanken sind keine herkömmlichen vollständigen, differenziellen und Transaktionsprotokollsicherungen möglich. Stattdessen werden regelmäßig Speichermomentaufnahmen von Datendateien erstellt, wobei für jede Datei ein separates Momentaufnahmenintervall gilt. Das generierte Transaktionsprotokoll wird für den konfigurierten Aufbewahrungszeitraum im unveränderten Zustand gespeichert. Bei der Wiederherstellung werden relevante Transaktionsprotokolldatensätze auf wiederhergestellte Speichermomentaufnahmen angewendet. Unabhängig vom Momentaufnahmenintervall führt dies zu einer transaktional konsistenten Datenbank ohne Datenverlust ab dem angegebenen Zeitpunkt innerhalb des Aufbewahrungszeitraums. Die Datenbanksicherung in Hyperscale ist faktisch kontinuierlich.

Unterstützt Hyperscale Zeitpunktwiederherstellungen?

Ja.

Wie lange dauert die Recovery Point Objective (RPO)/Recovery Time Objective (RTO) bei einer Datenbankwiederherstellung in Hyperscale?

Die RPO für Point-in-Time-Wiederherstellung beträgt 0 Minuten. Die meisten Point-in-Time-Wiederherstellungsvorgänge werden unabhängig von der Datenbankgröße innerhalb von 60 Minuten abgeschlossen. Die Wiederherstellungszeit kann für größere Datenbanken und dann länger sein, wenn für die Datenbank vor und bis zum Wiederherstellungszeitpunkt beträchtliche Schreibaktivitäten aufgetreten sind. Das Ändern der Speicherredundanz beim Ausgeben einer Wiederherstellung kann zu längeren Wiederherstellungszeiten führen, da die Wiederherstellung die Größe der Daten hat und somit die Zeit proportional zur Datenbankgröße ist.

Wirkt sich die Datenbanksicherung auf die Computeleistung auf primären oder sekundären Replikaten aus?

Nein Sicherungen werden vom Speichersubsystem verwaltet und nutzen Speichermomentaufnahmen. Sie wirken sich nicht auf Benutzerworkloads aus.

Kann ich bei einer Hyperscale-Datenbank eine Geowiederherstellung durchführen?

Ja. Geowiederherstellungen werden vollständig unterstützt, wenn ein georedundanter Speicher verwendet wird. Das ist die Standardeinstellung für neue Datenbanken. Anders als bei der Point-in-Time-Wiederherstellung erfordert die Geowiederherstellung einen zeitintensiven Vorgang. Weil Datendateien parallel kopiert werden, hängt die Dauer dieses Vorgangs also hauptsächlich von der Größe der größten Datei in der Datenbank und nicht von der Gesamtgröße der Datenbank ab. Die Geowiederherstellungszeit ist deutlich kürzer, wenn die Datenbank in der Azure-Region wiederhergestellt wird, die mit der Region der Quelldatenbank gekoppelt ist.

Kann ich mit einer Hyperscale-Datenbank Georeplikation einrichten?

Ja. Georeplikation kann für Hyperscale-Datenbanken eingerichtet werden.

Kann ich eine Hyperscale-Datenbanksicherung auf meinem lokalen Server oder unter SQL Server auf einem virtuellen Computer wiederherstellen?

Nein. Das Speicherformat für Hyperscale-Datenbanken unterscheidet sich von jeder veröffentlichten SQL Server-Version. Dabei steuern Sie keine Sicherungen und können nicht darauf zugreifen. Wenn Sie Ihre Daten aus einer Hyperscale-Datenbank entfernen möchten, können Sie sie mithilfe von Datenverschiebungstechnologien extrahieren, z.B. Azure Data Factory, Azure Databricks, SSIS usw.

Werden mir Sicherungsspeicherkosten in Hyperscale in Rechnung gestellt?

Ja. Ab dem 4. Mai 2022 werden Sicherungen für alle neuen Datenbanken basierend auf dem verbrauchten Sicherungsspeicher und der ausgewählten Speicherredundanz zu den Preisen berechnet, die auf der Seite Azure SQL-Datenbank – Preise angegeben sind. Bei Hyperscale-Datenbanken, die vor dem 4. Mai 2022 erstellt wurden, werden Sicherungen nur dann berechnet, wenn die Aufbewahrung von Sicherungen auf mehr als sieben Tagen eingestellt ist. Weitere Informationen finden Sie unter Hyperscale-Sicherungen und Speicherredundanz.

Wie kann ich die Größe des Sicherungsspeichers in meiner Hyperscale-Datenbank ermitteln?

Details zum Ermitteln der Sicherungsspeichergröße finden Sie unter Automatisierte Sicherungen – Azure SQL-Datenbank und Azure SQL Managed Instance.

Wie kann ich die Höhe meiner zu erwartenden Sicherungsrechnung ermitteln?

Um die Höhe Ihrer Sicherungsspeicherrechnung zu ermitteln, wird regelmäßig die Größe des Sicherungsspeichers berechnet und mit dem Sicherungsspeicherpreis und der Anzahl der Stunden seit der letzten Berechnung multipliziert. Um Ihre Sicherungsrechnung für einen bestimmten Zeitraum zu schätzen, multiplizieren Sie die der Rechnung zugrundeliegenden Sicherungsspeichergröße für jede Stunde des Zeitraums mit dem Sicherungsspeicherpreis, und addieren Sie alle Stundenbeträge. Verwenden Sie die REST-API von Azure Monitor, um relevante Azure Monitor-Metriken programmgesteuert für mehrere Stundenintervalle abzufragen. Die Sicherungsabrechnung auf der serverlosen Computingebene ist identisch mit der bereitgestellten Computeebene.

Inwiefern beeinflusst meine Workload meine Sicherungsspeicherkosten?

Die Sicherungskosten sind für Workloads höher, die der Datenbank große Datenmengen hinzufügen oder große Datenmengen in der Datenbank ändern oder löschen. Umgekehrt fallen für Workloads, die zum Großteil schreibgeschützt sind, geringere Sicherungskosten an.

Wie kann ich die Sicherungsspeicherkosten minimieren?

Details zum Minimieren der Sicherungsspeicherkosten finden Sie unter Automatisierte Sicherungen – Azure SQL-Datenbank und Azure SQL Managed Instance.

Fragen zur Leistung

Wie viel Schreibdurchsatz kann ich in einer Hyperscale-Datenbank pushen?

Das Durchsatzlimit für Transaktionsprotokolle ist auf 100 MB/Sek. für jede beliebige Hyperscale-Computegröße festgelegt. Die Möglichkeit zur Erzielung dieser Rate hängt von mehreren Faktoren ab, wie u.a. von Workloadtyp, Clientkonfiguration und -leistung sowie einer ausreichenden Computekapazität im primären Computereplikat, um Protokolldatensätze mit dieser Rate generieren zu können.

Wie viele IOPS erhalte ich im größten Computevorgang?

Die IOPS- bzw. IO-Wartezeit variiert abhängig von den Workloadmustern. Wenn die Daten, auf die zugegriffen wird, unter RBPEX auf dem Computereplikat zwischengespeichert werden, erzielen Sie eine ähnliche E/A-Leistung wie bei den Dienstebenen „Unternehmenskritisch“ oder „Premium“.

Beeinträchtigen Sicherungen meinen Durchsatz?

Nein. Compute ist von der Speicherebene entkoppelt. Dadurch kommt es zu keiner Leistungsbeeinträchtigung bei Sicherungen.

Beeinträchtigt die Bereitstellung zusätzlicher Computereplikate meinen Durchsatz?

Weil der Speicher gemeinsam genutzt wird und es keine direkte physische Replikation zwischen primären und sekundären Computereplikaten gibt, wird der Durchsatz im primären Replikat durch das Hinzufügen von sekundären Replikaten nicht direkt beeinträchtigt. Allerdings können kontinuierliche und intensiv schreibende Workloads auf dem primären Replikat gedrosselt werden, damit Protokolle auf sekundäre Replikate angewendet werden und Seitenserver mit der Verarbeitung aufholen können. Dadurch werden eine schlechte Leseleistung für sekundäre Replikate und lange Wiederherstellungszeiten nach einem Failover auf ein sekundäres Hochverfügbarkeitsreplikat vermieden.

Eignet sich Hyperscale gut für ressourcen- und zeitintensive Abfragen und Transaktionen?

Ja. Wie bei anderen Azure SQL-Datenbank-Instanzen können Verbindungen jedoch aufgrund von sehr seltenen vorübergehenden Fehlern beendet werden, wodurch Abfragen mit langer Ausführungszeit abgebrochen werden und ein Rollback für Transaktionen ausgeführt wird. Eine Ursache für vorübergehende Fehler ist, wenn das System die Datenbank schnell auf einen anderen Serverknoten verlagert, um die kontinuierliche Verfügbarkeit von Compute- und Speicherressourcen sicherzustellen oder eine geplante Wartung durchzuführen. Die meisten dieser Neukonfigurationsereignisse sind in weniger als zehn Sekunden abgeschlossen. Anwendungen, die eine Verbindung mit Ihrer Datenbank herstellen, sollten so erstellt werden, dass diese seltenen vorübergehenden Fehler erwartet und toleriert werden, indem Wiederholungslogik implementiert wird. Konfigurieren Sie zudem ggf. ein Wartungsfenster, das Ihrem Workloadzeitplan entspricht, um vorübergehende Fehler aufgrund einer geplanten Wartung zu vermeiden.

Wie diagnostiziere und behebe ich Leistungsprobleme in einer Hyperscale-Datenbank?

Für die meisten Leistungsprobleme (insbesondere für solche, die nicht durch die Speicherleistung entstehen) gelten allgemeine SQL-Diagnose- und -Problembehandlungsschritte. Informationen zur Hyperscale-spezifischen Speicherdiagnose finden Sie unter Diagnose zur Problembehandlung bei SQL-Hyperscale-Leistungsproblemen.

Wie hoch ist der maximale Arbeitsspeichergrenzwert bei serverlosem im Vergleich zu bereitgestelltem Computing?

Die maximale Arbeitsspeichermenge, auf die eine serverlose Datenbank hochskaliert werden kann, beträgt 3 GB/virtueller Kern, multipliziert mit der maximalen Anzahl von virtuellen Kernen, die konfiguriert wurden, im Vergleich zu mehr als 5 GB/virtueller Kern, multipliziert mit der gleichen Anzahl von virtuellen Kernen in den bereitgestellten Computeressourcen. Details finden Sie unter Grenzwerte für serverlose Hyperscale-Ressourcen.

Fragen zur Skalierbarkeit

Wie lange würde es dauern, um ein Computereplikat hoch- und herunterzuskalieren?

Das Hoch- oder Herunterskalieren dauert in der bereitgestellten Computeebene in der Regel bis zu 2 Minuten, unabhängig von der Datengröße. In der serverlosen Computeebene, in der Compute basierend auf der Workloadanforderung automatisch skaliert wird, beträgt die Skalierungszeit in der Regel weniger als eine Sekunde, kann aber gelegentlich so lange dauern, wie das Skalieren bereitgestellter Computeressourcen.

Wird die Datenbank während des Vorgangs zum zentralen Hoch- bzw. Herunterskalieren offline geschaltet?

Nein Eine Datenbank bleibt während einer Skalierungsoperation nach oben oder unten online.

Ist ein Verbindungsabbruch zu erwarten, wenn die Skalierungsvorgänge im Gange sind?

Das Hoch- oder Herunterskalieren von bereitgestellten Computereplikaten führt dazu, dass Verbindungen getrennt werden, wenn am Ende des Skalierungsvorgangs ein Failover auftritt. Bei serverlosem Computing führt die automatische Skalierung in der Regel nicht dazu, dass eine Verbindung unterbrochen wird. Dies kann jedoch gelegentlich auftreten. Das Hinzufügen oder Entfernen von sekundären Replikaten führt nicht zu Verbindungstrennungen auf dem primären Replikat.

Erfolgt das zentrale Hoch- und Herunterskalieren der Computereplikate automatisch, oder wird dieser Vorgang durch den Endbenutzer ausgelöst?

Die Skalierung bei bereitgestelltem Compute erfolgt durch den Endbenutzer. Automatische Skalierung bei serverlosem Computing wird vom Dienst ausgeführt.

Werden beim Hochskalieren des Computevorgangs auch meine tempdb-Datenbank und mein RBPEX-Cache vergrößert?

Ja. Die Größe der tempdb-Datenbank und die Größe des RBPEX-Cache auf Computeknoten werden automatisch hochskaliert, wenn die Anzahl der Kerne erhöht wird. Ausführlichere Informationen finden Sie im Artikel zum Hyperscale-Speicher und den Computegrößen.

Kann ich mehrere primäre Computereplikate, z. B. ein Multimastersystem, bereitstellen, bei dem mehrere primäre Computeheads zu einem höheren Maß an Parallelität führen können?

Nein. Nur das primäre Computereplikat akzeptiert Lese-/Schreibanforderungen. Sekundäre Computereplikate akzeptieren nur schreibgeschützte Anforderungen.

Fragen zur horizontalen Leseskalierung

Welche Arten von sekundären Replikaten (Leseskalierung) sind in Hyperscale verfügbar?

Für Hyperscale werden Hochverfügbarkeitsreplikate, benannte Replikate und Georeplikate unterstützt. Ausführlichere Informationen finden Sie unter Sekundäre Hyperscale-Replikate.

Wie viele sekundäre Hochverfügbarkeitsreplikate kann ich bereitstellen?

Zwischen 0 und 4. Wenn Sie die Anzahl von Replikaten anpassen möchten, können Sie dies über das Azure-Portal oder die REST-API erledigen.

Wie stelle ich eine Verbindung mit einem sekundären Hochverfügbarkeitsreplikat her?

Sie können eine Verbindung mit diesen zusätzlichen schreibgeschützten Computereplikaten herstellen, indem Sie die Eigenschaft ApplicationIntent in Ihrer Verbindungszeichenfolge auf ReadOnly festlegen. Alle Verbindungen, die mit ReadOnly gekennzeichnet sind, werden automatisch an eines der sekundären Hochverfügbarkeitsreplikate weitergeleitet, falls vorhanden. Ausführliche Informationen finden Sie unter Verwenden von schreibgeschützten Replikaten zum Lesen schreibgeschützter Abfrageworkloads.

Wie kann ich überprüfen, ob ich mithilfe von SQL Server Management Studio (SSMS) oder anderen Clienttools erfolgreich eine Verbindung mit einem sekundären Computereplikat hergestellt habe?

Sie können die folgende T-SQL-Abfrage ausführen: SELECT DATABASEPROPERTYEX ('<database_name>', 'Updateability'). Das Ergebnis lautet READ_ONLY, wenn Sie mit einem schreibgeschützten sekundären Replikat verbunden sind, und READ_WRITE bei einer Verbindung mit dem primären Replikat. Der Datenbankkontext muss auf den Namen Ihrer Datenbank (und nicht auf die master-Datenbank) festgelegt werden.

Kann ich einen dedizierten Endpunkt für ein sekundäres Hochverfügbarkeitsreplikat erstellen?

Nein Sie können eine Verbindung mit sekundären Hochverfügbarkeitsreplikaten nur herstellen, indem Sie ApplicationIntent=ReadOnly angeben. Sie können aber dedizierte Endpunkte für benannte Replikate verwenden.

Wird vom System für die schreibgeschützte Workload auf sekundären Hochverfügbarkeitsreplikaten ein intelligenter Lastenausgleich durchgeführt?

Nein. Eine neue Verbindung mit Schreibschutzabsicht wird an ein beliebiges sekundäres Hochverfügbarkeitsreplikat umgeleitet.

Kann ich sekundäre Hochverfügbarkeitsreplikate unabhängig vom primären Replikat hoch- und herunterskalieren?

Nicht auf der bereitgestellten Computeebene. Da sekundäre Hochverfügbarkeitsreplikate als Failoverziele mit Hochverfügbarkeit verwendet werden, müssen sie dieselbe Konfiguration wie das primäre Replikat aufweisen, um die erwartete Leistung nach einem Failover bereitstellen zu können. Bei serverlosem Computing erfolgt die Skalierung für jedes Hochverfügbarkeitsreplikat basierend auf dem individuellen Workloadbedarf automatisch. Jedes sekundäre Hochverfügbarkeitsreplikat kann weiterhin automatisch auf die konfigurierte maximale Anzahl von Kernen skaliert werden, um die Rolle nach dem Failover zu berücksichtigen. Bei benannten Replikaten kann jedes Replikat einzeln skaliert werden.

Erhalte ich eine unterschiedliche tempdb-Dimensionierung für meine primären Compute- und meine sekundären Hochverfügbarkeitsreplikate?

Nein Ihre tempdb-Datenbank wird basierend auf der bereitgestellten Computegröße konfiguriert, und Ihre sekundären Hochverfügbarkeitsreplikate haben die gleiche Größe wie das primäre Computereplikat (einschließlich tempdb). Da tempdb auf benannten Replikaten gemäß der Computegröße des Replikats dimensioniert wird, kann die Größe geringer oder höher als für tempdb auf dem primären Replikat ausfallen.

Kann ich Indizes und Sichten in meinen sekundären Computereplikaten hinzufügen?

Nein. Hyperscale-Datenbanken verfügen über einen gemeinsamen Speicher. Dies bedeutet, dass alle Computereplikate dieselben Tabellen, Indizes und anderen Datenbankobjekte anzeigen. Wenn Sie zusätzliche für Lesevorgänge optimierte Indizes im sekundären Replikat benötigen, müssen Sie sie im primären Replikat hinzufügen. Sie können weiterhin temporäre Tabellen (Tabellennamen mit dem Präfix # oder ##) für die einzelnen sekundären Replikate erstellen, um temporäre Daten zu speichern. Temporäre Tabellen haben Lese-/Schreibzugriff.

Wie lange dauert die Verzögerung zwischen dem primären und dem sekundären Computereplikat?

Die Datenlatenz ab dem Zeitpunkt, zu dem eine Transaktion auf dem primären Replikat committet wird, bis zu dem Zeitpunkt, zu dem sie auf einem sekundären Replikat lesbar ist, hängt von den aktuellen Werten für Protokollgenerierungsrate, Transaktionsgröße und Last auf dem Replikat sowie anderen Faktoren ab. Die typische Datenlatenz bei kleinen Transaktionen liegt im Bereich einiger Zehntel Millisekunden, es gibt jedoch keine obere Grenze für die Datenlatenz. Daten in einem bestimmten sekundären Replikat sind immer transaktionskonsistent, sodass größere Transaktionen länger dauern, bis sie verteilt werden. Zu einem bestimmten Zeitpunkt kann die Datenlatenz und der Datenbankzustand für verschiedene sekundäre Replikate jedoch unterschiedlich sein. Workloads, die committete Daten sofort lesen müssen, sollten auf dem primären Replikat ausgeführt werden.

Kann ein benanntes Replikat als Failoverziel verwendet werden?

Nein, benannte Replikate können nicht als Failoverziele für das primäre Replikat verwendet werden. Fügen Sie hierfür Hochverfügbarkeitsreplikate hinzu.

Wie kann ich eine schreibgeschützte Workload auf meine benannten Replikate verteilen?

Da jedes benannte Replikat ein anderes Servicelevelziel haben und daher für unterschiedliche Anwendungsfälle genutzt werden kann, gibt es keine integrierte Möglichkeit, den an das primäre Replikat gesendeten schreibgeschützten Datenverkehr an benannte Replikate weiterzuleiten. Es kann beispielsweise sein, dass Sie über acht benannte Replikate verfügen und die OLTP-Workload nur an die benannten Replikate 1 bis 4 weiterleiten möchten. Für Power BI-Analyseworkloads verwenden Sie die benannten Replikate 5 und 6 und für die Data Science-Workload die Replikate 7 und 8. In Abhängigkeit davon, welches Tool bzw. welche Programmiersprache Sie verwenden, können die Strategien zum Verteilen von Workloads dieser Art jeweils variieren. Als Beispiel für die Erstellung einer Lösung für das Routing von Workloads, um für ein REST-Back-End das Aufskalieren zu ermöglichen, sehen Sie sich Folgendes an: Beispiel für OLTP-Aufskalierung.

Kann sich ein benanntes Replikat in einer anderen Region als der Region des primären Replikats befinden?

Nein. Da für benannte Replikate dieselben Seitenserver wie für das primäre Replikat verwendet werden, müssen sich diese in derselben Region befinden.

Kann ein benanntes Replikat die Verfügbarkeit oder Leistung des primären Replikats beeinträchtigen?

Durch ein benanntes Replikat kann die Verfügbarkeit des primären Replikats nicht beeinträchtigt werden. Für benannte Replikate ist es unter normalen Umständen unwahrscheinlich, dass diese eine negative Auswirkung auf die Leistung des primären Replikats haben. Dies ist aber ggf. möglich, wenn rechenintensive Workloads ausgeführt werden. Es gilt dasselbe wie bei einem Hochverfügbarkeitsreplikat: Ein benanntes Replikat wird über den Transaktionsprotokolldienst mit dem primären Replikat synchron gehalten. Falls das Transaktionsprotokoll von einem benannten Replikat aus irgendeinem Grund nicht schnell genug genutzt werden kann, wird vom primären Replikat eine Verlangsamung (Drosselung) der Protokollgenerierung gefordert, damit der Rückstand aufgeholt werden kann. Dieses Verhalten wirkt sich zwar nicht auf die Verfügbarkeit des primären Replikats aus, kann sich jedoch auf die Leistung der Schreibworkload des primären Replikats auswirken. Stellen Sie zur Vermeidung dieser Situation sicher, dass Ihre benannten Replikate über einen ausreichenden Toleranzbereich für Ressourcen (hauptsächlich in Bezug auf die CPU) verfügen, damit das Transaktionsprotokoll ohne Verzögerung verarbeitet werden kann. Falls vom primären Replikat beispielsweise eine größere Zahl von Datenänderungen verarbeitet wird, empfehlen wir Ihnen, für das benannte Replikat mindestens das gleiche Servicelevelziel wie für das primäre Replikat zu verwenden. Auf diese Weise wird eine Sättigung der CPU auf den Replikaten verhindert, sodass für das primäre Replikat die Verlangsamung erzwungen werden kann.

Was geschieht mit benannten Replikaten, wenn das primäre Replikat nicht verfügbar ist, z. B. aufgrund einer geplanten Wartung?

Benannte Replikate sind weiterhin wie gewohnt für den schreibgeschützten Zugriff verfügbar.

Wie kann ich die Verfügbarkeit von benannten Replikaten verbessern?

Benannte Replikate verfügen standardmäßig nicht über eigene Hochverfügbarkeitsreplikate. Für einen Failover eines benannten Replikats muss zuerst ein neues Replikat erstellt werden, was in der Regel etwa 1 bis 2 Minuten dauert. Benannte Replikate können jedoch auch von höherer Verfügbarkeit und kürzeren Failoverzeiten profitieren, die von Hochverfügbarkeitsreplikaten ermöglicht werden. Zum Festlegen der Anzahl von Hochverfügbarkeitsreplikaten für benannte Replikate können Sie den Parameter ha-replicas in der Azure CLI, den Parameter HighAvailabilityReplicaCount in PowerShell oder die highAvailabilityReplicaCount-Eigenschaft in der REST-API verwenden. Die Anzahl von Hochverfügbarkeitsreplikaten kann während der Erstellung eines benannten Replikats festgelegt werden. Diese Angabe kann nach der Erstellung des benannten Replikats jederzeit geändert werden (nur per Azure CLI, PowerShell oder REST-API). Die Preise für die Hochverfügbarkeitsreplikate, die für benannte Replikate genutzt werden, sind identisch mit den Preisen für Hochverfügbarkeitsreplikate für reguläre Hyperscale-Datenbanken.

Weitere Informationen zur Dienstebene „Hyperscale“ finden Sie unter Dienstebene „Hyperscale“ (Vorschau) für bis zu 100 TB.