Azure SQL-Datenbank – ServerlosAzure SQL Database serverless

BETRIFFT: jaAzure SQL-Datenbank APPLIES TO: yesAzure SQL Database

„Serverless“ ist ein Computetarif für Einzeldatenbanken in Azure SQL-Datenbank, bei dem Computeressourcen basierend auf dem Workloadbedarf automatisch skaliert werden und die Nutzung dieser Ressourcen sekundengenau abrechnet wird.Serverless is a compute tier for single databases in Azure SQL Database that automatically scales compute based on workload demand and bills for the amount of compute used per second. Wenn nur der verwendete Speicher in Rechnung gestellt wird, hält die serverlose Computeebene außerdem Datenbanken während inaktiver Zeiträume automatisch an und startet diese wieder, wenn es wieder zu Aktivität kommt.The serverless compute tier also automatically pauses databases during inactive periods when only storage is billed and automatically resumes databases when activity returns.

Serverlose ComputeebeneServerless compute tier

Die serverlose Computeebene für Singletons in Azure SQL-Datenbank wird durch einen automatischen Computeskalierungsbereich und eine Verzögerung durch automatisches Anhalten parametrisiert.The serverless compute tier for single databases in Azure SQL Database is parameterized by a compute autoscaling range and an autopause delay. Die Konfiguration dieser Parameter beeinflusst die Leistung und die Computekosten der Datenbank.The configuration of these parameters shapes the database performance experience and compute cost.

Abrechnung – serverlos

LeistungskonfigurationPerformance configuration

  • Die Mindestanzahl virtueller Kerne und die maximale Anzahl virtueller Kerne sind konfigurierbare Parameter, die den Bereich der Computekapazität definieren, die für die Datenbank verfügbar ist.The minimum vCores and maximum vCores are configurable parameters that define the range of compute capacity available for the database. Arbeitsspeicher- und E/A-Limits sind proportional zum angegebenen V-Kern-Bereich.Memory and IO limits are proportional to the vCore range specified.
  • Die Verzögerung durch automatisches Anhalten ist ein konfigurierbarer Parameter, der die Zeitspanne definiert, für die die Datenbank inaktiv sein muss, bevor sie automatisch pausiert wird.The autopause delay is a configurable parameter that defines the period of time the database must be inactive before it is automatically paused. Bei der nächsten Anmeldung oder einer anderen Aktivität wird die Ausführung der Datenbank automatisch fortgesetzt.The database is automatically resumed when the next login or other activity occurs. Alternativ kann das automatische Anhalten deaktiviert werden.Alternatively, autopausing can be disabled.

KostenCost

  • Die Kosten für eine serverlose Datenbank setzen sich aus der Summe der Computekosten und der Speicherkosten zusammen.The cost for a serverless database is the summation of the compute cost and storage cost.
  • Wenn die Computenutzung zwischen dem minimal und dem maximal konfigurierten Grenzwert liegt, basieren die Computekosten auf den verwendeten virtuellen Kernen und dem verwendeten Speicher.When compute usage is between the min and max limits configured, the compute cost is based on vCore and memory used.
  • Wenn die Computenutzung unter dem minimal konfigurierten Grenzwert liegt, basieren die Computekosten auf der konfigurierten Mindestanzahl an virtuellen Kernen und Speicher.When compute usage is below the min limits configured, the compute cost is based on the min vCores and min memory configured.
  • Wenn die Datenbank angehalten wird, fallen keine Computekosten an, und es wird nur der verwendete Speicher berechnet.When the database is paused, the compute cost is zero and only storage costs are incurred.
  • Die Speicherkosten werden auf die gleiche Weise berechnet wie in der bereitgestellten Computeebene.The storage cost is determined in the same way as in the provisioned compute tier.

Weitere Informationen finden Sie unter Abrechnung.For more cost details, see Billing.

SzenarienScenarios

Serverlos ist preis-/leistungsoptimiert für Einzeldatenbanken mit zeitweiligen, unvorhersehbaren Nutzungsmustern, bei denen eine gewisse Verzögerung in der Compute-Aufwärmphase nach Leerlaufzeiträumen ohne Nutzung akzeptabel ist.Serverless is price-performance optimized for single databases with intermittent, unpredictable usage patterns that can afford some delay in compute warm-up after idle usage periods. Die bereitgestellte Computeebene ist dagegen preis-/leistungsoptimiert für Einzeldatenbanken oder Datenbanken in Pools für elastische Datenbanken mit höherer durchschnittlicher Nutzung, bei denen eine Verzögerung in der Compute-Aufwärmphase nicht akzeptabel ist.In contrast, the provisioned compute tier is price-performance optimized for single databases or multiple databases in elastic pools with higher average usage that cannot afford any delay in compute warm-up.

Ideal geeignete Szenarien für serverloses ComputingScenarios well-suited for serverless compute

  • Einzeldatenbanken mit wechselnden, unvorhersehbaren Nutzungsmustern, Perioden der Inaktivität und geringerer durchschnittlicher Computenutzung im Zeitverlauf.Single databases with intermittent, unpredictable usage patterns interspersed with periods of inactivity and lower average compute utilization over time.
  • Einzeldatenbanken in der bereitgestellten Computeebene, die häufig neu skaliert werden, und Kunden, die die Neuskalierung des Computings an den Dienst delegieren möchten.Single databases in the provisioned compute tier that are frequently rescaled and customers who prefer to delegate compute rescaling to the service.
  • Neue Einzeldatenbanken ohne Nutzungsverlauf, bei denen das Schätzen der Computegröße vor der Bereitstellung in SQL-Datenbank schwierig oder gar nicht möglich ist.New single databases without usage history where compute sizing is difficult or not possible to estimate prior to deployment in SQL Database.

