Sintomi
Supponiamo che tu crei una sessione di eventi estesi o una traccia di SQL Profiler che acquisisce l'evento rpc_starting o rpc_completed in Microsoft SQL Server 2016 e che l'istruzione di raccolta o il flusso di dati non sia abilitato (non hai impostato ilparametro Collect_statement o collect_data_stream per la sessione di Xevents o il parametro dati di testo o dati binari per il Profiler SQL). Se l' attività di SQL Server implica parametri con valori di tabella (TVPs) viene acquisita durante la sessione, l'utilizzo della memoria di SQL Server potrebbe aumentare molto più del necessario. Questo può causare gravi rallentamenti e in casi estremi esaurisce la memoria di SQL Server e viene visualizzato il messaggio di errore 701 seguente per le operazioni in corso:
La memoria di sistema non è sufficiente nel pool di risorse "impostazione predefinita" per eseguire la query
NotaSe si usa DBCC MEMORYSTATUS o query sys.dm_os_memory_clerks, è possibile osservare che il OBJECTSTORE_LBSS clerk di memoria Mostra un consumo di memoria di grandi dimensioni.
Risoluzione
Il problema con cui una sessione di eventi estesi o una traccia del profiler non è configurata per raccogliere istruzioni o flussi di dati richiede ancora buffer di memoria di grandi dimensioni perché il materiale TVP viene affrontato da questa correzione.
NotaSe la sessione eventi estesi o traccia di SQL Profiler è configurata per la raccolta di istruzioni o di dati/flussi binari e l' attività di SQL Server coinvolta in TVPs viene acquisita durante questa sessione, l'utilizzo della memoria di SQL Server potrebbe ancora aumentare anche con la correzione corrente applicata, come in questo caso è necessario il consumo di memoria per gestire il flusso TVP all'interno della
Per questo motivo, ti consigliamo di non eseguire sessioni permanenti o tracce con le combinazioni menzionate in precedenza di eventi e campi dati nelle istanze di SQL Server che potrebbero ricevere attività basate su TVP Intensive (in numeri o in dimensioni).
Service Pack per SQL Server:
Questa correzione è inclusa nel Service Pack 2 per SQL Server 2016.
NotaPer un'altra correzione che limita il numero di righe tracciate in un TVP, vedere la Knowledge base 4468102.
Informazioni sulle build di SQL Server 2016
Ogni nuova build per SQL Server 2016 contiene tutti gli aggiornamenti rapidi e le correzioni di sicurezza presenti nella build precedente. È consigliabile installare la build più recente per SQL Server 2016.
Stato
Microsoft ha confermato che questo problema si verifica nei prodotti elencati nella sezione "Si applica a".
Riferimenti
Informazioni sulla terminologia utilizzata da Microsoft per descrivere gli aggiornamenti software.