Verwenden von Autofailover-Gruppen für ein transparentes und koordiniertes Failover mehrerer DatenbankenUse auto-failover groups to enable transparent and coordinated failover of multiple databases

Autofailover-Gruppen sind ein SQL-Datenbank-Feature, mit dem Sie die Replikation und das Failover einer Gruppe von Datenbanken auf einem SQL-Datenbank-Server oder aller Datenbanken in einer verwalteten Instanz zu einer anderen Region verwalten können.Auto-failover groups is a SQL Database feature that allows you to manage replication and failover of a group of databases on a SQL Database server or all databases in a managed instance to another region. Hierbei handelt es sich um eine deklarative Abstraktion, die auf dem bereits vorhandenen Feature Aktive Georeplikation basiert und dazu dient, die Bereitstellung und Verwaltung georeplizierter Datenbanken zu vereinfachen.It is a declarative abstraction on top of the existing active geo-replication feature, designed to simplify deployment and management of geo-replicated databases at scale. Sie können ein Failover manuell initiieren oder basierend auf einer benutzerdefinierten Richtlinie an den SQL-Datenbank-Dienst delegieren.You can initiate failover manually or you can delegate it to the SQL Database service based on a user-defined policy. Letzteres gibt Ihnen die Möglichkeit, nach schwerwiegenden Ausfällen oder anderen ungeplanten Ereignissen, die zum vollständigen oder teilweisen Verlust der Verfügbarkeit der Dienste von SQL-Datenbank in der primären Region führen, automatisch mehrere verwandte Datenbanken in einer sekundären Region wiederherzustellen.The latter option allows you to automatically recover multiple related databases in a secondary region after a catastrophic failure or other unplanned event that results in full or partial loss of the SQL Database service’s availability in the primary region. Eine Failovergruppe kann eine oder mehrere Datenbanken enthalten, die in der Regel von der gleichen Anwendung verwendet werden.A failover group can include one or multiple databases, typically used by the same application. Außerdem können sie die lesbaren sekundären Datenbanken zur Auslagerung schreibgeschützter Abfrageworkloads verwenden.Additionally, you can use the readable secondary databases to offload read-only query workloads. Da Gruppen für automatisches Failover mehrere Datenbanken beinhalten, müssen diese Datenbanken auf dem primären Server konfiguriert werden.Because auto-failover groups involve multiple databases, these databases must be configured on the primary server. Primäre und sekundäre Server für die Datenbanken in der Failovergruppe müssen sich im selben Abonnement befinden.Both primary and secondary servers for the databases in the failover group must be in the same subscription. Gruppen für automatisches Failover unterstützen die Replikation aller Datenbanken in der Gruppe auf nur einen sekundären Server in einer anderen Region.Auto-failover groups support replication of all databases in the group to only one secondary server in a different region.

Hinweis

Wenn Sie mit Einzel- oder Pooldatenbanken auf einem SQL-Datenbank-Server arbeiten und mehrere sekundäre Datenbanken in derselben oder in verschiedenen Regionen nutzen möchten, verwenden Sie die aktive Georeplikation.When working with single or pooled databases on a SQL Database server and you want multiple secondaries in the same or different regions, use active geo-replication.

Wenn Sie Autofailover-Gruppen mit einer Richtlinie für automatisches Failover verwenden, führt jeder Ausfall, der eine oder mehrere der Datenbanken in der Gruppe betrifft, zu einem automatischen Failover.When you are using auto-failover groups with automatic failover policy, any outage that impacts one or several of the databases in the group results in automatic failover. Darüber hinaus bieten Gruppen für automatisches Failover Lese-/Schreib-Listenerendpunkte, die während eines Failovers unverändert bleiben.In addition, auto-failover groups provide read-write and read-only listener end-points that remain unchanged during failovers. Sowohl bei manueller als auch automatischer Failoveraktivierung schaltet das Failover alle sekundären Datenbanken in der Gruppe zu primären um.Whether you use manual or automatic failover activation, failover switches all secondary databases in the group to primary. Nach Abschluss des Datenbankfailovers wird der DNS-Eintrag automatisch aktualisiert, um die Endpunkte in die neue Region umzuleiten.After the database failover is completed, the DNS record is automatically updated to redirect the endpoints to the new region. Die spezifischen RPO- und RTO-Daten finden Sie unter Übersicht über die Geschäftskontinuität mit Azure SQL-Datenbank.For the specific RPO and RTO data, see Overview of Business Continuity.

Wenn Sie Autofailover-Gruppen mit einer Richtlinie für ein automatisches Failover verwenden, führt jeder Ausfall, der Datenbanken auf dem SQL-Datenbank-Server oder in der verwalteten Instanz betrifft, zu einem automatischen Failover.When you are using auto-failover groups with automatic failover policy, any outage that impacts databases in the SQL Database server or managed instance results in automatic failover. Sie können Autofailover-Gruppen über folgende Komponenten verwalten:You can manage auto-failover group using:

Stellen Sie nach dem Failover sicher, dass die Authentifizierungsanforderungen für Ihren Server und Ihre Datenbank auf der neuen primären konfiguriert sind.After failover, ensure the authentication requirements for your server and database are configured on the new primary. Weitere Informationen finden Sie unter Verwalten der Sicherheit der Azure SQL-Datenbank nach der Notfallwiederherstellung.For details, see SQL Database security after disaster recovery.

Wenn Sie echte Geschäftskontinuität erreichen möchten, ist das Bereitstellen von Datenbankredundanz zwischen Rechenzentren jedoch nur ein Teil der Lösung.To achieve real business continuity, adding database redundancy between datacenters is only part of the solution. Für die komplette Wiederherstellung einer Anwendung bzw. eines Diensts nach einem schwerwiegenden Fehler ist das Wiederherstellen aller Komponenten erforderlich, aus denen sich der Dienst und alle abhängigen Dienste zusammensetzen.Recovering an application (service) end-to-end after a catastrophic failure requires recovery of all components that constitute the service and any dependent services. Beispiele dieser Komponenten sind die Clientsoftware (z. B. ein Browser mit benutzerdefiniertem JavaScript), Web-Front-Ends, Speicher und DNS.Examples of these components include the client software (for example, a browser with a custom JavaScript), web front ends, storage, and DNS. Es ist wichtig, dass alle Komponenten hinsichtlich derselben Fehler gegen Ausfälle geschützt und innerhalb des RTO (Recovery Time Objective) der Anwendung wieder verfügbar sind.It is critical that all components are resilient to the same failures and become available within the recovery time objective (RTO) of your application. Daher müssen Sie alle abhängigen Dienste bestimmen und mit dem Leistungsumfang und den Funktionen vertraut sein, die sie bieten.Therefore, you need to identify all dependent services and understand the guarantees and capabilities they provide. Dann müssen Sie entsprechende Maßnahmen ergreifen, um sicherzustellen, dass Ihr Dienst während des Failovers der Dienste funktioniert, von denen er abhängig ist.Then, you must take adequate steps to ensure that your service functions during the failover of the services on which it depends. Weitere Informationen zum Entwerfen von Lösungen für die Notfallwiederherstellung finden Sie unter Entwerfen von Cloudlösungen für die Notfallwiederherstellung mithilfe der aktiven Georeplikation.For more information about designing solutions for disaster recovery, see Designing Cloud Solutions for Disaster Recovery Using active geo-replication.

