Hoge Beschik baarheid voor Azure SQL Database en SQL Managed instanceHigh availability for Azure SQL Database and SQL Managed Instance

VAN TOEPASSING OP: jaAzure SQL Database jaMet Azure SQL beheerd exemplaar APPLIES TO: yesAzure SQL Database yesAzure SQL Managed Instance

Het doel van de architectuur voor hoge Beschik baarheid in Azure SQL Database en SQL Managed instance is om te garanderen dat uw data base ten minste 99,99% van de tijd actief is (Zie voor meer informatie over specifieke SLA voor verschillende lagen de Sla voor Azure SQL database en SQL Managed instance) zonder dat u zich zorgen hoeft te maken over de invloed van onderhouds bewerkingen en storingen.The goal of the high availability architecture in Azure SQL Database and SQL Managed Instance is to guarantee that your database is up and running minimum of 99.99% of time (For more information regarding specific SLA for different tiers, Please refer SLA for Azure SQL Database and SQL Managed Instance), without worrying about the impact of maintenance operations and outages. Azure beheert automatisch essentiële onderhouds taken, zoals patches, back-ups, Windows-en Azure SQL-upgrades, en niet-geplande gebeurtenissen, zoals onderliggende hardware, software of netwerk fouten.Azure automatically handles critical servicing tasks, such as patching, backups, Windows and Azure SQL upgrades, as well as unplanned events such as underlying hardware, software, or network failures. Wanneer de onderliggende data base in Azure SQL Database wordt gerepareerd of een failover wordt uitgevoerd, is de downtime niet merkbaar als u probeert logica in uw app te gebruiken.When the underlying database in Azure SQL Database is patched or fails over, the downtime is not noticeable if you employ retry logic in your app. SQL Database en SQL Managed instance kunnen snel worden hersteld, zelfs in de meest kritieke omstandigheden om ervoor te zorgen dat uw gegevens altijd beschikbaar zijn.SQL Database and SQL Managed Instance can quickly recover even in the most critical circumstances ensuring that your data is always available.

De oplossing voor hoge Beschik baarheid is zodanig ontworpen dat doorgevoerde gegevens nooit verloren gaan als gevolg van fouten, dat de onderhouds bewerkingen geen invloed hebben op uw werk belasting en dat de data base geen Single Point of Failure is in uw software architectuur.The high availability solution is designed to ensure that committed data is never lost due to failures, that maintenance operations do not affect your workload, and that the database will not be a single point of failure in your software architecture. Er zijn geen onderhouds Vensters of downtime die vereisen dat u de werk belasting stopt wanneer de data base wordt bijgewerkt of onderhouden.There are no maintenance windows or downtimes that should require you to stop the workload while the database is upgraded or maintained.

Er zijn twee architectuur modellen met hoge Beschik baarheid:There are two high availability architectural models:

  • Standaard beschikbaarheids model dat is gebaseerd op een schei ding van Compute en opslag.Standard availability model that is based on a separation of compute and storage. Het is afhankelijk van de hoge Beschik baarheid en betrouw baarheid van de laag voor externe opslag.It relies on high availability and reliability of the remote storage tier. Deze architectuur streeft naar budget gerichte zakelijke toepassingen die tijdens onderhouds activiteiten een prestatie vermindering kunnen verdragen.This architecture targets budget-oriented business applications that can tolerate some performance degradation during maintenance activities.
  • Premium-beschikbaarheids model dat is gebaseerd op een cluster met data base-engine processen.Premium availability model that is based on a cluster of database engine processes. Het is afhankelijk van het feit dat er altijd een quorum van de beschik bare data base-engine knooppunten is.It relies on the fact that there is always a quorum of available database engine nodes. Deze architectuur streeft naar essentiële bedrijfs toepassingen met hoge i/o-prestaties, een hoge transactie snelheid en garandeert minimale prestatie gevolgen voor uw werk belasting tijdens onderhouds activiteiten.This architecture targets mission critical applications with high IO performance, high transaction rate and guarantees minimal performance impact to your workload during maintenance activities.