Ideal geeignete Szenarien für bereitgestelltes ComputingScenarios well-suited for provisioned compute

  • Einzeldatenbanken mit regelmäßigeren, vorhersagbaren Nutzungsmustern und höherer durchschnittlicher Computenutzung im Zeitverlauf.Single databases with more regular, predictable usage patterns and higher average compute utilization over time.
  • Datenbanken, die keine Leistungskompromisse durch häufigeres Begrenzen des Speichers oder Verzögerung beim automatischen Fortsetzen aus dem angehaltenen Zustand tolerieren können.Databases that cannot tolerate performance trade-offs resulting from more frequent memory trimming or delay in autoresuming from a paused state.
  • Mehrere Datenbanken mit wechselnden, unvorhersehbaren Nutzungsmustern, die für bessere Preis-/Leistungsoptimierung in Pools für elastische Datenbanken konsolidiert werden können.Multiple databases with intermittent, unpredictable usage patterns that can be consolidated into elastic pools for better price-performance optimization.

Vergleich mit der bereitgestellten ComputeebeneComparison with provisioned compute tier

Die folgende Tabelle enthält eine Zusammenfassung der Unterschiede zwischen der serverlosen Computeebene und der bereitgestellten Computeebene:The following table summarizes distinctions between the serverless compute tier and the provisioned compute tier:

Serverloses Computing:Serverless compute Bereitgestelltes ComputingProvisioned compute
DatenbanknutzungsmusterDatabase usage pattern Wechselnde, unvorhersehbare Nutzung mit niedrigerer durchschnittlicher Computenutzung im Zeitverlauf.Intermittent, unpredictable usage with lower average compute utilization over time. Regelmäßigere Nutzungsmuster mit höherer durchschnittlicher Computenutzung im Zeitverlauf oder mehrere Datenbanken, die Pools für elastische Datenbanken verwenden.More regular usage patterns with higher average compute utilization over time, or multiple databases using elastic pools.
Aufwand bei der LeistungsverwaltungPerformance management effort GeringerLower HöherHigher
Compute-SkalierungCompute scaling AutomaticAutomatic ManuellManual
Compute-ReaktionsfähigkeitCompute responsiveness Geringer nach InaktivitätszeiträumenLower after inactive periods UnmittelbarImmediate
Granularität bei der AbrechnungBilling granularity Pro SekundePer second Pro StundePer hour

Kaufmodell und DienstebenePurchasing model and service tier

„SQL-Datenbank – serverlos“ wird derzeit nur von der Ebene „Universell“ auf Hardware der Generation 5 im vCore-basierten Kaufmodell unterstützt.SQL Database serverless is currently only supported in the General Purpose tier on Generation 5 hardware in the vCore purchasing model.

Automatische SkalierungAutoscaling

Reaktionsfähigkeit hinsichtlich der SkalierungScaling responsiveness

Im Allgemeinen werden serverlose Datenbanken auf einem Computer mit ausreichender Kapazität zum unterbrechungsfreien Erfüllen des Ressourcenbedarfs für beliebige Volumen von angeforderten Computeressourcen innerhalb der Grenzen unterstützt, die durch den Wert für die maximale Anzahl virtueller Kerne festgelegt sind.In general, serverless databases are run on a machine with sufficient capacity to satisfy resource demand without interruption for any amount of compute requested within limits set by the max vCores value. Gelegentlich tritt automatisch ein Lastenausgleich auf, wenn der Computer den Ressourcenbedarf nicht innerhalb weniger Minuten erfüllen kann.Occasionally, load balancing automatically occurs if the machine is unable to satisfy resource demand within a few minutes. Beispiel: Wenn vier virtuelle Kerne benötigt werden, aber nur zwei virtuelle Kerne verfügbar sind, dauert es unter Umständen einige Minuten, bis ein Lastausgleich vorgenommen wurde und vier virtuelle Kerne bereitgestellt werden.For example, if the resource demand is 4 vCores, but only 2 vCores are available, then it may take up to a few minutes to load balance before 4 vCores are provided. Die Datenbank bleibt während des Lastenausgleichs online, mit Ausnahme einer kurzen Zeitspanne am Schluss des Vorgangs, wenn Verbindungen verworfen werden.The database remains online during load balancing except for a brief period at the end of the operation when connections are dropped.

SpeicherverwaltungMemory management

Arbeitsspeicher für serverlose Datenbanken wird häufiger als bei bereitgestellten Computedatenbanken freigegeben.Memory for serverless databases is reclaimed more frequently than for provisioned compute databases. Dieses Verhalten ist wichtig, um für serverlose Datenbanken die Kosten kontrollieren zu können, und es kann mit einer Beeinträchtigung der Leistung verbunden sein.This behavior is important to control costs in serverless and can impact performance.

Freigabe von CacheCache reclamation

Im Gegensatz zu bereitgestellten Computedatenbanken wird der Speicher aus dem SQL-Cache von einer serverlosen Datenbank freigegeben, wenn eine geringe CPU-Auslastung vorliegt oder der Cache kaum aktiv genutzt wird.Unlike provisioned compute databases, memory from the SQL cache is reclaimed from a serverless database when CPU or active cache utilization is low.

  • Die aktive Cachenutzung gilt als niedrig, wenn die Gesamtgröße der zuletzt verwendeten Cacheeinträge für einen bestimmten Zeitraum unter einen Schwellenwert fällt.Active cache utilization is considered low when the total size of the most recently used cache entries falls below a threshold for a period of time.
  • Beim Auslösen der Cachefreigabe wird die Größe des Zielspeichers inkrementell auf einen Bruchteil der vorherigen Größe reduziert, und der Freigabevorgang wird nur fortgesetzt, wenn die Auslastung niedrig bleibt.When cache reclamation is triggered, the target cache size is reduced incrementally to a fraction of its previous size and reclaiming only continues if usage remains low.
  • Während der Cachefreigabe entspricht die Richtlinie für die Auswahl der zu entfernenden Cacheeinträge der Auswahlrichtlinie für bereitgestellte Computedatenbanken bei hoher Speicherauslastung.When cache reclamation occurs, the policy for selecting cache entries to evict is the same selection policy as for provisioned compute databases when memory pressure is high.
  • Der Cache wird niemals auf eine Größe verkleinert, die unter der Mindestgröße für den Arbeitsspeicher liegt. Dies wird über die Mindestanzahl von virtuellen Kernen definiert und kann entsprechend konfiguriert werden.The cache size is never reduced below the min memory limit as defined by min vCores which can be configured.

