Monitorare l'archiviazione OLTP in memoriaMonitor In-Memory OLTP storage

Quando si usa OLTP in memoria, i dati nelle tabelle con ottimizzazione per la memoria e le variabili di tabella si trovano nell'archiviazione OLTP in memoria.When using In-Memory OLTP, data in memory-optimized tables and table variables resides in In-Memory OLTP storage. Ogni livello di servizio Premium ha dimensioni massime di archiviazione OLTP in memoria documentate nell'articolo sui limiti delle risorse del database singolo e sui limiti delle risorse del pool elastico.Each Premium service tier has a maximum In-Memory OLTP storage size, which is documented in single database resource limits and elastic pool resource limits. Dopo il superamento di questo limite, è possibile che le operazioni di inserimento e aggiornamento abbiano esito negativo con errore 41823.Once this limit is exceeded, insert and update operations may start failing (with error 41823). Sarà quindi necessario eliminare dati per recuperare memoria oppure aggiornare il livello di prestazioni del database.At that point you will need to either delete data to reclaim memory, or upgrade the performance tier of your database.

Determinare se i dati rientreranno nel limite di archiviazione in memoriaDetermine whether data will fit within the in-memory storage cap

Determinare i limiti di archiviazione dei diversi livelli di servizio Premium.Determine the storage caps of the different Premium service tiers. Vedere le informazioni sui limiti delle risorse del database singolo e sui limiti delle risorse del pool elastico.See single database resource limits and elastic pool resource limits.

La stima dei requisiti di memoria per una tabella con ottimizzazione per la memoria in SQL Server è analoga alla stima eseguita nel database SQL di Azure.Estimating memory requirements for a memory-optimized table works the same way for SQL Server as it does in Azure SQL Database. È consigliabile rivedere l'argomento corrispondente su MSDN.Take a few minutes to review that topic on MSDN.

Si noti che la tabella e le righe di variabili tabella, oltre agli indici, vengono incluse nel calcolo delle dimensioni massime dei dati utente.Note that the table and table variable rows, as well as indexes, count toward the max user data size. ALTER TABLE, inoltre, necessita di spazio sufficiente per creare una nuova versione dell'intera tabella e dei relativi indici.In addition, ALTER TABLE needs enough room to create a new version of the entire table and its indexes.

Monitoraggio e avvisoMonitoring and alerting

È possibile monitorare l'uso dell'archiviazione in memoria come percentuale del limite di archiviazione per il livello di prestazioni nel portale di Azure:You can monitor in-memory storage use as a percentage of the storage cap for your performance tier in the Azure portal:

  1. Nel pannello Database individuare la casella Utilizzo risorse e fare clic su Modifica.On the Database blade, locate the Resource utilization box and click on Edit.
  2. Selezionare la metrica In-Memory OLTP Storage percentage.Select the metric In-Memory OLTP Storage percentage.
  3. Per aggiungere un avviso, selezionare la casella Utilizzo risorse per aprire il pannello Metrica, quindi fare clic su Aggiungi avviso.To add an alert, click on the Resource Utilization box to open the Metric blade, then click on Add alert.

In alternativa, usare la query seguente per visualizzare l'utilizzo delle risorse di archiviazione in memoria:Or use the following query to show the in-memory storage utilization:

SELECT xtp_storage_percent FROM sys.dm_db_resource_stats

Correggere le situazioni di memoria insufficiente - Errore 41823Correct out-of-memory situations - Error 41823

Se la memoria è insufficiente, le operazioni INSERISCI, AGGIORNA e CREA avranno esito negativo con messaggio di errore 41823.Running out-of-memory results in INSERT, UPDATE, and CREATE operations failing with error message 41823.

Il messaggio di errore 41823 indica che le tabelle con ottimizzazione per la memoria e le variabili tabella hanno superato le dimensioni massime.Error message 41823 indicates that the memory-optimized tables and table variables have exceeded the maximum size.

Per risolvere l'errore:To resolve this error, either:

  • Eliminare i dati dalle tabelle con ottimizzazione per la memoria, eseguendo potenzialmente l'offload dei dati in tabelle tradizionali basate su disco oppureDelete data from the memory-optimized tables, potentially offloading the data to traditional, disk-based tables; or,
  • Aggiornare il livello di servizio selezionandone uno con risorse di archiviazione in memoria sufficienti per i dati da mantenere nelle tabelle con ottimizzazione con memoria.Upgrade the service tier to one with enough in-memory storage for the data you need to keep in memory-optimized tables.

Passaggi successiviNext steps

Per le linee guida sul monitoraggio, vedere Monitoraggio del database SQL di Azure tramite le visualizzazioni di gestione dinamica.For monitoring guidance, see Monitoring Azure SQL Database using dynamic management views.