SQL Database en SQL Managed instance worden beide uitgevoerd op de nieuwste stabiele versie van de SQL Server-data base-engine en het Windows-besturings systeem, en de meeste gebruikers merken niet dat er voortdurend upgrades worden uitgevoerd.SQL Database and SQL Managed Instance both run on the latest stable version of the SQL Server database engine and Windows operating system, and most users would not notice that upgrades are performed continuously.

Beschik baarheid van Basic, Standard en Algemeen service tierBasic, Standard, and General Purpose service tier availability

De service lagen Basic, Standard en Algemeen maken gebruik van de standaard beschik baarheids architectuur voor zowel serverloze als ingerichte reken kracht.The Basic, Standard, and General Purpose service tiers leverage the standard availability architecture for both serverless and provisioned compute. In de volgende afbeelding ziet u vier verschillende knoop punten met de gescheiden reken-en opslag lagen.The following figure shows four different nodes with the separated compute and storage layers.

Schei ding van Compute en opslag

Het standaard beschikbaarheids model bevat twee lagen:The standard availability model includes two layers:

  • Een stateless Compute-laag die het sqlservr.exe proces uitvoert en bevat alleen tijdelijke en in de cache opgeslagen gegevens, zoals TempDB, model databases op de gekoppelde SSD en de plannings cache, de buffer groep en de column Store-groep in het geheugen.A stateless compute layer that runs the sqlservr.exe process and contains only transient and cached data, such as TempDB, model databases on the attached SSD, and plan cache, buffer pool, and columnstore pool in memory. Dit stateless knoop punt wordt gebruikt door Azure Service Fabric dat initialiseert sqlservr.exe , de status van het knoop punt beheert en failover naar een ander knoop punt uitvoert, indien nodig.This stateless node is operated by Azure Service Fabric that initializes sqlservr.exe, controls health of the node, and performs failover to another node if necessary.
  • Een stateful gegevenslaag met de database bestanden (. MDF/. ldf) die zijn opgeslagen in Azure Blob Storage.A stateful data layer with the database files (.mdf/.ldf) that are stored in Azure Blob storage. Azure Blob-opslag heeft ingebouwde functie voor gegevens beschikbaarheid en redundantie.Azure blob storage has built-in data availability and redundancy feature. Hiermee wordt gegarandeerd dat elke record in het logboek bestand of de pagina in het gegevens bestand behouden blijft, zelfs als het sqlservr.exe proces vastloopt.It guarantees that every record in the log file or page in the data file will be preserved even if sqlservr.exe process crashes.

Wanneer de data base-engine of het besturings systeem wordt bijgewerkt, of als er een fout wordt gedetecteerd, wordt het stateless sqlservr.exe proces door Azure service Fabric verplaatst naar een ander stateless reken knooppunt met voldoende vrije capaciteit.Whenever the database engine or the operating system is upgraded, or a failure is detected, Azure Service Fabric will move the stateless sqlservr.exe process to another stateless compute node with sufficient free capacity. Gegevens in Azure Blob-opslag worden niet beïnvloed door de verplaatsing en de gegevens/logboek bestanden zijn gekoppeld aan het zojuist geïnitialiseerde sqlservr.exe proces.Data in Azure Blob storage is not affected by the move, and the data/log files are attached to the newly initialized sqlservr.exe process. Dit proces garandeert een Beschik baarheid van 99,99%, maar een zware werk belasting kan tijdens de overgang enige prestatie vermindering voordoen, omdat het nieuwe sqlservr.exe proces wordt gestart met koude cache.This process guarantees 99.99% availability, but a heavy workload may experience some performance degradation during the transition since the new sqlservr.exe process starts with cold cache.

Beschik baarheid van Premium-en Bedrijfskritiek-servicelaagPremium and Business Critical service tier availability

Premium-en Bedrijfskritiek-service lagen maken gebruik van het Premium-beschikbaarheids model, dat reken bronnen ( sqlservr.exe proces) en opslag (lokaal gekoppelde SSD) integreert op één knoop punt.Premium and Business Critical service tiers leverage the Premium availability model, which integrates compute resources (sqlservr.exe process) and storage (locally attached SSD) on a single node. Hoge Beschik baarheid wordt bereikt door zowel Compute als Storage te repliceren naar extra knoop punten die een drie-tot vier knoop punt-cluster maken.High availability is achieved by replicating both compute and storage to additional nodes creating a three to four-node cluster.