Autofailover-Gruppen – Terminologie und FunktionenAuto-failover group terminology and capabilities

  • FailovergruppeFailover group (FOG)

    Eine Failovergruppe ist eine benannte Gruppe von Datenbanken, die von einem einzelnen SQL-Datenbank-Server oder innerhalb einer einzelnen verwalteten Instanz verwaltet werden. Diese Datenbanken sind eine Einheit, für die ein Failover in eine andere Region durchgeführt werden kann, falls alle oder einige primäre Datenbanken aufgrund eines Ausfalls in der primären Region nicht mehr verfügbar sind.A failover group is a named group of databases managed by a single SQL Database server or within a single managed instance that can fail over as a unit to another region in case all or some primary databases become unavailable due to an outage in the primary region. Wenn eine Failovergruppe für verwaltete Instanzen erstellt wird, enthält sie alle Benutzerdatenbanken in der Instanz. Deshalb kann nur eine Failovergruppe auf einer Instanz konfiguriert werden.When created for managed instances, a failover group contains all user databases in the instance and therefore only one failover group can be configured on an instance.

    Wichtig

    Der Name der Failovergruppe muss innerhalb der .database.windows.net-Domäne global eindeutig sein.The name of the failover group must be globally unique within the .database.windows.net domain.

  • SQL-Datenbank-ServerSQL Database servers

    Bei SQL-Datenbank-Servern können einige oder alle Benutzerdatenbanken auf einem einzelnen SQL-Datenbank-Server in einer Failovergruppe platziert werden.With SQL Database servers, some or all of the user databases on a single SQL Database server can be placed in a failover group. Außerdem unterstützt ein SQL-Datenbank-Server mehrere Failovergruppen auf einem einzelnen SQL-Datenbank-Server.Also, a SQL Database server supports multiple failover groups on a single SQL Database server.

  • Primärer Server/verwaltete InstanzPrimary

    Der SQL-Datenbank-Server oder die verwaltete Instanz, auf dem bzw. der die primären Datenbanken in der Failovergruppe gehostet werden.The SQL Database server or managed instance that hosts the primary databases in the failover group.

  • Sekundärer Server/verwaltete InstanzSecondary

    Der SQL-Datenbank-Server oder die verwaltete Instanz, auf dem bzw. der die sekundären Datenbanken in der Failovergruppe gehostet werden.The SQL Database server or managed instance that hosts the secondary databases in the failover group. Der sekundäre Server/verwaltete Instanz kann sich nicht in der gleichen Region wie der primäre Server/verwaltete Instanz befinden.The secondary cannot be in the same region as the primary.

  • Hinzufügen einzelner Datenbanken zu FailovergruppeAdding single databases to failover group

    Sie können mehrere einzelne Datenbanken auf demselben SQL-Datenbank-Server in dieselbe Failovergruppe einfügen.You can put several single databases on the same SQL Database server into the same failover group. Wenn Sie der Failovergruppe eine einzelne Datenbank hinzufügen, wird auf dem sekundären Server automatisch eine sekundäre Datenbank mit derselben Edition und Computegröße erstellt.If you add a single database to the failover group, it automatically creates a secondary database using the same edition and compute size on secondary server. Sie haben diesen Server beim Erstellen der Failovergruppe angegeben.You specified that server when the failover group was created. Wenn Sie eine Datenbank hinzufügen, die bereits auf dem sekundären Server eine sekundäre Datenbank hat, erbt die Gruppe diese Verknüpfung für die Georeplikation.If you add a database that already has a secondary database in the secondary server, that geo-replication link is inherited by the group. Wenn Sie eine Datenbank hinzufügen, die bereits eine sekundäre Datenbank auf einem Server hat, der nicht Teil der Failovergruppe ist, wird eine neue sekundäre Datenbank auf dem sekundären Server erstellt.When you add a database that already has a secondary database in a server that is not part of the failover group, a new secondary is created in the secondary server.

    Wichtig

    In einer verwalteten Instanz werden alle Benutzerdatenbanken repliziert.In a managed instance, all user databases are replicated. Sie können nicht eine Teilmenge der Benutzerdatenbanken für die Replikation in der Failovergruppe auswählen.You cannot pick a subset of user databases for replication in the failover group.

  • Hinzufügen von Datenbanken im Pool für elastische Datenbanken zu FailovergruppeAdding databases in elastic pool to failover group

    Sie können mehrere oder alle Datenbanken in einem Pool für elastische Datenbanken in dieselbe Failovergruppe einfügen.You can put all or several databases within an elastic pool into the same failover group. Wenn sich die primäre Datenbank in einem Pool für elastische Datenbanken befindet, wird die sekundäre Datenbank automatisch im Pool für elastische Datenbanken desselben Namens (sekundärer Pool) erstellt.If the primary database is in an elastic pool, the secondary is automatically created in the elastic pool with the same name (secondary pool). Sie müssen sicherstellen, dass der sekundäre Server einen Pool für elastische Datenbanken mit genau demselben Namen und ausreichend freier Kapazität zum Hosten der sekundären Datenbanken enthält, die von der Failovergruppe erstellt werden.You must ensure that the secondary server contains an elastic pool with the same exact name and enough free capacity to host the secondary databases that will be created by the failover group. Wenn Sie im Pool eine Datenbank hinzufügen, die bereits im sekundären Pool eine sekundäre Datenbank hat, erbt die Gruppe diese Verknüpfung für die Georeplikation.If you add a database in the pool that already has a secondary database in the secondary pool, that geo-replication link is inherited by the group. Wenn Sie eine Datenbank hinzufügen, die bereits eine sekundäre Datenbank auf einem Server hat, der nicht Teil der Failovergruppe ist, wird eine neue sekundäre Datenbank im sekundären Pool erstellt.When you add a database that already has a secondary database in a server that is not part of the failover group, a new secondary is created in the secondary pool.

  • DNS-ZoneDNS zone

    Eine eindeutige ID, die automatisch generiert wird, wenn eine neue Instanz erstellt wird.A unique ID that is automatically generated when a new instance is created. Ein Zertifikat mit mehreren Domänen (SAN) für diese Instanz wird bereitgestellt, um die Clientverbindungen mit einer beliebigen Instanz in der gleichen DNS-Zone zu authentifizieren.A multi-domain (SAN) certificate for this instance is provisioned to authenticate the client connections to any instance in the same DNS zone. Die beiden verwalteten Instanzen in der gleichen Failovergruppe müssen die DNS-Zone gemeinsam verwenden.The two managed instances in the same failover group must share the DNS zone.

    Hinweis

    Eine DNS-Zonen-ID ist für Failovergruppen, die für SQL-Datenbank-Server-Instanzen erstellt werden, nicht erforderlich.A DNS zone ID is not required for failover groups created for SQL Database servers.

  • Lese-/Schreib-FailovergruppenlistenerFailover group read-write listener

    Ein DNS CNAME-Eintrag, der auf die URL der aktuellen primären Datenbank verweist.A DNS CNAME record that points to the current primary's URL. Er wird automatisch erstellt, wenn die Failovergruppe erstellt wird, und ermöglicht der Lese-/Schreib-SQL-Workload die transparente Verbindungswiederherstellung mit der primären Datenbank, wenn sich die primäre Datenbank nach dem Failover ändert.It is created automatically when the failover group is created and allows the read-write SQL workload to transparently reconnect to the primary database when the primary changes after failover. Wenn die Failovergruppe auf einem SQL-Datenbank-Server erstellt wird, hat der DNS CNAME-Eintrag für die Listener-URL die Form <fog-name>.database.windows.net.When the failover group is created on a SQL Database server, the DNS CNAME record for the listener URL is formed as <fog-name>.database.windows.net. Wenn die Failovergruppe auf einer verwalteten Instanz erstellt wird, hat der DNS CNAME-Eintrag für die Listener-URL die Form <fog-name>.zone_id.database.windows.net.When the failover group is created on a managed instance, the DNS CNAME record for the listener URL is formed as <fog-name>.zone_id.database.windows.net.

  • Nur-Lese-FailovergruppenlistenerFailover group read-only listener

    Ein DNS CNAME-Eintrag, der auf den schreibgeschützten Listener verweist, der wiederum auf die URL der sekundären Datenbank verweist.A DNS CNAME record formed that points to the read-only listener that points to the secondary's URL. Er wird automatisch erstellt, wenn die Failovergruppe erstellt wird, und ermöglicht der schreibgeschützten SQL-Workload die transparente Verbindungsherstellung mit der sekundären Datenbank unter Verwendung der angegebenen Lastenausgleichsregeln.It is created automatically when the failover group is created and allows the read-only SQL workload to transparently connect to the secondary using the specified load-balancing rules. Wenn die Failovergruppe auf einem SQL-Datenbank-Server erstellt wird, hat der DNS CNAME-Eintrag für die Listener-URL die Form <fog-name>.secondary.database.windows.net.When the failover group is created on a SQL Database server, the DNS CNAME record for the listener URL is formed as <fog-name>.secondary.database.windows.net. Wenn die Failovergruppe auf einer verwalteten Instanz erstellt wird, hat der DNS CNAME-Eintrag für die Listener-URL die Form <fog-name>.zone_id.secondary.database.windows.net.When the failover group is created on a managed instance, the DNS CNAME record for the listener URL is formed as <fog-name>.zone_id.secondary.database.windows.net.

  • Richtlinie für automatisches FailoverAutomatic failover policy

    Standardmäßig wird eine Failovergruppe mit einer Richtlinie für automatisches Failover konfiguriert.By default, a failover group is configured with an automatic failover policy. Der SQL-Datenbank-Dienst löst das Failover aus, nachdem der Fehler erkannt und die Toleranzperiode abgelaufen ist.The SQL Database service triggers failover after the failure is detected and the grace period has expired. Das System muss sicherstellen, dass der Ausfall aufgrund des Ausmaßes der Auswirkungen nicht durch die integrierte Hochverfügbarkeitsinfrastruktur des SQL-Datenbank-Diensts gemildert werden kann.The system must verify that the outage cannot be mitigated by the built-in high availability infrastructure of the SQL Database service due to the scale of the impact. Wenn Sie den Failoverworkflow aus der Anwendung steuern möchten, können Sie automatisches Failover deaktivieren.If you want to control the failover workflow from the application, you can turn off automatic failover.

  • Schreibgeschützte FailoverrichtlinieRead-only failover policy

    Standardmäßig ist das Failover des schreibgeschützten Listeners deaktiviert.By default, the failover of the read-only listener is disabled. Dadurch wird sichergestellt, dass die Leistung der primären Datenbank nicht beeinträchtigt wird, wenn die sekundäre Datenbank offline ist.It ensures that the performance of the primary is not impacted when the secondary is offline. Es bedeutet jedoch auch, dass die schreibgeschützten Sitzungen erst dann eine Verbindung herstellen können, nachdem die sekundäre Datenbank wiederhergestellt wurde.However, it also means the read-only sessions will not be able to connect until the secondary is recovered. Wenn Sie keine Ausfallzeiten für die schreibgeschützten Sitzungen tolerieren und die primäre Datenbank vorübergehend sowohl für den schreibgeschützten als auch den Lese-/Schreibdatenverkehr auf Kosten der möglichen Leistungseinbußen der primären Datenbank verwenden möchten, können Sie das Failover für den schreibgeschützten Listener aktivieren.If you cannot tolerate downtime for the read-only sessions and are OK to temporarily use the primary for both read-only and read-write traffic at the expense of the potential performance degradation of the primary, you can enable failover for the read-only listener. In diesem Fall wird der schreibgeschützte Datenverkehr automatisch zur primären Datenbank umgeleitet, wenn die sekundäre Datenbank nicht verfügbar ist.In that case, the read-only traffic will be automatically redirected to the primary if the secondary is not available.

  • Geplantes FailoverPlanned failover

    Beim geplanten Failover wird eine vollständige Synchronisierung zwischen primärer und sekundärer Datenbank ausgeführt, bevor die sekundäre Datenbank die Rolle der primären Datenbank übernimmt.Planned failover performs full synchronization between primary and secondary databases before the secondary switches to the primary role. Dadurch ist sichergestellt, dass keine Daten verloren gehen.This guarantees no data loss. Ein geplantes Failover wird in den folgenden Szenarien verwendet:Planned failover is used in the following scenarios:

    • Ausführen von DR-Drills (Notfallwiederherstellung) in der Produktion, wenn ein Datenverlust nicht akzeptabel istPerform disaster recovery (DR) drills in production when the data loss is not acceptable
    • Verschieben der Datenbanken in eine andere RegionRelocate the databases to a different region
    • Rückkehr der Datenbanken in die primäre Region, nachdem der Ausfall behoben wurde (Failback)Return the databases to the primary region after the outage has been mitigated (failback).
  • Nicht geplantes FailoverUnplanned failover

    Beim ungeplanten oder erzwungenen Failover übernimmt die sekundäre Datenbank sofort die Rolle der primären Datenbank, ohne dass eine Synchronisierung mit der primären Datenbank stattfindet.Unplanned or forced failover immediately switches the secondary to the primary role without any synchronization with the primary. Bei diesem Vorgang gehen Daten verloren.This operation will result in data loss. Ein ungeplantes Failover wird als Wiederherstellungsmethode bei Ausfällen verwendet, wenn auf die primäre Datenbank nicht zugegriffen werden kann.Unplanned failover is used as a recovery method during outages when the primary is not accessible. Wenn die ursprüngliche primäre Datenbank wieder online ist, stellt sie automatisch wieder eine Verbindung ohne Synchronisierung her und wird zur neuen sekundären Datenbank.When the original primary is back online, it will automatically reconnect without synchronization and become a new secondary.

  • Manuelles FailoverManual failover

    Sie können ein Failover zu einem beliebigen Zeitpunkt unabhängig von der Konfiguration für automatisches Failover manuell initiieren.You can initiate failover manually at any time regardless of the automatic failover configuration. Wenn die Richtlinie für automatisches Failover nicht konfiguriert ist, müssen die Datenbanken in der Failovergruppe mit manuellem Failover auf dem sekundären Server wiederhergestellt werden.If automatic failover policy is not configured, manual failover is required to recover databases in the failover group to the secondary. Sie können ein erzwungenes oder freundliches Failover (mit vollständiger Datensynchronisierung) initiieren.You can initiate forced or friendly failover (with full data synchronization). Mit Letzterem könnte die primäre Datenbank in die sekundäre Region verschoben werden.The latter could be used to relocate the primary to the secondary region. Nach Abschluss des Failovers werden die DNS-Einträge automatisch aktualisiert, um die Konnektivität mit der neuen primären Datenbank sicherzustellen.When failover is completed, the DNS records are automatically updated to ensure connectivity to the new primary

  • Toleranzperiode mit DatenverlustGrace period with data loss

    Da die primären und sekundären Datenbanken mithilfe der asynchronen Replikation synchronisiert werden, kann das Failover zu Datenverlust führen.Because the primary and secondary databases are synchronized using asynchronous replication, the failover may result in data loss. Sie können die Richtlinie für automatisches Failover entsprechend der Toleranz Ihrer Anwendung gegenüber Datenverlust anpassen.You can customize the automatic failover policy to reflect your application’s tolerance to data loss. Durch Konfigurieren von GracePeriodWithDataLossHours können Sie steuern, wie lange das System wartet, bevor das Failover initiiert wird, das wahrscheinlich zu Datenverlust führt.By configuring GracePeriodWithDataLossHours, you can control how long the system waits before initiating the failover that is likely to result data loss.

  • Mehrere FailovergruppenMultiple failover groups

    Sie können mehrere Failovergruppen für das gleiche Serverpaar konfigurieren, um die Skalierung der Failover zu steuern.You can configure multiple failover groups for the same pair of servers to control the scale of failovers. Jede Gruppe führt ein unabhängiges Failover durch.Each group fails over independently. Wenn Ihre mehrinstanzenfähige Anwendung Pools für elastische Datenbanken verwendet, können Sie diese Funktion zum Mischen primärer und sekundärer Datenbanken in den einzelnen Pools verwenden.If your multi-tenant application uses elastic pools, you can use this capability to mix primary and secondary databases in each pool. Auf diese Weise können Sie die Auswirkungen eines Ausfalls auf nur die Hälfte der Mandanten reduzieren.This way you can reduce the impact of an outage to only half of the tenants.

    Hinweis

    Eine verwaltete Instanz bietet keine Unterstützung für mehrere Failovergruppen.Managed Instance does not support multiple failover groups.

