Limiti delle risorse del database SQL per il server di database SQL di AzureSQL Database resource limits for Azure SQL Database server

Questo articolo offre una panoramica dei limiti delle risorse del database SQL per un server di database SQL che gestisce database singoli e pool elastici.This article provides an overview of the SQL Database resource limits for a SQL Database server that manages single databases and elastic pools. Offre anche informazioni su cosa accade quando tali limiti delle risorse vengono raggiunti o superati.It also provides information regarding what happens when those resource limits are hit or exceeded.

Nota

Per i limiti di istanze gestite, consultare Limiti delle risorse del database SQL per le istanze gestite.For managed instances limits, see SQL Database resource limits for managed instances.

Limiti massimi delle risorseMaximum resource limits

RisorsaResource LimiteLimit
Database per serverDatabases per server 50005000
Numero predefinito di server per sottoscrizione in ogni areaDefault number of servers per subscription in any region 2020
Numero massimo di server per sottoscrizione in ogni areaMax number of servers per subscription in any region 200200
Quota DTU/eDTU per serverDTU / eDTU quota per server 54.00054,000
Quota vCore per server/istanzavCore quota per server/instance 540540
N. max pool per serverMax pools per server Limitato dal numero di DTU o vCore.Limited by number of DTUs or vCores. Se ad esempio ogni pool è da 1000 DTU, un server può supportare 54 pool.For example, if each pool is 1000 DTUs, then a server can support 54 pools.

Nota

Per ottenere una quota di DTU/eDTU o vCore maggiore o un numero di server più alto rispetto alla quantità predefinita, è possibile inviare una nuova richiesta di supporto nel portale di Azure per la sottoscrizione con il tipo di problema "Quota".To obtain more DTU /eDTU quota, vCore quota, or more servers than the default amount, a new support request can be submitted in the Azure portal for the subscription with issue type “Quota”. La quota di DTU/eDTU e il limite di database per server limita il numero di pool elastici per ogni server.The DTU / eDTU quota and database limit per server constrains the number of elastic pools per server.

Importante

Poiché il numero di database si avvicina al limite per server di database SQL, può verificarsi quanto segue:As the number of databases approaches the limit per SQL Database server, the following can occur:

  • Latenza in aumento nelle query in esecuzione nel database master.Increasing latency in running queries against the master database. Ciò include le visualizzazioni delle statistiche di utilizzo delle risorse, ad esempio sys.resource_stats.This includes views of resource utilization statistics such as sys.resource_stats.
  • Latenza in aumento nelle operazioni di gestione e nel portale di esecuzione del rendering dei punti di visualizzazione che coinvolgono l'enumerazione dei database nel server.Increasing latency in management operations and rendering portal viewpoints that involve enumerating databases in the server.

Dimensioni della risorsa di archiviazioneStorage size

Cosa accade quando vengono raggiunti i limiti delle risorse del database?What happens when database resource limits are reached

Elaborazione (DTU ed eDTU/vCore)Compute (DTUs and eDTUs / vCores)

Quando l'utilizzo del calcolo del database (misurato da DTU e edtu, o VCore) diventa elevato, la latenza delle query aumenta e può addirittura timeout. In queste condizioni, le query possono essere accodate dal servizio e vengono fornite le risorse per l'esecuzione perché la risorsa diventa disponibile.When database compute utilization (measured by DTUs and eDTUs, or vCores) becomes high, query latency increases and can even time out. Under these conditions, queries may be queued by the service and are provided resources for execution as resource become free. In caso di uso elevato di risorse di elaborazione, le opzioni di mitigazione includono:When encountering high compute utilization, mitigation options include:

ArchiviazioneStorage

Quando la quantità di spazio del database usato raggiunge il limite di dimensioni massime, gli inserimenti e gli aggiornamenti del database che aumentano la dimensione dei dati hanno esito negativo e i clienti ricevono un messaggio di errore.When database space used reaches the max size limit, database inserts and updates that increase the data size fail and clients receive an error message. Le operazioni SELECT e DELETE del database continuano ad avere esito positivo.Database SELECTS and DELETES continue to succeed.

In caso di uso elevato di spazio, le opzioni di mitigazione includono:When encountering high space utilization, mitigation options include:

Sessioni e ruoli di lavoro (richieste)Sessions and workers (requests)

Il numero massimo di sessioni e ruoli di lavoro è determinato dal livello di servizio e dalle dimensioni di calcolo (DTU ed eDTU).The maximum number of sessions and workers are determined by the service tier and compute size (DTUs and eDTUs). Le nuove richieste vengono rifiutate quando vengono raggiunti i limiti delle sessioni o dei ruoli di lavoro e i clienti ricevono un messaggio di errore.New requests are rejected when session or worker limits are reached, and clients receive an error message. Mentre il numero di connessioni disponibili può essere controllato dall'applicazione, il numero di ruoli di lavoro simultanei è spesso più difficile da stimare e da controllare.While the number of connections available can be controlled by the application, the number of concurrent workers is often harder to estimate and control. Ciò vale soprattutto durante i picchi di periodi di carico quando vengono raggiunti i limiti di risorse del database e i ruoli di lavoro si accumulano per via di query a esecuzione prolungata.This is especially true during peak load periods when database resource limits are reached and workers pile up due to longer running queries.

In caso di uso elevato di sessioni o ruoli di lavoro, le opzioni di mitigazione includono:When encountering high session or worker utilization, mitigation options include:

Governance della frequenza del log delle transazioniTransaction Log Rate Governance