Sowohl in serverlosen als auch in bereitgestellten Computedatenbanken können Cacheeinträge entfernt werden, wenn der gesamte verfügbare Arbeitsspeicher verwendet wird.In both serverless and provisioned compute databases, cache entries may be evicted if all available memory is used.

Beachten Sie, dass die aktive Cachenutzung je nach Verwendungsmuster trotz geringer CPU-Auslastung hoch bleiben und die Speicherfreigabe verhindern kann.Note that when CPU utilization is low, active cache utilization can remain high depending on the usage pattern and prevent memory reclamation. Außerdem kann es nach Ende der Benutzeraktivität zu einer zusätzlichen Verzögerung kommen, bevor die Speicherfreigabe aufgrund von periodischen Hintergrundprozessen erfolgt, die auf vorherige Benutzeraktivitäten reagieren.Also, there can be additional delay after user activity stops before memory reclamation occurs due to periodic background processes responding to prior user activity. Beispielsweise werden bei Löschvorgängen inaktive Datensätze generiert, die zum Löschen markiert sind. Sie werden jedoch erst physisch gelöscht, wenn der inaktive Cleanupprozess inaktiver Datensätze ausgeführt wird, der das Lesen von Datenseiten in den Cache beinhalten kann.For example, delete operations generate ghost records that are marked for deletion, but are not physically deleted until the ghost cleanup process runs which can involve reading data pages into cache.

CachehydrationCache hydration

Der SQL-Cache wächst an, während Daten auf die gleiche Weise und mit der gleichen Geschwindigkeit wie für bereitgestellte Datenbanken vom Datenträger abgerufen werden.The SQL cache grows as data is fetched from disk in the same way and with the same speed as for provisioned databases. Wenn die Datenbank ausgelastet ist, kann die Größe des Caches uneingeschränkt bis zum maximalen Arbeitsspeichergrenzwert zunehmen.When the database is busy, the cache is allowed to grow unconstrained up to the max memory limit.

Automatisches Anhalten und automatisches FortsetzenAutopausing and autoresuming

Automatisches AnhaltenAutopausing

Das automatische Anhalten wird ausgelöst, wenn die folgenden Bedingungen für die Dauer der Verzögerung für automatisches Anhalten erfüllt sind:Autopausing is triggered if all of the following conditions are true for the duration of the autopause delay:

  • Anzahl der Sitzungen = 0Number sessions = 0
  • CPU = 0 für Benutzerworkload im BenutzerpoolCPU = 0 for user workload running in the user pool

Es ist eine Option verfügbar, mit der das automatische Anhalten ggf. deaktiviert werden kann.An option is provided to disable autopausing if desired.

Die folgenden Features unterstützen nicht das automatische Anhalten, sondern nur die automatische Skalierung.The following features do not support autopausing, but do support auto-scaling. Das heißt, bei Verwendung eines der folgenden Features bleibt die Datenbank online, ungeachtet der Dauer der Inaktivität der Datenbank:That is, if any of the following features are used, then the database remains online regardless of the duration of database inactivity:

  • Georeplikation (aktive Georeplikation und Gruppen für automatisches Failover).Geo-replication (active geo-replication and auto-failover groups).
  • Langzeitaufbewahrung (Long-Term Retention, LTR) von Sicherungen.Long-term backup retention (LTR).
  • In SQL-Datensynchronisierung verwendete Synchronisierungsdatenbank Im Gegensatz zu Synchronisierungsdatenbanken unterstützen Hub-Datenbanken und Mitgliedsdatenbanken das automatische Anhalten.The sync database used in SQL data sync. Unlike sync databases, hub and member databases support autopausing.
  • die in elastischen Aufträgen (Vorschauversion) verwendete AuftragsdatenbankThe job database used in Elastic Jobs (preview).

Das automatische Anhalten wird während der Bereitstellung bestimmter Dienstupdates vorübergehend verhindert, die erfordern, dass die Datenbank online ist.Autopausing is temporarily prevented during the deployment of some service updates which require the database be online. In solchen Fällen ist das automatische Anhalten wieder zulässig, sobald das Dienstupdate abgeschlossen ist.In such cases, autopausing becomes allowed again once the service update completes.

Automatisches FortsetzenAutoresuming

Das automatische Fortsetzen wird ausgelöst, wenn eine der folgenden Bedingungen erfüllt ist:Autoresuming is triggered if any of the following conditions are true at any time:

FunktionFeature Trigger für automatisches FortsetzenAutoresume trigger
Authentifizierung und AutorisierungAuthentication and authorization AnmeldenameLogin
BedrohungserkennungThreat detection Aktivieren/Deaktivieren von Einstellungen für die Bedrohungserkennung auf der Datenbank- oder Serverebene.Enabling/disabling threat detection settings at the database or server level.
Ändern von Einstellungen für die Bedrohungserkennung auf der Datenbank- oder Serverebene.Modifying threat detection settings at the database or server level.
Datenermittlung und -klassifizierungData discovery and classification Hinzufügen, Ändern, Löschen oder Anzeigen von VertraulichkeitsbezeichnungenAdding, modifying, deleting, or viewing sensitivity labels
ÜberwachungAuditing Anzeigen von Überwachungsdatensätzen.Viewing auditing records.
Aktualisieren oder Anzeigen von Überwachungsrichtlinien.Updating or viewing auditing policy.
DatenmaskierungData masking Hinzufügen, Ändern, Löschen oder Anzeigen von DatenmaskierungsregelnAdding, modifying, deleting, or viewing data masking rules
Transparent Data EncryptionTransparent data encryption Anzeigezustand oder Status der transparenten DatenverschlüsselungView state or status of transparent data encryption
SicherheitsrisikobewertungVulnerability assessment Ad-hoc-Scans und periodische Scans, falls aktiviertAd hoc scans and periodic scans if enabled
Abfragedatenspeicher (Leistung)Query (performance) data store Ändern oder Anzeigen von AbfragespeichereinstellungenModifying or viewing query store settings
Automatische OptimierungAutotuning Anwendung und Überprüfung von Empfehlungen für die automatische Optimierung, z.B. die automatische IndizierungApplication and verification of autotuning recommendations such as auto-indexing
Kopieren von DatenbankenDatabase copying Erstellen von Datenbanken als Kopie.Create database as copy.
Exportieren in eine BACPAC-Datei.Export to a BACPAC file.
SQL-DatensynchronisierungSQL data sync Die Synchronisierung zwischen Hub- und Mitgliedsdatenbanken, die nach einem konfigurierbaren Zeitplan oder manuell ausgeführt werdenSynchronization between hub and member databases that run on a configurable schedule or are performed manually
Ändern bestimmter DatenbankmetadatenModifying certain database metadata Hinzufügen von neuen Datenbanktags.Adding new database tags.
Ändern der Mindest- und Höchstwerte für virtuelle Kerne oder der Verzögerung für das automatische Anhalten.Changing max vCores, min vCores, or autopause delay.
SQL Server Management Studio (SSMS)SQL Server Management Studio (SSMS) Durch Verwenden von SSMS-Versionen vor 18.1 und Öffnen eines neuen Abfragefensters für eine Datenbank auf dem Server wird jede automatisch angehaltene Datenbank auf dem betreffenden Server fortgesetzt.Using SSMS versions earlier than 18.1 and opening a new query window for any database in the server will resume any auto-paused database in the same server. Dieses Verhalten tritt nicht auf, wenn mindestens Version 18.1 von SSMS verwendet wird.This behavior does not occur if using SSMS version 18.1 or later.

Überwachung und Verwaltung sowie andere Lösungen, die einen der oben aufgeführten Vorgänge ausführen, lösen eine automatische Fortsetzung aus.Monitoring, management, or other solutions performing any of the operations listed above will trigger auto-resuming.

Das automatische Fortsetzen wird ebenfalls während der Bereitstellung bestimmter Dienstupdates ausgelöst, die erfordern, dass die Datenbank online ist.Autoresuming is also triggered during the deployment of some service updates which require the database be online.

KonnektivitätConnectivity

Wenn eine serverlose Datenbank angehalten wird, wird die Datenbank bei der ersten Anmeldung fortgesetzt, und es wird ein Fehler (Fehlercode 40613) mit dem Hinweis zurückgegeben, dass die Datenbank nicht verfügbar ist.If a serverless database is paused, then the first login will resume the database and return an error stating that the database is unavailable with error code 40613. Sobald die Datenbank fortgesetzt wird, muss die Anmeldung wiederholt werden, um die Verbindung herzustellen.Once the database is resumed, the login must be retried to establish connectivity. Datenbankclients mit Wiederholungslogik für Verbindungen dürfen nicht geändert werden.Database clients with connection retry logic should not need to be modified.

LatencyLatency

Die Wartezeit für das automatische Fortsetzen und das automatische Anhalten einer serverlosen Datenbank liegt normalerweise im Bereich von 1 für das automatische Fortsetzen und zwischen 1 und 10 Minuten für das automatische Anhalten.The latency to autoresume and autopause a serverless database is generally order of 1 minute to autoresume and 1-10 minutes to autopause.

Vom Kunden verwaltete transparente Datenverschlüsselung (BYOK)Customer managed transparent data encryption (BYOK)

Falls die vom Kunden verwaltete transparente Datenverschlüsselung (BYOK) verwendet und die serverlose Datenbank automatisch angehalten wird, wenn ein Schlüssel gelöscht oder widerrufen wird, verbleibt die Datenbank im automatisch angehaltenen Zustand.If using customer managed transparent data encryption (BYOK) and the serverless database is auto-paused when key deletion or revocation occurs, then the database remains in the auto-paused state. Nach dem nächsten Fortsetzen der Datenbank kann in diesem Fall innerhalb von ungefähr 10 Minuten nicht mehr auf die Datenbank zugegriffen werden.In this case, after the database is next resumed, the database becomes inaccessible within approximately 10 minutes. Sobald der Zugriff auf die Datenbank nicht mehr möglich ist, ist der Wiederherstellungsvorgang identisch mit dem für bereitgestellte Computedatenbanken.Once the database becomes inaccessible, the recovery process is the same as for provisioned compute databases. Wenn die serverlose Datenbank zum Zeitpunkt des Löschens oder Widerrufens von Schlüsseln online ist, ist der Zugriff auf die Datenbank auch nach etwa 10 Minuten nicht mehr möglich, wie dies auch bei bereitgestellten Computedatenbanken der Fall ist.If the serverless database is online when key deletion or revocation occurs, then the database also becomes inaccessible within approximately 10 minutes in the same way as with provisioned compute databases.

Integration in die serverlose ComputeebeneOnboarding into serverless compute tier