BerechtigungenPermissions

Berechtigungen für eine Failovergruppe werden über die rollenbasierte Zugriffssteuerung (RBAC) verwaltet.Permissions for a failover group are managed via role-based access control (RBAC). Die Rolle Mitwirkender von SQL Server verfügt über die erforderlichen Berechtigungen zum Verwalten von Failovergruppen.The SQL Server Contributor role has all the necessary permissions to manage failover groups.

Erstellen einer FailovergruppeCreate failover group

Zum Erstellen einer Failovergruppe benötigen Sie RBAC-Schreibzugriff auf den primären und die sekundären Server sowie auf alle Datenbanken in der Failovergruppe.To create a failover group, you need RBAC write access to both the primary and secondary servers, and to all databases in the failover group. Bei einer verwalteten Instanz benötigen Sie RBAC-Schreibzugriff auf die primäre und sekundäre verwaltete Instanz. Berechtigungen für einzelne Datenbanken sind dabei nicht relevant, da einzelne Datenbanken der verwalteten Instanz nicht zu einer Failovergruppe hinzugefügt bzw. aus einer Failovergruppe entfernt werden können.For a managed instance, you need RBAC write access to both the primary and secondary managed instance, but permissions on individual databases are not relevant since individual managed instance databases cannot be added to or removed from a failover group.

Aktualisieren einer FailovergruppeUpdate a failover group

Zum Aktualisieren einer Failovergruppe benötigen Sie RBAC-Schreibzugriff auf die Failovergruppe und auf alle Datenbanken auf dem aktuellen primären Server bzw. in der aktuellen verwalteten Instanz.To update a failover group, you need RBAC write access to the failover group, and all databases on the current primary server or managed instance.

Failover für eine FailovergruppeFailover a failover group

Zum Erstellen eines Failovers für eine Failovergruppe benötigen Sie RBAC-Schreibzugriff auf die Failovergruppe auf dem neuen primären Server bzw. in der neuen verwalteten Instanz.To fail over a failover group, you need RBAC write access to the failover group on the new primary server or managed instance.