Cluster van data base-engine knooppunten

De onderliggende database bestanden (. MDF/. ldf) worden geplaatst op de gekoppelde SSD-opslag om een lage latentie-IO te bieden voor uw werk belasting.The underlying database files (.mdf/.ldf) are placed on the attached SSD storage to provide very low latency IO to your workload. Hoge Beschik baarheid wordt geïmplementeerd met behulp van een technologie die vergelijkbaar is met SQL Server AlwaysOn- beschikbaarheids groepen.High availability is implemented using a technology similar to SQL Server Always On availability groups. Het cluster bevat één primaire replica die toegankelijk is voor werk belastingen van de klant lezen en schrijven, en Maxi maal drie secundaire replica's (Compute en opslag) die kopieën van gegevens bevatten.The cluster includes a single primary replica that is accessible for read-write customer workloads, and up to three secondary replicas (compute and storage) containing copies of data. Het primaire knoop punt duwt voortdurend wijzigingen in de secundaire knoop punten en zorgt ervoor dat de gegevens worden gesynchroniseerd naar ten minste één secundaire replica voordat elke trans actie wordt doorgevoerd.The primary node constantly pushes changes to the secondary nodes in order and ensures that the data is synchronized to at least one secondary replica before committing each transaction. Dit proces zorgt ervoor dat als het primaire knoop punt om een of andere reden vastloopt, er altijd een volledig gesynchroniseerd knoop punt wordt uitgevoerd.This process guarantees that if the primary node crashes for any reason, there is always a fully synchronized node to fail over to. De failover wordt gestart door de Azure-Service Fabric.The failover is initiated by the Azure Service Fabric. Zodra de secundaire replica het nieuwe primaire knoop punt wordt, wordt er een andere secundaire replica gemaakt om ervoor te zorgen dat het cluster voldoende knoop punten (quorum set) heeft.Once the secondary replica becomes the new primary node, another secondary replica is created to ensure the cluster has enough nodes (quorum set). Zodra de failover is voltooid, worden Azure SQL-verbindingen automatisch omgeleid naar het nieuwe primaire knoop punt.Once failover is complete, Azure SQL connections are automatically redirected to the new primary node.

Als extra voor deel heeft het Premium-beschikbaarheids model de mogelijkheid om alleen-lezen Azure SQL-verbindingen om te leiden naar een van de secundaire replica's.As an extra benefit, the premium availability model includes the ability to redirect read-only Azure SQL connections to one of the secondary replicas. Deze functie heet Uitschalen lezen. Het biedt 100% extra reken capaciteit zonder extra kosten voor het laden van alleen-lezen bewerkingen, zoals analytische werk belastingen, van de primaire replica.This feature is called Read Scale-Out. It provides 100% additional compute capacity at no extra charge to off-load read-only operations, such as analytical workloads, from the primary replica.

Beschik baarheid van grootschalige-servicelaagHyperscale service tier availability

De grootschalige-architectuur van de service tier wordt beschreven in de architectuur gedistribueerde functies en is momenteel alleen beschikbaar voor SQL database, niet voor SQL beheerd exemplaar.The Hyperscale service tier architecture is described in Distributed functions architecture and is only currently available for SQL Database, not SQL Managed Instance.

Functionele architectuur grootschalige