Beim Erstellen einer neuen Datenbank bzw. Verschieben einer vorhandenen Datenbank in eine serverlose Computeebene gilt dasselbe Muster wie beim Erstellen einer neuen Datenbank in der bereitgestellten Computeebene. Dieser Vorgang umfasst die folgenden zwei Schritte:Creating a new database or moving an existing database into a serverless compute tier follows the same pattern as creating a new database in provisioned compute tier and involves the following two steps.

  1. Geben Sie das Dienstziel an.Specify the service objective. Das Dienstziel schreibt die Dienstebene, die Hardwaregeneration und die maximale Anzahl von virtuellen Kernen vor.The service objective prescribes the service tier, hardware generation, and max vCores. Weitere Informationen zu Optionen für Dienstziele finden Sie unter Limits für serverlose RessourcenFor service objective options, see serverless resource limits

  2. Geben Sie optional die Mindestanzahl virtueller Kerne und die Verzögerung für das automatische Anhalten an, um deren Standardwerte zu ändern.Optionally, specify the min vCores and autopause delay to change their default values. In der folgenden Tabelle werden die verfügbaren Werte für diese Parameter aufgeführt.The following table shows the available values for these parameters.

    ParameterParameter Auswahlmöglichkeiten für WerteValue choices StandardwertDefault value
    Mindestanzahl virtueller KerneMin vCores Hängt von den konfigurierten maximalen virtuellen Kernen ab (siehe Ressourceneinschränkungen).Depends on max vCores configured - see resource limits. 0,5 V-Kerne0.5 vCores
    Verzögerung für das automatische AnhaltenAutopause delay Minimum: 60 Minuten (1 Stunde)Minimum: 60 minutes (1 hour)
    Maximum: 10.080 Minuten (sieben Tage)Maximum: 10080 minutes (7 days)
    Inkremente: 10 MinutenIncrements: 10 minutes
    Automatisches Anhalten deaktivieren: -1Disable autopause: -1
    60 Minuten60 minutes

Erstellen einer neuen Datenbank in der serverlosen ComputeebeneCreate a new database in the serverless compute tier

Die folgenden Beispiele erstellen eine neue Datenbank in der serverlosen Computeebene.The following examples create a new database in the serverless compute tier.

Verwenden des Azure-PortalsUse the Azure portal

Weitere Informationen finden Sie unter Schnellstart: Erstellen einer Einzeldatenbank in Azure SQL-Datenbank über das Azure-Portal.See Quickstart: Create a single database in Azure SQL Database using the Azure portal.

Verwenden von PowerShellUse PowerShell

New-AzSqlDatabase -ResourceGroupName $resourceGroupName -ServerName $serverName -DatabaseName $databaseName `
  -ComputeModel Serverless -Edition GeneralPurpose -ComputeGeneration Gen5 `
  -MinVcore 0.5 -MaxVcore 2 -AutoPauseDelayInMinutes 720

Verwenden der Azure-CLIUse the Azure CLI

az sql db create -g $resourceGroupName -s $serverName -n $databaseName `
  -e GeneralPurpose -f Gen5 -min-capacity 0.5 -c 2 --compute-model Serverless --auto-pause-delay 720

Verwenden von Transact-SQL (T-SQL)Use Transact-SQL (T-SQL)

Bei Verwendung von T-SQL werden Standardwerte für die Mindestanzahl virtueller Kerne und die automatische Pausenverzögerung angewendet.When using T-SQL, default values are applied for the min vcores and autopause delay.

CREATE DATABASE testdb
( EDITION = 'GeneralPurpose', SERVICE_OBJECTIVE = 'GP_S_Gen5_1' ) ;

Weitere Informationen finden Sie unter CREATE DATABASE.For details, see CREATE DATABASE.

Verschieben einer Datenbank aus der bereitgestellten Computeebene in die serverlose ComputeebeneMove a database from the provisioned compute tier into the serverless compute tier

In den folgenden Beispielen wird eine Datenbank aus der bereitgestellten Computeebene in die serverlose Computeebene verschoben.The following examples move a database from the provisioned compute tier into the serverless compute tier.

Verwenden von PowerShellUse PowerShell

Set-AzSqlDatabase -ResourceGroupName $resourceGroupName -ServerName $serverName -DatabaseName $databaseName `
  -Edition GeneralPurpose -ComputeModel Serverless -ComputeGeneration Gen5 `
  -MinVcore 1 -MaxVcore 4 -AutoPauseDelayInMinutes 1440

Verwenden der Azure-CLIUse the Azure CLI

az sql db update -g $resourceGroupName -s $serverName -n $databaseName `
  --edition GeneralPurpose --min-capacity 1 --capacity 4 --family Gen5 --compute-model Serverless --auto-pause-delay 1440

Verwenden von Transact-SQL (T-SQL)Use Transact-SQL (T-SQL)

Bei Verwendung von T-SQL werden Standardwerte für die Mindestanzahl virtueller Kerne und die automatische Pausenverzögerung angewendet.When using T-SQL, default values are applied for the min vcores and autopause delay.

ALTER DATABASE testdb 
MODIFY ( SERVICE_OBJECTIVE = 'GP_S_Gen5_1') ;

Weitere Informationen finden Sie unter ALTER DATABASE.For details, see ALTER DATABASE.

Verschieben einer Datenbank aus der serverlosen Computeebene in die bereitgestellte ComputeebeneMove a database from the serverless compute tier into the provisioned compute tier

Eine serverlose Datenbank kann auf die gleiche Weise in eine bereitgestellte Computeebene verschoben werden wie eine bereitgestellte Datenbank in eine serverlose Computeebene.A serverless database can be moved into a provisioned compute tier in the same way as moving a provisioned compute database into a serverless compute tier.

Ändern der serverlosen KonfigurationModifying serverless configuration

Verwenden von PowerShellUse PowerShell

Führen Sie zum Ändern der Ober- oder Untergrenze für V-Kerne sowie der Verzögerung für das automatische Anhalten den PowerShell-Befehl Set-AzSqlDatabase mit den Argumenten MaxVcore, MinVcore und AutoPauseDelayInMinutes aus.Modifying the maximum or minimum vCores, and autopause delay, is performed by using the Set-AzSqlDatabase command in PowerShell using the MaxVcore, MinVcore, and AutoPauseDelayInMinutes arguments.

Verwenden der Azure-CLIUse the Azure CLI

Führen Sie zum Ändern der Ober- oder Untergrenze für V-Kerne sowie der Verzögerung für das automatische Anhalten den Azure CLI-Befehl az sql db update mit den Argumenten capacity, min-capacity und auto-pause-delay aus.Modifying the maximum or minimum vCores, and autopause delay, is performed by using the az sql db update command in Azure CLI using the capacity, min-capacity, and auto-pause-delay arguments.