Bewährte Methoden für die Verwendung von Failovergruppen für einzelne Datenbanken und Pools für elastische DatenbankenBest practices of using failover groups with single databases and elastic pools

Die Autofailover-Gruppe muss auf dem primären SQL-Datenbank-Server konfiguriert werden und stellt eine Verbindung zum sekundären SQL-Datenbank-Server in einer anderen Azure-Region her.The auto-failover group must be configured on the primary SQL Database server and will connect it to the secondary SQL Database server in a different Azure region. Die Gruppen können alle oder einige Datenbanken auf diesen Servern umfassen.The groups can include all or some databases in these servers. Das folgende Diagramm zeigt eine typische Konfiguration einer georedundanten Cloudanwendung mit mehreren Datenbanken und einer Autofailover-Gruppe.The following diagram illustrates a typical configuration of a geo-redundant cloud application using multiple databases and auto-failover group.

Autofailover

Hinweis

Eine ausführliche schrittweise Anleitung zum Hinzufügen einer einzelnen Datenbank zu einer Failovergruppe finden Sie unter Hinzufügen einer einzelnen Datenbank zu einer Failovergruppe.See Add single database to a failover group for a detailed step-by-step tutorial adding a single database to a failover group.

Beim Entwerfen eines Diensts, der die Geschäftskontinuität aufrechterhalten soll, sind die folgenden allgemeinen Richtlinien zu beachten:When designing a service with business continuity in mind, follow these general guidelines:

  • Verwenden Sie mindestens eine Failovergruppe, um das Failover mehrerer Datenbanken zu verwaltenUse one or several failover groups to manage failover of multiple databases

    Eine oder mehrere Failovergruppen können zwischen zwei Servern in verschiedenen Regionen erstellt werden (primäre und sekundäre Server).One or many failover groups can be created between two servers in different regions (primary and secondary servers). Jede Gruppe kann eine oder mehrere Datenbanken enthalten, die als Einheit wiederhergestellt werden, falls alle oder einige primäre Datenbanken aufgrund eines Ausfalls in der primären Region nicht mehr verfügbar sind.Each group can include one or several databases that are recovered as a unit in case all or some primary databases become unavailable due to an outage in the primary region. Die Failovergruppe erstellt eine geosekundäre Datenbank mit dem gleichen Dienstziel wie die primäre Datenbank.The failover group creates geo-secondary database with the same service objective as the primary. Wenn Sie der Failovergruppe eine vorhandene Georeplikationsbeziehung hinzufügen, stellen Sie sicher, dass die geosekundäre Datenbank mit der gleichen Dienstebene und Computegröße wie die primäre Datenbank konfiguriert ist.If you add an existing geo-replication relationship to the failover group, make sure the geo-secondary is configured with the same service tier and compute size as the primary.

  • Lese-/Schreib-Listener für OLTP-Workload verwendenUse read-write listener for OLTP workload

    Verwenden Sie beim Durchführen von OLTP-Vorgängen <fog-name>.database.windows.net als Server-URL, damit die Verbindungen automatisch an die primäre Datenbank weitergeleitet werden.When performing OLTP operations, use <fog-name>.database.windows.net as the server URL and the connections are automatically directed to the primary. Diese URL wird nach dem Failover nicht geändert.This URL does not change after the failover. Beachten Sie, dass das Failover die Aktualisierung von DNS-Einträgen einschließt, damit die Clientverbindungen erst dann an die neue primäre Datenbank weitergeleitet werden, wenn der Client-DNS-Cache aktualisiert wurde.Note the failover involves updating the DNS record so the client connections are redirected to the new primary only after the client DNS cache is refreshed.

  • Nur-Lese-Listener für schreibgeschützte Workload verwendenUse read-only listener for read-only workload

    Wenn Sie über eine logisch isolierte schreibgeschützte Workload verfügen, die gegenüber einer bestimmten Veraltung tolerant ist, können Sie die sekundäre Datenbank in der Anwendung verwenden.If you have a logically isolated read-only workload that is tolerant to certain staleness of data, you can use the secondary database in the application. Verwenden Sie für schreibgeschützte Sitzungen <fog-name>.secondary.database.windows.net als Server-URL, damit die Verbindung automatisch an die sekundäre Datenbank weitergeleitet wird.For read-only sessions, use <fog-name>.secondary.database.windows.net as the server URL and the connection is automatically directed to the secondary. Es wird außerdem empfohlen, in der Verbindungszeichenfolge die Leseabsicht anzugeben. Verwenden Sie dazu ApplicationIntent=ReadOnly.It is also recommended that you indicate in connection string read intent by using ApplicationIntent=ReadOnly.

  • Vorbereitung auf die Beeinträchtigung der LeistungBe prepared for perf degradation

    Die SQL-Failoverentscheidung ist unabhängig vom Rest der Anwendung oder der anderen verwendeten Dienste.SQL failover decision is independent from the rest of the application or other services used. Die Anwendung kann mit einigen Komponenten in einer Region und anderen in einer anderen „vermischt“ werden.The application may be “mixed” with some components in one region and some in another. Um die Beeinträchtigung zu vermeiden, stellen Sie redundante Anwendungsbereitstellung in der DR-Region sicher, und befolgen Sie diese Richtlinien für die Netzwerksicherheit.To avoid the degradation, ensure the redundant application deployment in the DR region and follow these network security guidelines.

    Hinweis

    Die Anwendung in der DR-Region muss keine andere Verbindungszeichenfolge verwenden.The application in the DR region does not have to use a different connection string.

  • Vorbereiten auf DatenverlustePrepare for data loss

    Wenn ein Ausfall erkannt wird, wartet SQL für den mit GracePeriodWithDataLossHours festgelegten Zeitraum.If an outage is detected, SQL waits for the period you specified by GracePeriodWithDataLossHours. Der Standardwert ist 1 Stunde.The default value is 1 hour. Wenn keine Datenverluste auftreten dürfen, legen Sie GracePeriodWithDataLossHours auf eine ausreichend große Zahl fest, z.B. 24 Stunden.If you cannot afford data loss, make sure to set GracePeriodWithDataLossHours to a sufficiently large number, such as 24 hours. Verwenden Sie manuelles Gruppenfailover für ein Failback von der sekundären zur primären Datenbank.Use manual group failover to fail back from the secondary to the primary.

    Wichtig

    Bei Pools für elastische Datenbanken mit 800 oder weniger DTUs und über 250 Datenbanken, die die Georeplikation verwenden, können Probleme wie längere geplante Failover und Leistungseinbußen auftreten.Elastic pools with 800 or fewer DTUs and more than 250 databases using geo-replication may encounter issues including longer planned failovers and degraded performance. Diese Probleme treten häufiger bei schreibintensiven Workloads auf, wenn Georeplikations-Endpunkte geographisch weit auseinander liegen, oder wenn mehrere sekundäre Endpunkte für jede Datenbank verwendet werden.These issues are more likely to occur for write intensive workloads, when geo-replication endpoints are widely separated by geography, or when multiple secondary endpoints are used for each database. Ein Anzeichen für derartige Probleme ist eine steigende Verzögerung bei der Georeplikation.Symptoms of these issues are indicated when the geo-replication lag increases over time. Diese Verzögerung können Sie mit sys.dm_geo_replication_link_status überwachen.This lag can be monitored using sys.dm_geo_replication_link_status. Wenn diese Probleme auftreten, können Sie sie entschärfen, indem Sie z.B. die Anzahl von Pool-DTUs erhöhen oder die Anzahl von Datenbanken für die Georeplikation im gleichen Pool verringern.If these issues occur, then mitigations include increasing the number of pool DTUs, or reducing the number of geo-replicated databases in the same pool.

Bewährte Methoden für die Verwendung von Failovergruppen für verwaltete InstanzenBest practices of using failover groups with managed instances

Wichtig

Autofailover-Gruppen für verwaltete Instanzen befinden sich in der Phase der öffentlichen Vorschau.Auto-failover groups for Managed Instance is in public preview.

Die Autofailover-Gruppe muss auf der primären Instanz konfiguriert werden und stellt eine Verbindung zur sekundären Instanz in einer anderen Azure-Region her.The auto-failover group must be configured on the primary instance and will connect it to the secondary instance in a different Azure region. Alle Datenbanken in der Instanz werden in der sekundären Instanz repliziert.All databases in the instance will be replicated to the secondary instance.

Das folgende Diagramm zeigt eine typische Konfiguration einer georedundanten Cloudanwendung mit einer verwalteten Instanz und Autofailover-Gruppe.The following diagram illustrates a typical configuration of a geo-redundant cloud application using managed instance and auto-failover group.

Autofailover

Hinweis