La gestione della frequenza dei log delle transazioni è un processo nel database SQL di Azure usato per limitare le velocità di inserimento elevate per i carichi di lavoro, ad esempio le compilazioni BULK INSERT, SELECT INTO e index.Transaction log rate governance is a process in Azure SQL Database used to limit high ingestion rates for workloads such as bulk insert, SELECT INTO, and index builds. Questi limiti vengono rilevati e applicati al livello di sottosecondo alla frequenza di generazione dei record di log, limitando la velocità effettiva indipendentemente dal numero di IOs che possono essere emessi sui file di dati.These limits are tracked and enforced at the subsecond level to the rate of log record generation, limiting throughput regardless of how many IOs may be issued against data files. Le frequenze di generazione del log delle transazioni attualmente si scalano in modo lineare fino a un punto dipendente dall'hardware, con la frequenza massima di log consentita di 96 MB/s con il modello di acquisto vCore.Transaction log generation rates currently scale linearly up to a point that is hardware-dependent, with the maximum log rate allowed being 96 MB/s with the vCore purchasing model.

Nota

Il valore effettivo di IOs per i file di log delle transazioni non è regolato o limitato.The actual physical IOs to transaction log files are not governed or limited.

Le frequenze dei log sono impostate in modo che possano essere realizzate e prolungate in diversi scenari, mentre il sistema generale può mantenerne le funzionalità con un effetto ridotto al carico dell'utente.Log rates are set such that they can be achieved and sustained in a variety of scenarios, while the overall system can maintain its functionality with minimized impact to the user load. La governance della frequenza dei log garantisce che i backup del log delle transazioni restino entro i contratti di sicurezza di ripristino pubblicati.Log rate governance ensures that transaction log backups stay within published recoverability SLAs. Questa governance impedisce anche un backlog eccessivo nelle repliche secondarie.This governance also prevents an excessive backlog on secondary replicas.

Quando vengono generati i record di log, ogni operazione viene valutata e valutata per determinare se deve essere ritardata al fine di mantenere una velocità massima di log desiderata (MB/s al secondo).As log records are generated, each operation is evaluated and assessed for whether it should be delayed in order to maintain a maximum desired log rate (MB/s per second). I ritardi non vengono aggiunti quando i record del log vengono scaricati nella risorsa di archiviazione, ma la governance della frequenza dei log viene applicata durante la generazione della velocità del log.The delays are not added when the log records are flushed to storage, rather log rate governance is applied during log rate generation itself.

Le velocità effettive di generazione dei log imposte in fase di esecuzione possono anche essere influenzate dai meccanismi di feedback, riducendo temporaneamente le frequenze di log consentite in modo che il sistema possa stabilizzarsiThe actual log generation rates imposed at run time may also be influenced by feedback mechanisms, temporarily reducing the allowable log rates so the system can stabilize. Gestione dello spazio del file di log, evitando che le condizioni di spazio del log e i meccanismi di replica dei gruppi di disponibilità possano ridurre temporaneamente i limiti di sistema complessivi.Log file space management, avoiding running into out of log space conditions and Availability Group replication mechanisms can temporarily decrease the overall system limits.

Il data shaping di log rate Governor viene esposto tramite i tipi di attesa seguenti (esposti nella DMV sys. dm_db_wait_stats ):Log rate governor traffic shaping is surfaced via the following wait types (exposed in the sys.dm_db_wait_stats DMV):

Tipo di attesaWait Type noteNotes
LOG_RATE_GOVERNORLOG_RATE_GOVERNOR Limitazione del databaseDatabase limiting
POOL_LOG_RATE_GOVERNORPOOL_LOG_RATE_GOVERNOR Limitazione del poolPool limiting
INSTANCE_LOG_RATE_GOVERNORINSTANCE_LOG_RATE_GOVERNOR Limitazione a livello di istanzaInstance level limiting
HADR_THROTTLE_LOG_RATE_SEND_RECV_QUEUE_SIZEHADR_THROTTLE_LOG_RATE_SEND_RECV_QUEUE_SIZE Controllo feedback, replica fisica del gruppo di disponibilità in Premium/business critical non in lineaFeedback control, availability group physical replication in Premium/Business Critical not keeping up
HADR_THROTTLE_LOG_RATE_LOG_SIZEHADR_THROTTLE_LOG_RATE_LOG_SIZE Controllo feedback, limitazione delle tariffe per evitare una condizione di spazio del log esauritaFeedback control, limiting rates to avoid an out of log space condition

Quando si verifica un limite di velocità di log che ostacola la scalabilità desiderata, prendere in considerazione le opzioni seguenti:When encountering a log rate limit that is hampering desired scalability, consider the following options:

  • Scalabilità verticale a un livello superiore per ottenere la velocità massima di log di 96 MB/s.Scale up to a larger tier in order to get the maximum 96 MB/s log rate.
  • Se i dati caricati sono temporanei, ad esempio i dati di staging in un processo ETL, possono essere caricati in tempdb (con registrazione minima).If data being loaded is transient, i.e. staging data in an ETL process, it can be loaded into tempdb (which is minimally logged).
  • Per gli scenari di analisi, caricare in una tabella analizzata columnstore cluster.For analytic scenarios, load into a clustered columnstore covered table. In questo modo si riduce la velocità di log necessaria a causa della compressione.This reduces the required log rate due to compression. Questa tecnica aumenta l'utilizzo della CPU ed è applicabile solo ai set di dati che traggono vantaggio dagli indici columnstore cluster.This technique does increase CPU utilization and is only applicable to data sets that benefit from clustered columnstore indexes.

Passaggi successiviNext steps