Het beschikbaarheids model in grootschalige bevat vier lagen:The availability model in Hyperscale includes four layers:

  • Een stateless Compute-laag waarmee de sqlservr.exe processen worden uitgevoerd en die alleen tijdelijke en in de cache opgeslagen gegevens bevatten, zoals niet-bedekkende RBPEX-cache, tempdb, model database, enzovoort, op de gekoppelde SSD en de plannings cache, buffer groep en de column Store-groep in het geheugen.A stateless compute layer that runs the sqlservr.exe processes and contains only transient and cached data, such as non-covering RBPEX cache, TempDB, model database, etc. on the attached SSD, and plan cache, buffer pool, and columnstore pool in memory. Deze stateless laag bevat de primaire Compute-replica en optioneel een aantal secundaire Compute-replica's die als failover-doelen kunnen fungeren.This stateless layer includes the primary compute replica and optionally a number of secondary compute replicas that can serve as failover targets.
  • Een stateless opslagbus gevormd door pagina servers.A stateless storage layer formed by page servers. Deze laag is de gedistribueerde opslag engine voor de sqlservr.exe processen die worden uitgevoerd op de reken replica's.This layer is the distributed storage engine for the sqlservr.exe processes running on the compute replicas. Elke pagina Server bevat alleen tijdelijke en in de cache opgeslagen gegevens, zoals het bedekken van RBPEX cache op de gekoppelde SSD en gegevens pagina's in het cache geheugen.Each page server contains only transient and cached data, such as covering RBPEX cache on the attached SSD, and data pages cached in memory. Elke pagina Server heeft een gekoppelde pagina server in een actief/actief-configuratie om taak verdeling, redundantie en hoge Beschik baarheid te bieden.Each page server has a paired page server in an active-active configuration to provide load balancing, redundancy, and high availability.
  • Een stateful opslag laag voor transactie logboeken, gevormd door het reken knooppunt waarop het logboek service proces wordt uitgevoerd, de overloop zone voor het transactie logboek en de lange termijn opslag van transactie Logboeken.A stateful transaction log storage layer formed by the compute node running the Log service process, the transaction log landing zone, and transaction log long term storage. Voor de opslag zone en de lange termijn wordt Azure Storage gebruikt. Dit biedt Beschik baarheid en Redundantie voor het transactie logboek en zorgt voor de duurzaamheid van gegevens voor doorgevoerde trans acties.Landing zone and long term storage use Azure Storage, which provides availability and redundancy for transaction log, ensuring data durability for committed transactions.
  • Een stateful gegevensopslag laag met de database bestanden (. MDF/. ndf) die zijn opgeslagen in Azure Storage en worden bijgewerkt door pagina servers.A stateful data storage layer with the database files (.mdf/.ndf) that are stored in Azure Storage and are updated by page servers. Deze laag maakt gebruik van de functies voor Beschik baarheid en Redundantie van gegevens van Azure Storage.This layer uses data availability and redundancy features of Azure Storage. Hiermee wordt gegarandeerd dat elke pagina in een gegevens bestand blijft behouden, zelfs als processen in andere lagen van de grootschalige-architectuur vastlopen of als reken knooppunten mislukken.It guarantees that every page in a data file will be preserved even if processes in other layers of Hyperscale architecture crash, or if compute nodes fail.

Reken knooppunten in alle grootschalige-lagen worden uitgevoerd op Azure Service Fabric, waarmee de status van elk knoop punt wordt gecontroleerd en waar nodig failovers worden uitgevoerd naar beschik bare, gezonde knoop punten.Compute nodes in all Hyperscale layers run on Azure Service Fabric, which controls health of each node and performs failovers to available healthy nodes as necessary.

Zie voor meer informatie over hoge Beschik baarheid in grootschalige Data Base hoge Beschik baarheid in grootschalige.For more information on high availability in Hyperscale, see Database High Availability in Hyperscale.

Zone redundante configuratieZone redundant configuration

Het cluster met knoop punten voor het Premium-beschikbaarheids model wordt standaard in hetzelfde Data Center gemaakt.By default, the cluster of nodes for the premium availability model is created in the same datacenter. Met de introductie van Azure-beschikbaarheidszoneskan SQL database verschillende replica's van de bedrijfskritiek-data base plaatsen in verschillende beschikbaarheids zones in dezelfde regio.With the introduction of Azure Availability Zones, SQL Database can place different replicas of the Business Critical database to different availability zones in the same region. Om een Single Point of Failure te elimineren, wordt de controle ring ook gedupliceerd over meerdere zones als drie gateway ringen (GW).To eliminate a single point of failure, the control ring is also duplicated across multiple zones as three gateway rings (GW). De route ring naar een specifieke gateway ring wordt beheerd door Azure Traffic Manager (ATM).The routing to a specific gateway ring is controlled by Azure Traffic Manager (ATM). Omdat de zone redundante configuratie in de service lagen van Premium of Bedrijfskritiek geen extra database redundantie maakt, kunt u deze zonder extra kosten inschakelen.Because the zone redundant configuration in the Premium or Business Critical service tiers does not create additional database redundancy, you can enable it at no extra cost. Als u een zone redundante configuratie selecteert, kunt u uw Premium-of Bedrijfskritiek-data bases tot een veel grotere set storingen leiden, inclusief een onherstelbare uitval van het Data Center, zonder dat u de toepassings logica hoeft te wijzigen.By selecting a zone redundant configuration, you can make your Premium or Business Critical databases resilient to a much larger set of failures, including catastrophic datacenter outages, without any changes to the application logic. U kunt ook bestaande Premium-of Bedrijfskritiek-data bases of-groepen converteren naar de zone redundante configuratie.You can also convert any existing Premium or Business Critical databases or pools to the zone redundant configuration.