Eine ausführliche schrittweise Anleitung zum Hinzufügen einer verwalteten Instanz zum Verwenden einer Failovergruppe finden Sie unter Hinzufügen einer verwalteten Instanz zu einer Failovergruppe.See Add managed instance to a failover group for a detailed step-by-step tutorial adding a managed instance to use failover group.

Wenn Ihre Anwendung die verwaltete Instanz als Datenebene verwendet, beachten Sie beim Entwerfen für Geschäftskontinuität die folgenden allgemeinen Richtlinien:If your application uses managed instance as the data tier, follow these general guidelines when designing for business continuity:

  • Erstellen der sekundären Instanz in der gleichen DNS-Zone wie die primäre InstanzCreate the secondary instance in the same DNS zone as the primary instance

    Um eine unterbrechungsfreie Verbindung mit der primären Instanz nach einem Failover zu gewährleisten, müssen sich primäre und sekundäre Instanz in der gleichen DNS-Zone befinden.To ensure non-interrupted connectivity to the primary instance after failover both the primary and secondary instances must be in the same DNS zone. Es wird sichergestellt, dass das gleiche Zertifikat mit mehreren Domänen (SAN) zum Authentifizieren der Clientverbindungen mit einer der zwei Instanzen in der Failovergruppe verwendet werden kann.It will guarantee that the same multi-domain (SAN) certificate can be used to authenticate the client connections to either of the two instances in the failover group. Wenn Ihre Anwendung für die Bereitstellung in der Produktionsumgebung bereit ist, erstellen Sie eine sekundäre Instanz in einer anderen Region, und stellen Sie sicher, dass sie die gleiche DNS-Zone wie die primäre Instanz verwendet.When your application is ready for production deployment, create a secondary instance in a different region and make sure it shares the DNS zone with the primary instance. Hierzu können Sie einen optionalen Parameter DNS Zone Partner über das Azure-Portal, PowerShell oder die REST-API angegeben.You can do it by specifying a DNS Zone Partner optional parameter using the Azure portal, PowerShell, or the REST API.

    Weitere Informationen zum Erstellen der sekundären Instanz in der gleichen DNS-Zone wie die primäre Instanz finden Sie unter Verwalten von Failovergruppen mit verwalteten Instanzen (Vorschau).For more information about creating the secondary instance in the same DNS zone as the primary instance, see Managing failover groups with managed instances (preview).

  • Aktivieren des Replikationsdatenverkehrs zwischen zwei InstanzenEnable replication traffic between two instances

    Da jede Instanz in einem eigenen VNET isoliert ist, muss der bidirektionale Datenverkehr zwischen diesen VNETs zugelassen werden.Because each instance is isolated in its own VNet, two-directional traffic between these VNets must be allowed. Informationen dazu finden Sie unter Azure VPN Gateway.See Azure VPN gateway

  • Konfigurieren einer Failovergruppe zur Verwaltung des Failovers der gesamten InstanzConfigure a failover group to manage failover of entire instance

    Die Failovergruppe verwaltet das Failover aller Datenbanken in der Instanz.The failover group will manage the failover of all the databases in the instance. Beim Erstellen einer Gruppe wird jede Datenbank in der Instanz automatisch in der sekundären Instanz geografisch repliziert.When a group is created, each database in the instance will be automatically geo-replicated to the secondary instance. Sie können Failovergruppen nicht verwenden, um ein Teilfailover einer Untergruppe von Datenbanken zu initiieren.You cannot use failover groups to initiate a partial failover of a subset of the databases.

    Wichtig

    Wird eine Datenbank aus der primären Instanz entfernt, wird sie automatisch auch in der georeplizierten sekundären Instanz gelöscht.If a database is removed from the primary instance, it will also be dropped automatically on the geo secondary instance.

  • Lese-/Schreib-Listener für OLTP-Workload verwendenUse read-write listener for OLTP workload

    Verwenden Sie beim Durchführen von OLTP-Vorgängen <fog-name>.zone_id.database.windows.net als Server-URL, damit die Verbindungen automatisch an die primäre Datenbank weitergeleitet werden.When performing OLTP operations, use <fog-name>.zone_id.database.windows.net as the server URL and the connections are automatically directed to the primary. Diese URL wird nach dem Failover nicht geändert.This URL does not change after the failover. Das Failover umfasst die Aktualisierung von DNS-Einträgen, damit die Clientverbindungen erst dann an die neue primäre Datenbank weitergeleitet werden, wenn der Client-DNS-Cache aktualisiert wurde.The failover involves updating the DNS record, so the client connections are redirected to the new primary only after the client DNS cache is refreshed. Da die sekundäre Instanz die gleiche DNS-Zone wie die primäre Instanz verwendet, kann die Clientanwendung mit dem gleichen SAN-Zertifikat erneut eine Verbindung herstellen.Because the secondary instance shares the DNS zone with the primary, the client application will be able to reconnect to it using the same SAN certificate.

  • Direktes Verbinden mit der georeplizierten sekundären Datenbank für schreibgeschützte AbfragenConnect directly to geo-replicated secondary for read-only queries

    Wenn Sie über eine logisch isolierte schreibgeschützte Workload verfügen, die gegenüber einer bestimmten Veraltung tolerant ist, können Sie die sekundäre Datenbank in der Anwendung verwenden.If you have a logically isolated read-only workload that is tolerant to certain staleness of data, you can use the secondary database in the application. Verwenden Sie zum direkten Verbinden mit der georeplizierten sekundären Datenbank server.secondary.zone_id.database.windows.net als Server-URL, damit die Verbindung direkt mit der georeplizierten sekundären Datenbank hergestellt wird.To connect directly to the geo-replicated secondary, use server.secondary.zone_id.database.windows.net as the server URL and the connection is made directly to the geo-replicated secondary.

    Hinweis

    Bei bestimmten Dienstebenen unterstützt Azure SQL-Datenbank die Verwendung von schreibgeschützten Replikaten für den Lastenausgleich schreibgeschützter Abfrageworkloads, wobei die Kapazität eines schreibgeschützten Replikats und der Parameter ApplicationIntent=ReadOnly in der Verbindungszeichenfolge verwendet werden.In certain service tiers, Azure SQL Database supports the use of read-only replicas to load balance read-only query workloads using the capacity of one read-only replica and using the ApplicationIntent=ReadOnly parameter in the connection string. Wenn Sie eine georeplizierte sekundäre Datenbank konfiguriert haben, können Sie mit dieser Funktion eine Verbindung entweder mit einem schreibgeschützten Replikat am primären Standort oder am geografisch replizierten Standort herstellen.When you have configured a geo-replicated secondary, you can use this capability to connect to either a read-only replica in the primary location or in the geo-replicated location.

    • Zum Herstellen einer Verbindung mit einem schreibgeschützten Replikat am primären Standort verwenden Sie <fog-name>.zone_id.database.windows.net.To connect to a read-only replica in the primary location, use <fog-name>.zone_id.database.windows.net.
    • Zum Herstellen einer Verbindung mit einem schreibgeschützten Replikat am sekundären Standort verwenden Sie <fog-name>.secondary.zone_id.database.windows.net.To connect to a read-only replica in the secondary location, use <fog-name>.secondary.zone_id.database.windows.net.
  • Vorbereitung auf die Beeinträchtigung der LeistungBe prepared for perf degradation

    Die SQL-Failoverentscheidung ist unabhängig vom Rest der Anwendung oder der anderen verwendeten Dienste.SQL failover decision is independent from the rest of the application or other services used. Die Anwendung kann mit einigen Komponenten in einer Region und anderen in einer anderen „vermischt“ werden.The application may be “mixed” with some components in one region and some in another. Um die Beeinträchtigung zu vermeiden, stellen Sie redundante Anwendungsbereitstellung in der DR-Region sicher, und befolgen Sie diese Richtlinien für die Netzwerksicherheit.To avoid the degradation, ensure the redundant application deployment in the DR region and follow these network security guidelines.

  • Vorbereiten auf DatenverlustePrepare for data loss

    Wenn ein Ausfall erkannt wird, löst SQL automatisch ein Lese-/Schreib-Failover aus, sofern nach unserem Erkenntnissen keine Daten verloren gegangen sind.If an outage is detected, SQL automatically triggers read-write failover if there is zero data loss to the best of our knowledge. Andernfalls wartet es für den mit GracePeriodWithDataLossHours festgelegten Zeitraum.Otherwise, it waits for the period you specified by GracePeriodWithDataLossHours. Wenn Sie GracePeriodWithDataLossHours angegeben haben, müssen Sie auf Datenverluste vorbereitet sein.If you specified GracePeriodWithDataLossHours, be prepared for data loss. Bei Ausfällen priorisiert Azure grundsätzlich die Verfügbarkeit.In general, during outages, Azure favors availability. Wenn keine Datenverluste auftreten dürfen, legen Sie „GracePeriodWithDataLossHours“ auf eine ausreichend große Zahl fest, z.B. 24 Stunden.If you cannot afford data loss, make sure to set GracePeriodWithDataLossHours to a sufficiently large number, such as 24 hours.

    Die DNS-Aktualisierung des Lese-/Schreib-Listeners erfolgt sofort nach dem Initiieren des Failovers.The DNS update of the read-write listener will happen immediately after the failover is initiated. Bei diesem Vorgang gehen keine Daten verloren.This operation will not result in data loss. Allerdings kann der Prozess zum Wechseln der Datenbankrollen unter normalen Bedingungen bis zu 5 Minuten dauern.However, the process of switching database roles can take up to 5 minutes under normal conditions. Bis er abgeschlossen ist, sind einige Datenbanken in der neuen primären Instanz noch schreibgeschützt.Until it is completed, some databases in the new primary instance will still be read-only. Wenn das Failover mithilfe von PowerShell initiiert wird, ist der gesamte Vorgang synchron.If failover is initiated using PowerShell, the entire operation is synchronous. Wird es über das Azure-Portal initiiert, wird auf der Benutzeroberfläche der Abschlussstatus angegeben.If it is initiated using the Azure portal, the UI will indicate completion status. Bei Initiierung über die REST-API verwenden Sie den Standardabfragemechanismus von Azure Resource Manager, um den Vorgang auf seinen Abschluss zu überwachen.If it is initiated using the REST API, use standard Azure Resource Manager’s polling mechanism to monitor for completion.

    Wichtig

    Verwenden Sie manuelles Gruppenfailover, um primäre Datenbanken wieder an den ursprünglichen Standort zu verschieben.Use manual group failover to move primaries back to the original location. Sobald der Ausfall, der das Failover verursacht hat, behoben ist, können Sie die primären Datenbanken an den ursprünglichen Standort verschieben.When the outage that caused the failover is mitigated, you can move your primary databases to the original location. Dazu sollten Sie ein manuelles Failover der Gruppe initiieren.To do that you should initiate the manual failover of the group.