ÜberwachungMonitoring

Genutzte und berechnete RessourcenResources used and billed

Die Ressourcen einer serverlosen Datenbank werden von App-Paket, SQL-Instanz und Benutzerressourcenpool-Entitäten gekapselt.The resources of a serverless database are encapsulated by app package, SQL instance, and user resource pool entities.

App-PaketApp package

Das App-Paket ist die „Außengrenze“ der Ressourcenverwaltung für eine Datenbank, wobei es keine Rolle spielt, ob sich die Datenbank auf einer serverlosen oder einer bereitgestellten Computeebene befindet.The app package is the outer most resource management boundary for a database, regardless of whether the database is in a serverless or provisioned compute tier. Das App-Paket enthält die SQL-Instanz und externe Dienste, die zusammen sämtliche Benutzer- und Systemressourcen umfassen, die von einer Datenbank in SQL-Datenbank genutzt werden.The app package contains the SQL instance and external services that together scope all user and system resources used by a database in SQL Database. Beispiele für externe Dienste sind R und die Volltextsuche.Examples of external services include R and full-text search. Die SQL-Instanz bestimmt generell die allgemeine Ressourcennutzung für das gesamte App-Paket.The SQL instance generally dominates the overall resource utilization across the app package.

BenutzerressourcenpoolUser resource pool

Der Benutzerressourcenpool ist die „Innengrenze“ der Ressourcenverwaltung für eine Datenbank, wobei es keine Rolle spielt, ob sich die Datenbank auf einer serverlosen oder einer bereitgestellten Computeebene befindet.The user resource pool is the inner most resource management boundary for a database, regardless of whether the database is in a serverless or provisioned compute tier. Der Benutzerressourcenpool beschränkt CPU und E/A für Benutzerworkload, die von DDL-Abfragen (z.B. CREATE und ALTER) und DML-Abfragen (z.B. SELECT, INSERT, UPDATE und DELETE) generiert wird.The user resource pool scopes CPU and IO for user workload generated by DDL queries such as CREATE and ALTER and DML queries such as SELECT, INSERT, UPDATE, and DELETE. Diese Abfragen sind im Allgemeinen für den Großteil der Auslastung des App-Pakets verantwortlich.These queries generally represent the most substantial proportion of utilization within the app package.

MetrikenMetrics

Metriken für die Überwachung des Ressourcenverbrauchs des App-Pakets und Benutzerpools einer serverlosen Datenbank sind in der folgenden Tabelle aufgeführt:Metrics for monitoring the resource usage of the app package and user pool of a serverless database are listed in the following table:

EntitätEntity MetrikMetric BESCHREIBUNGDescription UnitsUnits
App-PaketApp package app_cpu_percentapp_cpu_percent Prozentsatz der von der App genutzten virtuellen Kerne, bezogen auf die maximal zulässigen virtuellen Kerne für die App.Percentage of vCores used by the app relative to max vCores allowed for the app. ProzentwertPercentage
App-PaketApp package app_cpu_billedapp_cpu_billed Die Menge der Computeressourcen, die im Berichtszeitraum für die App abgerechnet wurden.The amount of compute billed for the app during the reporting period. Der während dieses Zeitraums zu zahlende Betrag ist das Produkt aus dieser Metrik und dem Einzelpreis für virtuelle Kerne.The amount paid during this period is the product of this metric and the vCore unit price.

Werte dieser Metrik werden bestimmt, indem der maximal genutzte Arbeitsspeicher und der pro Sekunde genutzte Speicher über einen Zeitraum aggregiert werden.Values of this metric are determined by aggregating over time the maximum of CPU used and memory used each second. Liegt die genutzte Menge unter der bereitgestellten Mindestmenge (festgelegt durch Mindestanzahl virtueller Kerne und Minimalwert für Speicher), wird die bereitgestellte Mindestmenge berechnet.If the amount used is less than the minimum amount provisioned as set by the min vCores and min memory, then the minimum amount provisioned is billed. Der Arbeitsspeicher wird in Einheiten aus virtuellen Kernen normalisiert, indem der Arbeitsspeicher in GB nach 3 GB pro virtuellem Kern neu skaliert wird. So kann die CPU bei der Abrechnung mit dem Arbeitsspeicher verglichen werden. In order to compare CPU with memory for billing purposes, memory is normalized into units of vCores by rescaling the amount of memory in GB by 3 GB per vCore.
Virtueller Kern – SekundenvCore seconds
App-PaketApp package app_memory_percentapp_memory_percent Prozentsatz des von der App genutzten Speichers, bezogen auf den maximal zulässigen Speicher für die App.Percentage of memory used by the app relative to max memory allowed for the app. ProzentwertPercentage
BenutzerpoolUser pool cpu_percentcpu_percent Prozentsatz der von der Benutzerworkload genutzten virtuellen Kerne, bezogen auf die maximal zulässigen virtuellen Kerne für die Benutzerworkload.Percentage of vCores used by user workload relative to max vCores allowed for user workload. ProzentwertPercentage
BenutzerpoolUser pool data_IO_percentdata_IO_percent Prozentsatz der von der Benutzerworkload genutzten Daten-IOPS, bezogen auf die maximal zulässige Daten-IOPS für die Benutzerworkload.Percentage of data IOPS used by user workload relative to max data IOPS allowed for user workload. ProzentwertPercentage
BenutzerpoolUser pool log_IO_percentlog_IO_percent Prozentsatz der von der Benutzerworkload genutzten Protokollrate (MB/s), bezogen auf die maximal zulässige Protokollrate (MB/s) für die Benutzerworkload.Percentage of log MB/s used by user workload relative to max log MB/s allowed for user workload. ProzentwertPercentage
BenutzerpoolUser pool workers_percentworkers_percent Prozentsatz der von der Benutzerworkload genutzten Worker, bezogen auf die maximal zulässige Anzahl von Workern für die Benutzerworkload.Percentage of workers used by user workload relative to max workers allowed for user workload. ProzentwertPercentage
BenutzerpoolUser pool sessions_percentsessions_percent Prozentsatz der von der Benutzerworkload genutzten Sitzungen, bezogen auf die maximal zulässige Anzahl von Sitzungen für die Benutzerworkload.Percentage of sessions used by user workload relative to max sessions allowed for user workload. ProzentwertPercentage