Omdat de redundante data bases van de zone replica's hebben in verschillende data centers met een aantal onderlinge afstanden, kan de verhoogde netwerk latentie de doorvoer tijd verhogen en de prestaties van bepaalde OLTP-workloads beïnvloeden.Because the zone redundant databases have replicas in different datacenters with some distance between them, the increased network latency may increase the commit time and thus impact the performance of some OLTP workloads. U kunt altijd terugkeren naar de configuratie met één zone door de instelling voor zone redundantie uit te scha kelen.You can always return to the single-zone configuration by disabling the zone redundancy setting. Dit proces is een online bewerking die vergelijkbaar is met de normale upgrade van de servicelaag.This process is an online operation similar to the regular service tier upgrade. Aan het einde van het proces wordt de data base of groep gemigreerd van een redundante ring zone naar een enkele zone ring of andersom.At the end of the process, the database or pool is migrated from a zone redundant ring to a single zone ring or vice versa.

Belangrijk

Zone redundante data bases en elastische Pools worden momenteel alleen ondersteund in de service lagen Premium en Bedrijfskritiek in regio's selecteren.Zone redundant databases and elastic pools are currently only supported in the Premium and Business Critical service tiers in select regions. Wanneer u de laag Bedrijfskritiek gebruikt, is de redundante configuratie van de zone alleen beschikbaar wanneer de GEN5 Compute-hardware is geselecteerd.When using the Business Critical tier, zone redundant configuration is only available when the Gen5 compute hardware is selected. Zie Services ondersteunen per regiovoor actuele informatie over de regio's die zone redundante data bases ondersteunen.For up to date information about the regions that support zone redundant databases, see Services support by region.

Notitie

Deze functie is niet beschikbaar in het door SQL beheerde exemplaar.This feature is not available in SQL Managed Instance.

De zone redundante versie van de architectuur met hoge Beschik baarheid wordt geïllustreerd in het volgende diagram:The zone redundant version of the high availability architecture is illustrated by the following diagram:

architectuur zone met hoge Beschik baarheid, redundant

Versneld database herstel (ADR)Accelerated Database Recovery (ADR)

Versneld database herstel (ADR) is een nieuwe functie van een data base-engine waarmee de beschik baarheid van de data base aanzienlijk wordt verbeterd, met name in de aanwezigheid van langlopende trans acties.Accelerated Database Recovery (ADR) is a new database engine feature that greatly improves database availability, especially in the presence of long running transactions. ADR is momenteel beschikbaar voor Azure SQL Database, Azure SQL Managed instance en Azure SQL Data Warehouse.ADR is currently available for Azure SQL Database, Azure SQL Managed Instance, and Azure SQL Data Warehouse.

Toepassings fout tolerantie testenTesting application fault resiliency