Failovergruppen und NetzwerksicherheitFailover groups and network security

Für einige Anwendungen erfordern die Sicherheitsregeln, dass der Netzwerkzugriff auf die Datenebene auf eine bestimmte Komponente oder Komponenten wie virtueller Computer, Webdienst usw. beschränkt ist. Diese Anforderung stellt für den Entwurf der Geschäftskontinuität und die Verwendung der Failovergruppen eine Herausforderung dar.For some applications the security rules require that the network access to the data tier is restricted to a specific component or components such as a VM, web service etc. This requirement presents some challenges for business continuity design and the use of the failover groups. Berücksichtigen Sie bei der Implementierung eines solchen eingeschränkten Zugriffs die folgenden Optionen.Consider the following options when implementing such restricted access.

Verwendung von Failovergruppen und VNET-RegelnUsing failover groups and virtual network rules

Wenn Sie Virtual Network-Dienstendpunkte und -Regeln verwenden, um den Zugriff auf Ihre SQL-Datenbank-Instanz einzuschränken, denken Sie daran, dass jeder Virtual Network-Dienstendpunkt nur für eine einzige Azure-Region gilt.If you are using Virtual Network service endpoints and rules to restrict access to your SQL database, be aware that Each Virtual Network service endpoint applies to only one Azure region. Der Endpunkt ermöglicht anderen Regionen nicht das Akzeptieren von Nachrichten aus dem Subnetz.The endpoint does not enable other regions to accept communication from the subnet. Aus diesem Grund können nur die Clientanwendungen, die in der gleichen Region bereitgestellt werden, eine Verbindung mit der primären Datenbank herstellen.Therefore, only the client applications deployed in the same region can connect to the primary database. Da das Failover dazu führt, dass die SQL-Clientsitzungen zu dem Server in der anderen (sekundären) Region umgeleitet werden, treten bei diesen Sitzungen Fehler auf, wenn sie von Clients ausgehen, die sich außerhalb dieser Region befinden.Since the failover results in the SQL client sessions being rerouted to a server in a different (secondary) region, these sessions will fail if originated from a client outside of that region. Aus diesem Grund kann die Richtlinie für automatisches Failover nicht aktiviert werden, wenn die beteiligten Server in den VNET-Regeln enthalten sind.For that reason, the automatic failover policy cannot be enabled if the participating servers are included in the Virtual Network rules. Um das manuelle Failover zu unterstützen, gehen Sie folgendermaßen vor:To support manual failover, follow these steps:

  1. Stellen Sie die redundanten Kopien der Front-End-Komponenten der Anwendung (Webdienst, VMs usw.) in der sekundären Region bereit.Provision the redundant copies of the front-end components of your application (web service, virtual machines etc.) in the secondary region
  2. Konfigurieren Sie die VNET-Regeln individuell für den primären und sekundären Server.Configure the virtual network rules individually for primary and secondary server
  3. Aktivieren Sie das Front-End-Failover durch eine Traffic Manager-Konfiguration.Enable the front-end failover using a Traffic manager configuration
  4. Initiieren Sie ein manuelles Failover, wenn der Ausfall erkannt wird.Initiate manual failover when the outage is detected. Diese Option ist für die Anwendungen optimiert, die konsistente Latenz zwischen Front-End und Datenebene erfordern, und unterstützt die Wiederherstellung, wenn Front-End, Datenebene oder beide vom Ausfall betroffen sind.This option is optimized for the applications that require consistent latency between the front-end and the data tier and supports recovery when either front end, data tier or both are impacted by the outage.

Hinweis

Stellen Sie bei Verwendung des schreibgeschützten Listeners für den Lastenausgleich einer schreibgeschützten Workload sicher, dass diese Workload auf einem virtuellen Computer oder einer anderen Ressource in der sekundären Region ausgeführt wird, damit sie eine Verbindung mit der sekundären Datenbank herstellen kann.If you are using the read-only listener to load-balance a read-only workload, make sure that this workload is executed in a VM or other resource in the secondary region so it can connect to the secondary database.

Verwenden von Failovergruppen und SQL-Datenbank-FirewallregelnUsing failover groups and SQL database firewall rules

Wenn Ihr Geschäftskontinuitätsplan das Durchführen eines Failovers mithilfe von Gruppen mit automatischem Failover erfordert, können Sie den Zugriff auf Ihre SQL-Datenbank mithilfe der herkömmlichen Firewallregeln einschränken.If your business continuity plan requires failover using groups with automatic failover, you can restrict access to your SQL database using the traditional firewall rules. Um das automatische Failover zu unterstützen, gehen Sie folgendermaßen vor:To support automatic failover, follow these steps:

  1. Erstellen Sie eine öffentliche IP-Adresse.Create a public IP
  2. Erstellen Sie einen öffentlichen Lastenausgleich, und weisen Sie ihm die öffentliche IP-Adresse zu.Create a public load balancer and assign the public IP to it.
  3. Erstellen Sie ein virtuelles Netzwerk und die VMs für Ihre Front-End-Komponenten.Create a virtual network and the virtual machines for your front-end components
  4. Erstellen Sie eine Netzwerksicherheitsgruppe, und konfigurieren Sie eingehende Verbindungen.Create network security group and configure inbound connections.
  5. Stellen Sie mithilfe des Diensttags „Sql“ sicher, dass die ausgehenden Verbindungen für Azure SQL-Datenbank geöffnet sind.Ensure that the outbound connections are open to Azure SQL database by using ‘Sql’ service tag.
  6. Erstellen Sie eine SQL-Datenbank-Firewallregel, um eingehenden Datenverkehr von der öffentlichen IP-Adresse, die Sie in Schritt 1 erstellt haben, zuzulassen.Create a SQL database firewall rule to allow inbound traffic from the public IP address you create in step 1.

Weitere Informationen zur Konfiguration des ausgehenden Zugriffs und zu der IP-Adresse, die in den Firewallregeln verwendet werden soll, finden Sie unter Ausgehende Verbindungen in Azure.For more information about on how to configure outbound access and what IP to use in the firewall rules, see Load balancer outbound connections.

Die oben genannte Konfiguration sorgt dafür, dass das automatische Failover keine Verbindungen von den Front-End-Komponenten blockiert, und setzt voraus, dass die Anwendung die längeren Wartezeiten zwischen dem Front-End und der Datenebene tolerieren kann.The above configuration will ensure that the automatic failover will not block connections from the front-end components and assumes that the application can tolerate the longer latency between the front end and the data tier.

Wichtig