Status für Anhalten und FortsetzenPause and resume status

Im Azure-Portal wird der Datenbankstatus im Übersichtsbereich des Servers angezeigt, in dem die enthaltenen Datenbanken aufgelistet werden.In the Azure portal, the database status is displayed in the overview pane of the server that lists the databases it contains. Der Status der Datenbank wird auch im Übersichtsbereich für die Datenbank angezeigt.The database status is also displayed in the overview pane for the database.

Fragen Sie den Status für Anhalten und Fortsetzen einer Datenbank mit den folgenden Befehlen ab:Using the following commands to query the pause and resume status of a database:

Verwenden von PowerShellUse PowerShell

Get-AzSqlDatabase -ResourceGroupName $resourcegroupname -ServerName $servername -DatabaseName $databasename `
  | Select -ExpandProperty "Status"

Verwenden der Azure-CLIUse the Azure CLI

az sql db show --name $databasename --resource-group $resourcegroupname --server $servername --query 'status' -o json

RessourceneinschränkungenResource limits

Ressourceneinschränkungen werden unter serverlose Computeebene beschrieben.For resource limits, see serverless compute tier.

AbrechnungBilling

Die abgerechnete Computeleistung basiert auf der maximal verwendeten CPU und dem verwendeten Arbeitsspeicher (pro Sekunde).The amount of compute billed is the maximum of CPU used and memory used each second. Wenn die verwendete CPU und der verwendete Arbeitsspeicher kleiner als die bereitgestellte Mindestmenge sind, wird die bereitgestellte Menge abgerechnet.If the amount of CPU used and memory used is less than the minimum amount provisioned for each, then the provisioned amount is billed. Der Arbeitsspeicher wird in Einheiten aus virtuellen Kernen normalisiert, indem der Arbeitsspeicher in GB nach 3 GB pro virtuellem Kern neu skaliert wird. So kann die CPU bei der Abrechnung mit dem Arbeitsspeicher verglichen werden.In order to compare CPU with memory for billing purposes, memory is normalized into units of vCores by rescaling the amount of memory in GB by 3 GB per vCore.

  • Berechnete Ressource: CPU und ArbeitsspeicherResource billed: CPU and memory
  • Berechneter Betrag: Einzelpreis virtueller Kern * Max. (Min. virtuelle Kerne, genutzte virtuelle Kerne, Min. Speicher GB * 1/3, genutzter Speicher GB * 1/3)Amount billed: vCore unit price * max (min vCores, vCores used, min memory GB * 1/3, memory GB used * 1/3)
  • Fakturierungsintervall: Pro SekundeBilling frequency: Per second

Der Einzelpreis für virtuelle Kerne ergibt sich aus den Kosten pro virtuellem Kern pro Sekunde.The vCore unit price is the cost per vCore per second. Informationen zu Einzelpreisen in einer bestimmten Region finden Sie auf der Seite Azure SQL-Datenbank – Preise .Refer to the Azure SQL Database pricing page for specific unit prices in a given region.

Die genutzte Computekapazität wird mit der folgenden Metrik angegeben:The amount of compute billed is exposed by the following metric:

  • Metrik: app_cpu_billed (virtueller Kern – Sekunden)Metric: app_cpu_billed (vCore seconds)
  • Definition: Max. (min. virtuelle Kerne, genutzte virtuelle Kerne, min. Speicher GB * 1/3, genutzter Speicher GB * 1/3)Definition: max (min vCores, vCores used, min memory GB * 1/3, memory GB used * 1/3)
  • Berichtsfrequenz: Pro MinuteReporting frequency: Per minute

Diese Menge wird pro Sekunde berechnet und über eine Minute aggregiert.This quantity is calculated each second and aggregated over 1 minute.

Mindestrechnungsbetrag für ComputeressourcenMinimum compute bill

Wurde eine serverlose Datenbank angehalten, so beläuft sich der Rechnungsbetrag für Computeressourcen auf 0 (null).If a serverless database is paused, then the compute bill is zero. Wurde sie nicht angehalten, so entspricht der Mindestrechnungsbetrag für Computeressourcen mindestens dem Betrag für die Anzahl von virtuellen Kernen basierend auf max. (min. virtuelle Kerne, min. Arbeitsspeicher GB * 1/3).If a serverless database is not paused, then the minimum compute bill is no less than the amount of vCores based on max (min vCores, min memory GB * 1/3).

Beispiele:Examples:

  • Angenommen, eine serverlose Datenbank wird nicht angehalten und ist so konfiguriert, dass die maximale Anzahl von virtuellen Kernen 8 und die minimale Anzahl von virtuellen Kernen 1 ist, was einem Mindestarbeitsspeicher von 3,0 GB entspricht.Suppose a serverless database is not paused and configured with 8 max vCores and 1 min vCore corresponding to 3.0 GB min memory. Der Mindestrechnungsbetrag für Computeressourcen basiert dann auf max. (1 virtueller Kern, 3,0 GB * 1 virtueller Kern / 3 GB) = 1 virtueller Kern.Then the minimum compute bill is based on max (1 vCore, 3.0 GB * 1 vCore / 3 GB) = 1 vCore.
  • Angenommen, eine serverlose Datenbank wird nicht angehalten und ist so konfiguriert, dass die maximale Anzahl von virtuellen Kernen 4 und die minimale Anzahl von virtuellen Kernen 0,5 ist, was einem Mindestarbeitsspeicher von 2,1 GB entspricht.Suppose a serverless database is not paused and configured with 4 max vCores and 0.5 min vCores corresponding to 2.1 GB min memory. Der Mindestrechnungsbetrag für Computeressourcen basiert dann auf max. (0,5 virtuelle Kerne, 2,1 GB * 1 virtueller Kern / 3 GB) = 0,7 virtuelle Kerne.Then the minimum compute bill is based on max (0.5 vCores, 2.1 GB * 1 vCore / 3 GB) = 0.7 vCores.

Der Preisrechner für Azure SQL-Datenbank für den Tarif Serverless kann verwendet werden, um den minimal konfigurierbaren Arbeitsspeicher zu bestimmen basierend auf der konfigurierten maximalen und minimalen Anzahl von virtuellen Kernen.The Azure SQL Database pricing calculator for serverless can be used to determine the min memory configurable based on the number of max and min vCores configured. Wenn die konfigurierte Mindestanzahl von virtuellen Kernen größer als 0,5 ist, ist der Mindestrechnungsbetrag für Computeressourcen in der Regel unabhängig vom konfigurierten minimalen Arbeitsspeicher und basiert nur auf der konfigurierten minimalen Anzahl von virtuellen Kernen.As a rule, if the min vCores configured is greater than 0.5 vCores, then the minimum compute bill is independent of the min memory configured and based only on the number of min vCores configured.

BeispielszenarioExample scenario

Erwägen Sie die Verwendung einer serverlosen Datenbank, für die für virtuelle Kerne ein Mindestwert von 1 und ein Höchstwert von 4 konfiguriert ist.Consider a serverless database configured with 1 min vCore and 4 max vCores. Dies entspricht ungefähr einem Arbeitsspeicher von mindestens 3 GB und maximal 12 GB.This corresponds to around 3 GB min memory and 12-GB max memory. Angenommen, die Verzögerung für automatisches Anhalten ist auf sechs Stunden festgelegt, und die Datenbankworkload ist während der ersten beiden Stunden eines Zeitraums von 24 Stunden aktiv und ansonsten inaktiv.Suppose the auto-pause delay is set to 6 hours and the database workload is active during the first 2 hours of a 24-hour period and otherwise inactive.

In diesem Fall werden für die Datenbank Compute- und Speicherkosten während der ersten acht Stunden berechnet.In this case, the database is billed for compute and storage during the first 8 hours. Die Datenbank ist zwar nach der zweiten Stunde inaktiv, aber für die nachfolgenden sechs Stunden werden basierend auf der minimalen bereitgestellten Computeleistung trotzdem noch Computekosten berechnet, während die Datenbank online ist.Even though the database is inactive starting after the second hour, it is still billed for compute in the subsequent 6 hours based on the minimum compute provisioned while the database is online. Während die Datenbank angehalten ist, werden in der restlichen Zeit des 24-Stunden-Zeitraums nur Kosten für den Speicher berechnet.Only storage is billed during the remainder of the 24-hour period while the database is paused.

Die genaue Berechnung der Computekosten für dieses Beispiel lautet:More precisely, the compute bill in this example is calculated as follows:

ZeitintervallTime Interval Pro Sekunde verwendete virtuelle KernevCores used each second Pro Sekunde verwendete GBGB used each second Berechnete ComputedimensionCompute dimension billed Für Zeitintervall berechnete Sekunden für virtuelle KernevCore seconds billed over time interval
0:00 - 1:000:00-1:00 44 99 Verwendete virtuelle KernevCores used 4 virtuelle Kerne * 3.600 Sekunden = 14.400 Sekunden für virtuelle Kerne4 vCores * 3600 seconds = 14400 vCore seconds
1:00 - 2:001:00-2:00 11 1212 Verwendeter ArbeitsspeicherMemory used 12 GB * 1/3 * 3600 Sekunden = 14400 Sekunden für virtuelle Kerne12 GB * 1/3 * 3600 seconds = 14400 vCore seconds
2:00 - 8:002:00-8:00 00 00 Mindestens bereitgestellter ArbeitsspeicherMin memory provisioned 3 GB * 1/3 * 21.600 Sekunden = 21.600 Sekunden für virtuelle Kerne3 GB * 1/3 * 21600 seconds = 21600 vCore seconds
8:00 - 24:008:00-24:00 00 00 Keine Berechnung von Computeleistung während des AnhaltensNo compute billed while paused 0 Sekunden für virtuelle Kerne0 vCore seconds
Gesamte berechnete Sekunden für virtuelle Kerne in 24 StundenTotal vCore seconds billed over 24 hours 50.400 Sekunden für virtuelle Kerne50400 vCore seconds

Angenommen, der Compute-Einheitenpreis beträgt 0,000145 USD/V-Kern/Sekunde.Suppose the compute unit price is $0.000145/vCore/second. Die Computeleistung, die für diesen 24-Stunden-Zeitraum berechnet wird, ist dann das Produkt aus dem Preis der Compute-Einheit und den berechneten Sekunden für virtuelle Kerne: 0,000145 USD/V-Kern/Sekunde * 50400 Sekunden für virtuelle Kerne ~ 7,31 USDThen the compute billed for this 24-hour period is the product of the compute unit price and vCore seconds billed: $0.000145/vCore/second * 50400 vCore seconds ~ $7.31

Azure-Hybridvorteil und reservierte KapazitätAzure Hybrid Benefit and reserved capacity

Rabatte für Azure-Hybridvorteil (Azure Hybrid Benefit, AHB) und reservierte Kapazität gelten nicht für die serverlose Computeebene.Azure Hybrid Benefit (AHB) and reserved capacity discounts do not apply to the serverless compute tier.

Verfügbare RegionenAvailable regions

Die serverlose Computeebene ist weltweit verfügbar, mit Ausnahme der folgenden Regionen: „China, Osten“, „China, Norden“, „Deutschland, Mitte“, „Deutschland, Nordosten“ und „US Gov Iowa“.The serverless compute tier is available worldwide except the following regions: China East, China North, Germany Central, Germany Northeast, and US Gov Central (Iowa).

Nächste SchritteNext steps