Hoge Beschik baarheid is een fundamenteel onderdeel van het SQL Database en het SQL Managed instance-platform dat transparant werkt voor uw database toepassing.High availability is a fundamental part of the SQL Database and SQL Managed Instance platform that works transparently for your database application. We erkennen echter dat u wellicht wilt testen hoe de automatische failover-bewerkingen die worden geïnitieerd tijdens geplande of niet-geplande gebeurtenissen, van invloed zijn op een toepassing voordat u deze implementeert voor productie.However, we recognize that you may want to test how the automatic failover operations initiated during planned or unplanned events would impact an application before you deploy it to production. U kunt een failover hand matig activeren door een speciale API aan te roepen om een Data Base, een elastische pool of een beheerd exemplaar opnieuw te starten.You can manually trigger a failover by calling a special API to restart a database, an elastic pool, or a managed instance. In het geval van een zone redundante data base of elastische pool zou de API-aanroep ertoe leiden dat client verbindingen worden omgeleid naar de nieuwe primaire in een beschikbaarheids zone die afwijkt van de beschikbaarheids zone van de oude primaire.In the case of a zone redundant database or elastic pool, the API call would result in redirecting client connections to the new primary in an Availability Zone different from the Availability Zone of the old primary. Naast het testen van de manier waarop failover van invloed is op bestaande database sessies, kunt u ook controleren of de end-to-end-prestaties worden gewijzigd vanwege wijzigingen in de netwerk latentie.So in addition to testing how failover impacts existing database sessions, you can also verify if it changes the end-to-end performance due to changes in network latency. Omdat de computer opnieuw moet worden opgestart, is het mogelijk dat er voor elke Data Base, elastische pool of een beheerd exemplaar slechts één failover-aanroep elke 30 minuten wordt toegestaan.Because the restart operation is intrusive and a large number of them could stress the platform, only one failover call is allowed every 30 minutes for each database, elastic pool, or managed instance.

Een failover kan worden gestart met behulp van Power shell, REST API of Azure CLI:A failover can be initiated using PowerShell, REST API, or Azure CLI:

Implementatie typeDeployment type PowerShellPowerShell REST-APIREST API Azure CLIAzure CLI
DatabaseDatabase Invoke-AzSqlDatabaseFailoverInvoke-AzSqlDatabaseFailover Data base-failoverDatabase failover AZ rest kan worden gebruikt voor het aanroepen van een rest API aanroep vanuit Azure cliaz rest may be used to invoke a REST API call from Azure CLI
Elastische poolElastic pool Invoke-AzSqlElasticPoolFailoverInvoke-AzSqlElasticPoolFailover Failover van elastische groepElastic pool failover AZ rest kan worden gebruikt voor het aanroepen van een rest API aanroep vanuit Azure cliaz rest may be used to invoke a REST API call from Azure CLI
Beheerd exemplaarManaged Instance Invoke-AzSqlInstanceFailoverInvoke-AzSqlInstanceFailover Beheerde instanties-failoverManaged Instances - Failover AZ SQL mi failoveraz sql mi failover

Belangrijk

De opdracht failover is niet beschikbaar voor lees bare secundaire replica's van grootschalige-data bases.The Failover command is not available for readable secondary replicas of Hyperscale databases.

ConclusieConclusion

Azure SQL Database en Azure SQL Managed instance bieden een ingebouwde oplossing voor hoge Beschik baarheid, die nauw is geïntegreerd met het Azure-platform.Azure SQL Database and Azure SQL Managed Instance feature a built-in high availability solution, that is deeply integrated with the Azure platform. Het is afhankelijk van Service Fabric voor fout detectie en herstel, in Azure Blob-opslag voor gegevens beveiliging en op Beschikbaarheidszones voor een hogere fout tolerantie (zoals eerder in het document niet van toepassing op Azure SQL Managed instance).It is dependent on Service Fabric for failure detection and recovery, on Azure Blob storage for data protection, and on Availability Zones for higher fault tolerance (as mentioned earlier in document not applicable to Azure SQL Managed Instance yet). SQL Database en SQL Managed instance maken bovendien gebruik van de technologie van de AlwaysOn-beschikbaarheids groep van het SQL Server-exemplaar voor replicatie en failover.In addition, SQL Database and SQL Managed Instance leverage the Always On availability group technology from the SQL Server instance for replication and failover. De combi natie van deze technologieën stelt toepassingen in staat om de voor delen van een gemengd opslag model volledig te benutten en de meest veeleisende Sla's te ondersteunen.The combination of these technologies enables applications to fully realize the benefits of a mixed storage model and support the most demanding SLAs.

Volgende stappenNext steps