Um die Geschäftskontinuität bei regionalen Ausfällen zu gewährleisten, müssen Sie die geografische Redundanz sowohl für die Front-End-Komponenten als auch die Datenbanken sicherstellen.To guarantee business continuity for regional outages you must ensure geographic redundancy for both front-end components and the databases.

Aktivieren der geografischen Replikation zwischen verwalteten Instanzen und ihren VNETsEnabling geo-replication between managed instances and their VNets

Wenn Sie eine Failovergruppe zwischen primären und sekundären verwalteten Instanzen in zwei verschiedenen Regionen einrichten, wird jede Instanz mit einem unabhängigen virtuellen Netzwerk isoliert.When you set up a failover group between primary and secondary managed instances in two different regions, each instance is isolated using an independent virtual network. Um Replikationsdatenverkehr zwischen diesen VNETs zuzulassen, müssen diese Voraussetzungen erfüllt sein:To allow replication traffic between these VNets ensure these prerequisites are met:

  1. Die beiden verwalteten Instanzen müssen sich in verschiedenen Azure-Regionen befinden.The two managed instances need to be in different Azure regions.

  2. Die beiden verwalteten Instanzen müssen dieselbe Dienstebene und die gleiche Speichergröße aufweisen.The two managed instances need to be the same service tier, and have the same storage size.

  3. Ihre sekundäre verwaltete Instanz muss leer sein (keine Benutzerdatenbanken).Your secondary managed instance must be empty (no user databases).

  4. Die von den verwalteten Instanzen verwendeten virtuellen Netzwerke müssen über VPN Gateway oder Express Route verbunden werden.The virtual networks used by the managed instances need to be connected through a VPN Gateway or Express Route. Wenn zwei virtuelle Netzwerke über ein lokales Netzwerk verbunden sind, müssen Sie sicherstellen, dass die Ports 5022 und 11000-11999 nicht durch Firewallregeln blockiert werden.When two virtual networks connect through an on-premises network, ensure there is no firewall rule blocking ports 5022, and 11000-11999. Globales VNET-Peering wird nicht unterstützt.Global VNet Peering is not supported.

  5. Die beiden VNETs der verwalteten Instanzen dürfen keine überlappenden IP-Adressen aufweisen.The two managed instance VNets cannot have overlapping IP addresses.

  6. Sie müssen die Netzwerksicherheitsgruppen (NSG) so einrichten, dass die Ports 5022 und der Bereich von 11000 bis 12000 für ein- und ausgehende Verbindungen vom Subnetz der jeweils anderen verwalteten Instanz offen sind.You need to set up your Network Security Groups (NSG) such that ports 5022 and the range 11000~12000 are open inbound and outbound for connections from the other managed instanced subnet. Dadurch wird der Replikationsdatenverkehr zwischen den Instanzen zugelassen.This is to allow replication traffic between the instances

    Wichtig

    Falsch konfigurierte NSG-Sicherheitsregeln führen zu unterbrochenen Datenbankkopiervorgängen.Misconfigured NSG security rules leads to stuck database copy operations.

  7. Die zweite Instanz ist mit der richtigen DNS-Zonen-ID konfiguriert.The secondary instance is configured with the correct DNS zone ID. Die DNS-Zone ist eine Eigenschaft einer verwalteten Instanz, und ihre ID ist in der Hostnamenadresse enthalten.DNS zone is a property of a managed instance and its ID is included in the host name address. Die Zonen-ID wird als zufällige Zeichenfolge generiert, wenn die erste verwaltete Instanz in jedem VNET erstellt und die gleiche ID alle anderen Instanzen im selben Subnetz zugewiesen wird.The zone ID is generated as a random string when the first managed instance is created in each VNet and the same ID is assigned to all other instances in the same subnet. Nach der Zuweisung kann die DNS-Zone nicht geändert werden.Once assigned, the DNS zone cannot be modified. Verwaltete Instanzen in der gleichen Failovergruppe müssen die DNS-Zone gemeinsam verwenden.Managed instances included in the same failover group must share the DNS zone. Sie erreichen dies durch Übergeben der Zonen-ID der primären Instanz als Wert des DnsZonePartner-Parameters beim Erstellen der sekundären Instanz.You accomplish this by passing the primary instance's zone ID as the value of DnsZonePartner parameter when creating the secondary instance.

Upgrade oder Downgrade einer primären DatenbankUpgrading or downgrading a primary database

Sie können für eine primäre Datenbank ein Upgrade oder Downgrade auf eine andere Computegröße (innerhalb der gleichen Dienstebene; nicht zwischen „Universell“ und „Unternehmenskritisch“) ausführen, ohne die Verbindung mit sekundären Datenbanken zu trennen.You can upgrade or downgrade a primary database to a different compute size (within the same service tier, not between General Purpose and Business Critical) without disconnecting any secondary databases. Bei einem Upgrade wird empfohlen, zuerst das Upgrade für alle sekundären Datenbanken und anschließend das Upgrade für die primäre Datenbank auszuführen.When upgrading, we recommend that you upgrade all of the secondary databases first, and then upgrade the primary. Drehen Sie bei einem Downgrade die Reihenfolge um: Führen Sie zuerst das Downgrade für die primäre Datenbank und anschließend das Downgrade für alle sekundären Datenbanken aus.When downgrading, reverse the order: downgrade the primary first, and then downgrade all of the secondary databases. Wenn Sie ein Upgrade oder Downgrade der Datenbank auf eine andere Dienstebene durchführen, wird diese Empfehlung erzwungen.When you upgrade or downgrade the database to a different service tier, this recommendation is enforced.

Diese Reihenfolge ist besonders zur Vermeidung des Überladens der sekundären Datenbank auf einer niedrigeren SKU empfehlenswert, damit nicht während des Upgrade- oder Downgradevorgangs ein erneutes Seeding durchgeführt werden muss.This sequence is recommended specifically to avoid the problem where the secondary at a lower SKU gets overloaded and must be reseeded during an upgrade or downgrade process. Sie können dieses Problem auch vermeiden, indem Sie die primäre Datenbank mit Schreibschutz versehen. Das geht allerdings zu Lasten aller Lese-/Schreibworkloads für die primäre Datenbank.You could also avoid the problem by making the primary read-only, at the expense of impacting all read-write workloads against the primary.

Hinweis

Wenn Sie eine sekundäre Datenbank als Teil der Konfiguration der Failovergruppe erstellt haben, sollten Sie kein Downgrade der sekundären Datenbank durchführen.If you created secondary database as part of the failover group configuration it is not recommended to downgrade the secondary database. So wird sichergestellt, dass Ihre Datenebene nach dem Aktivieren des Failovers ausreichende Kapazität zum Verarbeiten des normalen Workloads hat.This is to ensure your data tier has sufficient capacity to process your regular workload after failover is activated.

Wichtig

Das Upgraden oder Downgraden einer verwaltete Instanz, die einer Failovergruppe angehört, wird derzeit nicht unterstützt.Upgrading or downgrading a Managed Instance which is a member of a failover group is currently not supported.

Verhindern des Verlusts wichtiger DatenPreventing the loss of critical data

Aufgrund der hohen Latenz von WANs wird für die fortlaufende Kopie ein asynchroner Replikationsmechanismus verwendet.Due to the high latency of wide area networks, continuous copy uses an asynchronous replication mechanism. Asynchrone Replikation macht Datenverlust unvermeidlich, sobald ein Ausfall auftritt.Asynchronous replication makes some data loss unavoidable if a failure occurs. Bei einigen Anwendung dürfen jedoch ggf. keine Daten verloren gehen.However, some applications may require no data loss. Um diese kritischen Aktualisierungen zu schützen, kann ein Anwendungsentwickler die Systemprozedur sp_wait_for_database_copy_sync aufrufen, unmittelbar nachdem der Commit für die Transaktion erfolgt ist.To protect these critical updates, an application developer can call the sp_wait_for_database_copy_sync system procedure immediately after committing the transaction. Das Aufrufen von sp_wait_for_database_copy_sync blockiert den aufrufenden Thread so lange, bis die letzte Transaktion mit erfolgtem Commit in die sekundäre Datenbank übertragen wurde.Calling sp_wait_for_database_copy_sync blocks the calling thread until the last committed transaction has been transmitted to the secondary database. Es wird jedoch nicht abgewartet, bis die übertragenen Transaktionen wiedergegeben und in der sekundären Datenbank committet werden.However, it does not wait for the transmitted transactions to be replayed and committed on the secondary. sp_wait_for_database_copy_sync ist auf eine bestimmte fortlaufende Kopierverknüpfung begrenzt.sp_wait_for_database_copy_sync is scoped to a specific continuous copy link. Jeder Benutzer mit den Rechten zum Herstellen der Verbindung mit der primären Datenbank kann diese Prozedur aufrufen.Any user with the connection rights to the primary database can call this procedure.

Hinweis

sp_wait_for_database_copy_sync verhindert Datenverlust nach einem Failover, garantiert aber nicht die vollständige Synchronisierung für den Lesezugriff.sp_wait_for_database_copy_sync prevents data loss after failover, but does not guarantee full synchronization for read access. Die vom Aufruf der Prozedur sp_wait_for_database_copy_sync verursachte Verzögerung kann signifikant sein und hängt von der Größe des Transaktionsprotokolls zum Zeitpunkt des Aufrufs ab.The delay caused by a sp_wait_for_database_copy_sync procedure call can be significant and depends on the size of the transaction log at the time of the call.

Failovergruppen und Point-in-Time-WiederherstellungFailover groups and point-in-time restore

Informationen zur Verwendung der Point-in-Time-Wiederherstellung mit Failovergruppen finden Sie unter Point-in-Time-Wiederherstellung.For information about using point-in-time restore with failover groups, see Point in Time Recovery (PITR).

Programmgesteuertes Verwalten von FailovergruppenProgrammatically managing failover groups

Wie bereits zuvor erwähnt, können Gruppen für automatisches Failover und aktive Georeplikation auch programmgesteuert mit Azure PowerShell und der REST-API verwaltet werden.As discussed previously, auto-failover groups and active geo-replication can also be managed programmatically using Azure PowerShell and the REST API. Die folgenden Tabellen beschreiben den verfügbaren Satz von Befehlen.The following tables describe the set of commands available. Die aktive Georeplikation umfasst eine Reihe von Azure Resource Manager-APIs für die Verwaltung. Hierzu zählen unter anderem die Azure SQL-Datenbank-REST-API und Azure PowerShell-Cmdlets.Active geo-replication includes a set of Azure Resource Manager APIs for management, including the Azure SQL Database REST API and Azure PowerShell cmdlets. Diese APIs erfordern die Verwendung von Ressourcengruppen und unterstützen rollenbasierte Sicherheit (RBAC).These APIs require the use of resource groups and support role-based security (RBAC). Weitere Informationen zur Implementierung von Zugriffsrollen finden Sie unter Rollenbasierte Zugriffssteuerung in Azure.For more information on how to implement access roles, see Azure Role-Based Access Control.

PowerShell: Verwalten eines Failovers von SQL-Datenbanken mit einzelnen Datenbanken und Pools für elastische DatenbankenPowerShell: Manage SQL database failover with single databases and elastic pools

CmdletCmdlet BESCHREIBUNGDescription
New-AzSqlDatabaseFailoverGroupNew-AzSqlDatabaseFailoverGroup Dieser Befehl erstellt eine Failovergruppe und registriert sie auf primären und sekundären Servern.This command creates a failover group and registers it on both primary and secondary servers
Remove-AzSqlDatabaseFailoverGroupRemove-AzSqlDatabaseFailoverGroup Entfernt die Failovergruppe vom Server und löscht alle in der Gruppe enthaltenen sekundäre Datenbanken.Removes the failover group from the server and deletes all secondary databases included the group
Get-AzSqlDatabaseFailoverGroupGet-AzSqlDatabaseFailoverGroup Ruft die Konfiguration der Failovergruppe ab.Retrieves the failover group configuration
Set-AzSqlDatabaseFailoverGroupSet-AzSqlDatabaseFailoverGroup Ändert die Konfiguration der Failovergruppe.Modifies the configuration of the failover group
Switch-AzSqlDatabaseFailoverGroupSwitch-AzSqlDatabaseFailoverGroup Löst das Failover der Failovergruppe auf den sekundären Server aus.Triggers failover of the failover group to the secondary server
Add-AzSqlDatabaseToFailoverGroupAdd-AzSqlDatabaseToFailoverGroup Fügt einer Azure SQL-Datenbank-Failovergruppe eine oder mehrere Datenbanken hin zu.Adds one or more databases to an Azure SQL Database failover group

PowerShell: Verwalten von Failovergruppen mit verwalteten Instanzen (Vorschau)PowerShell: Managing failover groups with Managed Instances (preview)

Installieren der neuesten Vorabversion von PowerShellInstall the newest pre-release version of PowerShell

  1. Aktualisieren Sie das PowerShellGet-Modul auf Version 1.6.5 (oder die neueste Vorschauversion).Update the PowerShellGet module to 1.6.5 (or newest preview version). Siehe Website zur PowerShell-Vorschauversion.See PowerShell preview site.

       install-module PowerShellGet -MinimumVersion 1.6.5 -force
    
  2. Führen Sie in einem neuen PowerShell-Fenster die folgenden Befehle aus:In a new PowerShell window, execute the following commands:

       import-module PowerShellGet
       get-module PowerShellGet #verify version is 1.6.5 (or newer)
       install-module azurerm.sql -RequiredVersion 4.5.0-preview -AllowPrerelease –Force
       import-module azurerm.sql
    

PowerShell-Cmdlets zum Erstellen einer InstanzfailovergruppePowerShell commandlets to create an instance failover group

APIAPI BESCHREIBUNGDescription
New-AzureRmSqlDatabaseInstanceFailoverGroupNew-AzureRmSqlDatabaseInstanceFailoverGroup Dieser Befehl erstellt eine Failovergruppe und registriert sie auf primären und sekundären Servern.This command creates a failover group and registers it on both primary and secondary servers
Set-AzureRmSqlDatabaseInstanceFailoverGroupSet-AzureRmSqlDatabaseInstanceFailoverGroup Ändert die Konfiguration der Failovergruppe.Modifies the configuration of the failover group
Get-AzureRmSqlDatabaseInstanceFailoverGroupGet-AzureRmSqlDatabaseInstanceFailoverGroup Ruft die Konfiguration der Failovergruppe ab.Retrieves the failover group configuration
Switch-AzureRmSqlDatabaseInstanceFailoverGroupSwitch-AzureRmSqlDatabaseInstanceFailoverGroup Löst das Failover der Failovergruppe auf den sekundären Server aus.Triggers failover of the failover group to the secondary server
Remove-AzureRmSqlDatabaseInstanceFailoverGroupRemove-AzureRmSqlDatabaseInstanceFailoverGroup Entfernt eine Failovergruppe.Removes a failover group

REST-API: Verwalten von SQL-Datenbank-Failovergruppen mit Einzel- und PooldatenbankenREST API: Manage SQL database failover groups with single and pooled databases

APIAPI BESCHREIBUNGDescription
Create or Update Failover GroupCreate or Update Failover Group Erstellt oder aktualisiert eine Failovergruppe.Creates or updates a failover group
Delete Failover GroupDelete Failover Group Entfernt die Failovergruppe vom ServerRemoves the failover group from the server
Failover (Planned)Failover (Planned) Führt ein Failover vom aktuellen primären Server auf diesen Server durch.Fails over from the current primary server to this server.
Force Failover Allow Data LossForce Failover Allow Data Loss Führt ein Failover vom aktuellen primären Server auf diesen Server durch.ails over from the current primary server to this server. Bei diesem Vorgang können Daten verloren gehen.This operation might result in data loss.
Get Failover GroupGet Failover Group Ruft eine Failovergruppe ab.Gets a failover group.
List Failover Groups By ServerList Failover Groups By Server Listet die Failovergruppen eines Servers auf.Lists the failover groups in a server.
Update Failover GroupUpdate Failover Group Aktualisiert eine Failovergruppe.Updates a failover group.

REST-API: Verwalten von Failovergruppen mit verwalteten Instanzen (Vorschau)REST API: Manage failover groups with Managed Instances (preview)

APIAPI BESCHREIBUNGDescription
Create or Update Failover GroupCreate or Update Failover Group Erstellt oder aktualisiert eine Failovergruppe.Creates or updates a failover group
Delete Failover GroupDelete Failover Group Entfernt die Failovergruppe vom ServerRemoves the failover group from the server
Failover (Planned)Failover (Planned) Führt ein Failover vom aktuellen primären Server auf diesen Server durch.Fails over from the current primary server to this server.
Force Failover Allow Data LossForce Failover Allow Data Loss Führt ein Failover vom aktuellen primären Server auf diesen Server durch.ails over from the current primary server to this server. Bei diesem Vorgang können Daten verloren gehen.This operation might result in data loss.
Get Failover GroupGet Failover Group Ruft eine Failovergruppe ab.Gets a failover group.
List Failover Groups - List By LocationList Failover Groups - List By Location Listet die Failovergruppen an einem Standort auf.Lists the failover groups in a location.

Nächste SchritteNext steps