Condividi tramite


DBCC TRACEON - Flag di traccia (Transact-SQL)

Si applica a: SQL Server Istanza gestita di SQL di Azure

I flag di traccia vengono usati per impostare funzionalità del server specifiche o per modificare un particolare comportamento. Ad esempio, il flag di traccia 3226 è un flag di traccia di avvio comunemente usato che elimina i messaggi di backup riusciti nel log degli errori. I flag di traccia vengono spesso usati per diagnosticare i problemi di prestazioni o per eseguire il debug di stored procedure o sistemi computer complessi, ma possono anche essere consigliati da supporto tecnico Microsoft per risolvere il comportamento che influisce negativamente su un carico di lavoro specifico.

Tutti i flag di traccia descritti e quelli consigliati dal supporto tecnico Microsoft sono completamente supportati in un ambiente di produzione se usati come indicato. I flag di traccia in questo elenco possono avere considerazioni aggiuntive sull'utilizzo specifico, pertanto è consigliabile esaminare attentamente tutte le raccomandazioni fornite qui e/o dal tecnico del supporto. Inoltre, come per qualsiasi modifica di configurazione in SQL Server, è sempre consigliabile testare accuratamente il flag in un ambiente non di produzione prima della distribuzione.

Nota

Microsoft Entra ID era precedentemente conosciuto come Azure Active Directory (Azure AD).

Osservazioni:

In SQL Server sono disponibili tre ambiti per l'uso dei flag di traccia: query, sessione e globale. I flag di traccia di query sono attivi per il contesto di una query specifica. I flag di traccia di sessione sono attivi per una connessione e sono visibili solo per tale connessione. I flag di traccia globali vengono impostati a livello del server e sono visibili per tutte le connessioni nel server. Alcuni flag possono essere abilitati solo in ambito globale, mentre altri possono essere abilitati in ambito globale o sessione.

Si applicano le seguenti regole:

  • Un flag di traccia globale deve essere abilitato a livello globale. In caso contrario, non ha alcun effetto. È consigliabile abilitare i flag di traccia globali all'avvio usando l'opzione della -T riga di comando in Windows o mssql-conf in Linux. In questo modo il flag di traccia rimane attivo dopo il riavvio del server. Riavviare SQL Server per rendere effettivo il flag di traccia.

  • Un flag di traccia con ambito globale, sessione o query può essere abilitato con l'ambito appropriato. Un flag di traccia abilitato a livello di sessione non influisce mai sulle altre sessioni e l'effetto viene perso alla disconnessione dello SPID che ha aperto la sessione.

I flag di traccia possono essere impostati su ON o OFF in uno dei modi seguenti:

  • Uso dei comandi DBCC TRACEON e DBCC TRACEOFF.

    Ad esempio, per abilitare il flag di traccia 2528 a livello globale, usare DBCC TRACEON con l'argomento -1 : DBCC TRACEON (2528, -1). L'effetto dell'attivazione di un flag di traccia globale con DBCC TRACEON viene perso al riavvio del server. Per disattivare un flag di traccia globale, usare DBCC TRACEOFF con l'argomento -1 .

  • Uso dell'opzione -T di avvio per specificare che il flag di traccia è impostato durante l'avvio.

    L'opzione -T di avvio abilita un flag di traccia a livello globale. Non è possibile abilitare un flag di traccia a livello di sessione usando un'opzione di avvio. In questo modo il flag di traccia rimane attivo dopo il riavvio del server. Per altre informazioni sulle opzioni di avvio, vedere Opzioni di avvio del servizio del motore di database.

  • A livello di query, usando l'hint per la query QUERYTRACEON. L'opzione QUERYTRACEON è supportata solo per i flag di traccia di Query Optimizer documentati nella tabella visualizzata più avanti in questo articolo.

Per verificare i flag di traccia attivi, usare il comando DBCC TRACESTATUS.

Esempi

Nell'esempio seguente viene impostato il flag di traccia 3205 per tutte le sessioni a livello di server tramite DBCC TRACEON.

DBCC TRACEON (3205, -1);

È possibile abilitare tutti gli hotfix per i piani controllati dai flag di traccia 4199 e 4137 per una determinata query.

SELECT x
FROM correlated
WHERE f1 = 0
      AND f2 = 1
OPTION (QUERYTRACEON 4199, QUERYTRACEON 4137);

Flag di traccia

Nella tabella seguente vengono elencati e descritti i flag di traccia disponibili in SQL Server.

Istanza gestita di SQL di Azure supporta i flag di traccia globali seguenti: 460, 2301, 2389, 2390, 2453, 2467, 7471, 8207, 9389, 10316 e 11024. I flag di traccia della sessione non sono ancora supportati in Istanza gestita di SQL.

Alcuni flag di traccia sono stati introdotti in specifiche versioni di SQL Server. Per altre informazioni sulla versione applicabile, vedere l'articolo del supporto tecnico Microsoft associato a un flag di traccia specifico.

Il comportamento del flag di traccia potrebbe non essere supportato nelle versioni future di SQL Server.

È possibile fare riferimento ai flag di traccia direttamente nella tabella tramite un segnalibro che è possibile aggiungere alla fine dell'URL, usando questo formato: #tfNNNN. Ad esempio, per passare direttamente al flag di traccia 1118 nella tabella, usare dbcc-traceon-trace-flags-transact-sql#tf1118.

Flag di traccia Descrizione
101 Aumenta il livello di dettaglio della registrazione dell'agente di replica di tipo merge.

Importante: il flag di traccia 101 può essere abilitato solo per il agente di merge di replica usando l'opzione durante l'esecuzione -T di replmerg.exe dal prompt dei comandi.

Avviso: il flag di traccia 101 non è progettato per essere abilitato in modo continuo in un ambiente di produzione, ma solo per scopi di risoluzione dei problemi limitati nel tempo. Per altre informazioni, vedere una versione archiviata di KB2892633.

Ambito: solo agente di merge di replica.
102 Aumenta il livello di dettaglio della registrazione dell'agente di replica di tipo merge e lo indirizza alla tabella <Server di distribuzione>..msmerge_history.

Importante: il flag di traccia 102 può essere abilitato solo per la replica agente di merge usando l'opzione durante l'esecuzione -T di replmerg.exe dal prompt dei comandi.

Avviso: il flag di traccia 102 non è progettato per essere abilitato continuamente in un ambiente di produzione, ma solo per scopi di risoluzione dei problemi limitati nel tempo. Per altre informazioni, vedere una versione archiviata di KB2892633.

Ambito: solo agente di merge di replica.
139 Forza la semantica di conversione corretta nell'ambito dei comandi di controllo DBCC come DBCC CHECKDB, DBCC CHECKTABLE e DBCC CHECKCONSTRAINTS durante l'analisi della precisione avanzata e della logica di conversione introdotte con il livello di compatibilità 130 per tipi di dati specifici in un database con un livello di compatibilità inferiore. Per altre informazioni, vedere SQL Server e database SQL di Azure miglioramenti nella gestione di alcuni tipi di dati e operazioni non comuni.

Si applica a: SQL Server 2016 (13.x) RTM CU 3, SQL Server 2016 (13.x) Service Pack 1 e versioni successive.

Avviso: il flag di traccia 139 non è progettato per essere abilitato continuamente in un ambiente di produzione e deve essere usato per l'unico scopo di eseguire controlli di convalida del database descritti in SQL Server e database SQL di Azure miglioramenti nella gestione di alcuni tipi di dati e operazioni non comuni. Il flag deve essere disabilitato immediatamente dopo il completamento dei controlli di convalida.

Ambito: solo globale.
174 Incrementa il numero di bucket della cache dei piani del motore di database di SQL Server da 40.009 a 160.001 nei sistemi a 64 bit. Per altre informazioni, vedere KB3026083.

Nota: assicurarsi di testare accuratamente questa opzione, prima di eseguirne il rollover in un ambiente di produzione.

Ambito: solo globale.
176 Risolve gli errori durante la ricompilazione delle partizioni online per le tabelle che contengono una colonna di partizionamento calcolata. Per altre informazioni, vedere KB3213683 e KB4541096.

Ambito: globale o sessione.
205 Segnala al log degli errori quando una stored procedure dipendente dalle statistiche viene ricompilata in seguito alle statistiche di aggiornamento automatico. Per altre informazioni, vedere una versione archiviata di KB195565.

Nota: questo flag di traccia richiede l'abilitazione del flag di traccia 3605 .

Ambito: solo globale.
260 Visualizza informazioni sulla versione delle librerie di collegamento dinamico delle stored procedure estese. Per altre informazioni su GetXpVersion(), vedere Creare stored procedure estese.

Ambito: globale o sessione.
272 Disabilita la preallocazione dell'identità per evitare scostamenti nei valori in una colonna Identity nel caso in cui un server sia riavviato in modo imprevisto o esegua un failover in un server secondario. La memorizzazione nella cache di Identity serve a migliorare le prestazioni di INSERT nelle tabelle che contengono colonne Identity.

Nota: a partire da SQL Server 2017 (14.x), per eseguire questa operazione a livello di database, vedere l'opzione IDENTITY_CACHE in ALTER DATABASE SCOPED CONFIGURATION.

Ambito: solo globale.
460 Sostituisce il messaggio sul troncamento dei dati con ID 8152 con il messaggio con ID 2628. Per altre informazioni, vedere KB4468101.

A partire da SQL Server 2019 (15.x), per eseguire questa operazione a livello di database, vedere l'opzione VERBOSE_TRUNCATION_WARNINGS in ALTER DATABASE SCOPED CONFIGURATION.

Si applica a: SQL Server 2016 (13.x) Service Pack 2 CU 6, SQL Server 2017 (14.x) CU 12 e versioni successive.

Nota: a partire dal livello di compatibilità del database 150, l'ID messaggio 2628 è il valore predefinito e questo flag di traccia non ha alcun effetto. Per il livello di compatibilità del database 140 o inferiore, l'ID messaggio 2628 rimane un messaggio di errore di consenso esplicito che richiede l'abilitazione del flag di traccia 460 e questa configurazione con ambito database non ha alcun effetto.

Ambito: globale o sessione.
610 Controlla gli inserimenti della registrazione minima nelle tabelle indicizzate. Questo flag di traccia non è obbligatorio a partire da SQL Server 2016 (13.x), perché la registrazione minima è attivata per impostazione predefinita per le tabelle indicizzate. In SQL Server 2016 (13.x), quando l'operazione di caricamento bulk causa l'allocazione di una nuova pagina, tutte le righe che riempiono in sequenza la nuova pagina vengono registrate in modo minimo se vengono soddisfatti tutti gli altri prerequisiti per la registrazione minima. Le righe inserite nelle pagine esistenti (senza allocazione di nuove pagine) per mantenere l'ordine dell'indice continuano a essere registrate completamente poiché si tratta di righe che vengono spostate in seguito a divisioni di pagina durante il caricamento.

È anche importante avere ALLOW_PAGE_LOCKS attivato per gli indici (che è ATTIVATO per impostazione predefinita) per il funzionamento minimo dell'operazione di registrazione perché i blocchi di pagina vengono acquisiti durante l'allocazione e pertanto vengono registrate solo allocazioni di pagine o extent. Per altre informazioni, vedere Guida alle prestazioni del caricamento di dati.

Ambito: globale o sessione.
634 Disabilita l'attività in background di compressione Columnstore. SQL Server esegue periodicamente un'attività in background del motore di tuple con cui vengono compressi i rowgroup dell'indice columnstore con dati non compressi, un rowgroup alla volta.

Con la compressione Columnstore vengono migliorate le prestazioni delle query ma anche l'utilizzo delle risorse di sistema. È possibile controllare manualmente la tempistica della compressione columnstore disabilitando l'attività di compressione in background con il flag di traccia 634 e quindi richiamando in modo esplicito ALTER INDEX... REORGANIZE o ALTER INDEX... REBUILD al momento della scelta.

Ambito: solo globale.
652 Disabilita le analisi di prelettura delle pagine. Se si attiva il flag di traccia 652, SQL Server non inserisce più le pagine del database nel pool di buffer prima che queste pagine del database vengano utilizzate dalle analisi. Di conseguenza, le query che traggono vantaggio dalla funzionalità di prelettura della pagina presentano prestazioni inferiori.

Ambito: globale o sessione.
661 Disabilita il processo di rimozione dei record fantasma. Il flag di traccia 661 disabilita il processo di rimozione dei record fantasma. Un record fantasma è il risultato di un'operazione di eliminazione. Quando si elimina un record, il record eliminato viene mantenuto come record fantasma. Successivamente, il record eliminato viene cancellato dal processo di rimozione dei record fantasma. Quando si disabilita questo processo, il record eliminato non viene eliminato. Pertanto, lo spazio utilizzato dal record eliminato non viene liberato. Questo comportamento influisce sull'utilizzo dello spazio e sulle prestazioni delle operazioni di analisi. Per altre informazioni, vedere la guida al processo di pulizia fantasma.

Ambito: solo globale.
692 Disabilita gli inserimenti rapidi durante il caricamento bulk di dati nell'heap o indice cluster. A partire da SQL Server 2016 (13.x), gli inserimenti rapidi sono abilitati per impostazione predefinita, usando la registrazione minima quando il database si trova in un modello di recupero con registrazione minima o con registrazione minima delle operazioni bulk per ottimizzare le prestazioni di inserimento per i record inseriti in nuove pagine. Con inserimenti rapidi, ogni batch di caricamento bulk acquisisce nuovi extent ignorando la ricerca di allocazione per l'extent esistente con spazio disponibile per ottimizzare le prestazioni di inserimento.

Con inserimenti veloci, i caricamenti bulk con dimensioni batch di piccole dimensioni possono comportare un aumento dello spazio inutilizzato utilizzato dagli oggetti, pertanto è consigliabile usare batchsize di grandi dimensioni per ogni batch per riempire completamente l'extent. Se l'aumento delle dimensioni batch non è fattibile, questo flag di traccia può contribuire a ridurre lo spazio inutilizzato riservato a scapito delle prestazioni.

Si applica a: SQL Server 2016 (13.x) e versioni successive.

Ambito: globale o sessione.
715 Abilita il blocco di tabella per le operazioni di caricamento bulk in un heap senza indici non cluster. Quando questo flag di traccia è abilitato, le operazioni di caricamento bulk acquisiscono blocchi di aggiornamenti bulk (BU) quando viene eseguita la copia bulk dei dati in una tabella. I blocchi di aggiornamento bulk consentono a più thread di caricare in blocco i dati contemporaneamente nella stessa tabella, impedendo al contempo ad altri processi che non eseguono il caricamento bulk dei dati dall'accesso alla tabella.

Il comportamento è simile a quando l'utente specifica in modo esplicito l'hint TABLOCK durante l'esecuzione del caricamento bulk o quando il sp_tableoption blocco di tabella sul caricamento bulk è abilitato per una determinata tabella. Tuttavia, quando questo flag di traccia è abilitato, questo comportamento diventa predefinito senza modifiche alle query o al database.

Ambito: globale o sessione.
809 Abilita il comportamento di scrittura diretta per il pool di buffer ibrido. Questa modalità richiede che il buffer di log persistente sia abilitato nello stesso database del pool di buffer ibrido. La scrittura diretta consente al pool di buffer ibrido di fungere da cache sia per le pagine dirty che per le pagine pulite, riducendo le richieste del carico di lavoro nei pool di buffer DRAM per i carichi di lavoro in stile OLAP e OLTP. Questo flag di traccia è stato introdotto in SQL Server 2022 (16.x) e il comportamento è abilitato per impostazione predefinita in SQL Server 2022 (16.x) CU 1. Se si usa SQL Server 2022 (16.x) CU 1 e versioni successive, il flag di traccia viene ignorato.
818 Abilita la diagnostica di I/O aggiuntiva per verificare le condizioni di scrittura persa o lettura non aggiornata durante le operazioni di I/O su file. Il flag di traccia 818 abilita un buffer circolare in memoria usato per tenere traccia delle ultime 2.048 operazioni di scrittura riuscite eseguite da SQL Server, senza includere operazioni di I/O di ordinamento e file di lavoro. Quando si verificano errori, come 605, 823 o 3448, il valore del numero di sequenza del file di log (LSN) del buffer in ingresso viene confrontato con l'elenco di scritture recenti. Se il numero LSN recuperato è precedente a quello specificato durante l'operazione di scrittura, nel log degli errori di SQL Server viene registrato un nuovo messaggio di errore. Per altre informazioni, vedere Diagnostica di SQL Server rileva problemi di I/O non segnalati a causa di letture non aggiornate o scritture perse.

Nota: a partire da SQL Server 2017 (14.x), questo flag di traccia non ha alcun effetto.

Ambito: solo globale.
830 Disabilita il rilevamento e la segnalazione delle richieste di I/O che richiedono molto tempo per il completamento. Per impostazione predefinita, SQL Server usa un meccanismo per rilevare le richieste di I/O di lettura e scrittura che richiedono molto tempo (in genere più di 15 secondi). Questo flag di traccia disabilita questo rilevamento. Per altre informazioni, vedere MSSQLSERVER_833.

Nota: non è consigliabile abilitare questo flag di traccia perché è possibile ridurre la capacità di rilevare i problemi di I/O nel sistema.

Ambito: solo globale.
834 Usa le allocazioni di pagine grandi per il pool di buffer, columnstore e le tabelle in memoria. Le dimensioni di pagina grandi variano a seconda della piattaforma hardware, ma le dimensioni della pagina possono essere da 2 MB a 16 MB. Le pagine di grandi dimensioni vengono allocate all'avvio e vengono mantenute per tutto il ciclo di vita del processo. Il flag di traccia 834 migliora le prestazioni aumentando l'efficienza del buffer di ricerca della traduzione (TLB) nella CPU. In altre parole, il flag di traccia 834 aumenta l'efficienza della gestione fisica della conversione degli indirizzi di memoria virtuale eseguita dall'hardware di gestione della memoria. Per informazioni su SQL Server e sulle pagine di grandi dimensioni, vedere il blog seguente.

Nota: il flag di traccia 834 si applica solo alle versioni a 64 bit di SQL Server. Per attivare il flag di traccia 834, è necessario disporre del diritto utente Blocco pagine in memoria. È possibile attivare il flag di traccia 834 solo all'avvio. Il flag di traccia 834 può impedire l'avvio del server se la memoria è frammentata e se non è possibile allocare pagine di grandi dimensioni. Di conseguenza, il flag di traccia 834 è più adatto per i server dedicati a SQL Server.

Nota: se abilitato, il modello di memoria di grandi pagine prealloca tutta la memoria SQLOS all'avvio dell'istanza e non restituisce tale memoria al sistema operativo.

Nota: se si usa la funzionalità Indice columnstore di SQL Server 2012 (11.x) e versioni successive, non è consigliabile attivare il flag di traccia 834. Per altre informazioni, vedere Problemi di interoperabilità tra l'elaborazione in modalità batch e il modello di memoria di grandi pagine. Se si usa SQL Server 2019 (15.x) e columnstore, vedere invece Flag di traccia 876 .

Ambito: solo globale.
836 Usare l'opzione max server memory per il pool di buffer. Il flag di traccia 836 fa sì che SQL Server ridimensiona il pool di buffer all'avvio in base al valore dell'opzione max server memory anziché in base alla memoria fisica totale. È possibile usare il flag di traccia 836 per ridurre il numero di descrittori di buffer allocati all'avvio in modalità AWE (Address Windowing Extensions) a 32 bit.

Nota: il flag di traccia 836 si applica solo alle versioni a 32 bit di SQL Server in cui è abilitata l'allocazione AWE. È possibile attivare il flag di traccia 836 solo all'avvio.

Ambito: solo globale.
845 Abilita le pagine bloccate negli SKU Standard di SQL Server quando nell'account di servizio per SQL Server è abilitato il privilegio Blocco delle pagine in memoria. Per altre informazioni, vedere KB970070 e Opzioni di configurazione del server memory server.

Nota: a partire da SQL Server 2012 (11.x), questo comportamento è abilitato per impostazione predefinita per gli SKU Standard e il flag di traccia 845 non deve essere usato.

Ambito: solo globale.
876 Usa allocazioni di pagine di grandi dimensioni per columnstore.

Nota: a differenza del flag di traccia 834, l'uso del flag di traccia 876 non prealloca la memoria SQLOS all'avvio dell'istanza e la memoria inutilizzata può essere rilasciata.

Si applica a: SQL Server 2019 (15.x) e versioni successive.

Nota: assicurarsi di testare accuratamente questa opzione, prima di eseguirne il rollover in un ambiente di produzione.

Ambito: solo globale.
888 Risolve la riduzione delle prestazioni nei dispositivi PMEM con il pool di buffer ibrido abilitato in SQL Server quando i dispositivi PMEM vengono eseguiti con memoria insufficiente. Per altre informazioni, vedere KB4548103.

Si applica a: SQL Server 2019 (15.x) CU 4 e versioni successive.

Ambito: solo globale.
890 Eliminare i messaggi completi di analisi del pool di buffer lunghi (errore 898) nel log degli errori. Per altre informazioni sull'analisi dei pool di buffer e sul messaggio registrato nel log degli errori, vedere Le operazioni che attivano un'analisi dei pool di buffer possono essere eseguite lentamente nei computer con memoria di grandi dimensioni.

Si applica a: SQL Server 2017 (14.x) e versioni successive.

Ambito: solo globale.
898 Disabilita il comportamento di scrittura diretta del pool di buffer ibrido per la risoluzione dei problemi o il debug. Per altre informazioni, vedere KB5022375.

Si applica a: SQL Server 2022 (16.x) CU 1 e versioni successive.

Ambito: solo globale.
902 Ignora l'esecuzione dello script di aggiornamento del database durante l'installazione di un aggiornamento cumulativo o di un Service Pack. Se si verifica un errore durante la modalità di aggiornamento dello script, è consigliabile contattare il servizio clienti e il supporto tecnico (CSS) di Microsoft SQL per altre indicazioni. Per altre informazioni, vedere KB2163980.

Avviso: questo flag di traccia è destinato alla risoluzione dei problemi degli aggiornamenti non riusciti durante la modalità di aggiornamento dello script e non è supportato per l'esecuzione continua in un ambiente di produzione. Per garantire un'installazione completa degli aggiornamenti cumulativi e dei Service Pack, è necessario che gli script di aggiornamento del database vengano eseguiti correttamente. Se non vengono eseguiti correttamente è possibile che si verifichino problemi imprevisti nell'istanza di SQL Server.

Ambito: solo globale.
1117 Quando un file del filegroup raggiunge la soglia dell'aumento automatico delle dimensioni, vengono aumentate le dimensioni di tutti i file del filegroup. Questo flag di traccia influisce su tutti i database. È consigliabile solo se in ogni database è possibile aumentare tutti i file in un filegroup con la stessa quantità.

Nota: a partire da SQL Server 2016 (13.x), questo comportamento è controllato dall'opzione AUTOGROW_SINGLE_FILE e AUTOGROW_ALL_FILES di ALTER DATABASE e il flag di traccia 1117 non ha alcun effetto. Per altre informazioni, vedere Opzioni per file e filegroup ALTER DATABASE (Transact-SQL).

Ambito: solo globale.
1118 Forza le allocazioni di pagina in extent uniformi anziché in extent misti, riducendo la contesa nella pagina SGAM. Quando si crea un nuovo oggetto, per impostazione predefinita, le prime otto pagine sono allocate da extent diversi (extent misti). Le eventuali pagine aggiuntive necessarie in seguito saranno allocate dallo stesso extent (extent uniforme). La pagina SGAM è usata per tenere traccia degli extent misti e può quindi diventare rapidamente un collo di bottiglia se si verificano numerose allocazioni di pagina miste. Questo flag di traccia alloca tutte le otto pagine dallo stesso extent durante la creazione di nuovi oggetti, riducendo al minimo la necessità di analizzare la pagina SGAM. Per altre informazioni, vedere KB328551.

Nota: a partire da SQL Server 2016 (13.x), questo comportamento è controllato dall'opzione SET MIXED_PAGE_ALLOCATION di ALTER DATABASE e il flag di traccia 1118 non ha alcun effetto. Per altre informazioni, vedere le opzioni ALTER DATABASE SET.

Ambito: solo globale.
1204 Restituisce le risorse e i tipi di blocco coinvolti in un deadlock nonché il comando corrente interessato. Per altre informazioni sui deadlock, vedere la guida ai deadlock.

Nota: evitare di usare il flag di traccia 1204 nei sistemi a elevato utilizzo di carico di lavoro che causano deadlock. Per altre informazioni su altri mezzi di rilevamento dei deadlock, vedere la guida ai deadlock.

Ambito: solo globale.
1211 Disabilita l'escalation di blocchi in base al numero di richieste di memoria o al numero di blocchi. Il motore di database di SQL Server non esegue l'escalation dei blocchi di riga o di pagina ai blocchi di tabella.

L'uso di questo flag di traccia può generare un numero eccessivo di blocchi e, se la memoria di blocco aumenta abbastanza, i tentativi di allocare blocchi aggiuntivi per qualsiasi query potrebbero non riuscire. il che può a sua volta causare un rallentamento delle prestazioni del motore di database oppure errori 1204 di mancata allocazione delle risorse di blocco a causa di problemi di memoria insufficiente.

Se sono impostati entrambi i flag di traccia 1211 e 1224, 1211 ha la precedenza rispetto a 1224. Tuttavia, poiché il flag di traccia 1211 impedisce l'escalation in ogni caso, anche in condizioni di utilizzo elevato della memoria, è consigliabile usare invece 1224. In questo modo è possibile evitare errori determinati dal superamento del numero di blocchi consentito quando vengono utilizzati numerosi blocchi.

Per altre informazioni su come risolvere i problemi di blocco causati dall'escalation dei blocchi in SQL Server, vedere Risolvere i problemi di blocco causati dall'escalation dei blocchi in SQL Server.

Ambito: globale o sessione.
1222 Restituisce le risorse e i tipi di blocchi che fanno parte di un deadlock e anche il comando corrente interessato, in un formato XML che non è conforme ad alcuno schema XSD. Per altre informazioni sui deadlock, vedere la guida ai deadlock.

Nota: evitare di usare il flag di traccia 1222 nei sistemi a elevato utilizzo di carico di lavoro che causano deadlock. Per altre informazioni su altri mezzi di rilevamento dei deadlock, vedere la guida ai deadlock.

Ambito: solo globale.
1224 Disabilita l'escalation di blocchi in base al numero di blocchi. L'escalation blocchi, tuttavia, può comunque essere attivata dal numero di richieste di memoria. Il motore di database alza di livello i blocchi di riga o di pagina in blocchi di tabella (o partizione) se la quantità di memoria usata dagli oggetti blocco supera uno dei valori seguenti:

- 40% della memoria usata da motore di database. Ciò è applicabile solo quando il parametro locks di sp_configure è impostato su 0.
- 40% della memoria di blocco configurata usando il parametro locks di sp_configure. Per altre informazioni, vedere Opzioni di configurazione del server.

Se sono impostati entrambi i flag di traccia 1211 e 1224, 1211 ha la precedenza rispetto a 1224. Tuttavia, poiché il flag di traccia 1211 impedisce l'escalation in ogni caso, anche in condizioni di utilizzo elevato della memoria, è consigliabile usare 1224. In questo modo è possibile evitare errori determinati dal superamento del numero di blocchi consentito quando vengono utilizzati numerosi blocchi.

Nota: è possibile controllare l'escalation blocchi nella tabella o la granularità di livello HoBT usando l'opzione LOCK_ESCALATION dell'istruzione ALTER TABLE.

Per altre informazioni su come risolvere i problemi di blocco causati dall'escalation dei blocchi in SQL Server, vedere Risolvere i problemi di blocco causati dall'escalation dei blocchi in SQL Server.

Ambito: globale o sessione.
1229 Disabilita tutto il partizionamento dei blocchi indipendentemente dal numero di CPU. Per impostazione predefinita, SQL Server abilita il partizionamento dei blocchi quando un server ha 16 o più CPU per migliorare le caratteristiche di scalabilità dei sistemi più complessi. Per altre informazioni sul partizionamento dei blocchi, vedere la Guida per il controllo delle versioni delle righe e il blocco della transazione.

Avviso: il flag di traccia 1229 può causare conflitti di spinlock e prestazioni scarse.

Ambito: solo globale.
1236 Abilita il partizionamento dei blocchi di database. Per altre informazioni, vedere KB2926217.

Nota: a partire da SQL Server 2012 (11.x) Service Pack 3 e SQL Server 2014 (12.x) Service Pack 1, questo comportamento è controllato dalla motore di database e dal flag di traccia 1236 non ha alcun effetto.

Ambito: solo globale.
1237 Consente all'istruzione ALTER PARTITION FUNCTION di rispettare la proprietà del deadlock di sessione definito dall'utente corrente anziché essere la probabile vittima del deadlock per impostazione predefinita. Per altre informazioni, vedere KB4025261.

Nota: a partire da SQL Server 2017 (14.x) e il livello di compatibilità del database 140 si tratta del comportamento predefinito e il flag di traccia 1237 non ha alcun effetto.

Ambito: query o sessione globale o sessione (QUERYTRACEON).
1260 Disabilita i dump di monitoraggio dell'utilità di pianificazione.

Ambito: solo globale.
1448 Consente al lettore del log di replica di procedere anche se i database secondari asincroni non hanno riconosciuto la ricezione di una modifica. Anche con questo flag di traccia abilitato, tramite l'agente di lettura log vengono sempre attese le repliche secondarie sincrone il cui stato della sincronizzazione è SYNCHRONIZED. Il lettore di log non supera il numero minimo di sequenza di log riconosciuto dei database secondari SYNCHRONIZED. Questo flag di traccia si applica all'istanza di SQL Server, non solo a un gruppo di disponibilità, a un database di disponibilità o a un'istanza di lettura log. Diventa immediatamente effettiva senza un riavvio. Questo flag di traccia può essere attivato anticipatamente o quando si verifica un errore in una replica secondaria asincrona.

Ambito: solo globale.
1462 Disabilita la compressione dei flussi di log per i gruppi di disponibilità asincroni. Questa funzionalità è abilitata per impostazione predefinita nei gruppi di disponibilità asincroni per ottimizzare la larghezza di banda di rete. Per altre informazioni, vedere Tune compression for availability group (Ottimizzare la compressione per il gruppo di disponibilità).

Ambito: solo globale.
1800 Abilita l'ottimizzazione di SQL Server quando vengono usati dischi con dimensioni di settore diverse per i file di log di replica primaria e secondaria negli ambienti log shipping e AlwaysOn di SQL Server. Questo flag di traccia deve essere abilitato solo nelle istanze di SQL Server con file di log delle transazioni che risiede in un disco con dimensioni di settore di 512 byte. Non è necessario abilitarlo su disco con dimensioni di settore di 4 KB. Per altre informazioni, vedere KB3009974.

Si applica a: SQL Server 2012 (11.x) Service Pack 1 CU 13, SQL Server 2012 (11.x) Service Pack 2 CU 3, SQL Server 2014 (12.x) RTM CU 5 e versioni successive.

Ambito: solo globale.
1802 Disabilita la modifica dell'ACL e la verifica dell'accesso rappresentato durante le operazioni di collegamento o scollegamento del database. Ciò può essere utile quando si collega un database e si verificano errori di autorizzazione di accesso, ad esempio l'errore 5120.

Ambito: solo globale.
1819 Consente il backup nell'URL per usare un server proxy quando si accede ai BLOB in blocchi di Azure. Oltre a questo flag di traccia, è necessario impostare la configurazione proxy WinHTTP nel server con l'utilità netsh.exe in Windows Vista, Windows Server 2008 e versioni successive.

Ambito: query o sessione globale o sessione (QUERYTRACEON).
2301 Abilitare le ottimizzazioni avanzate del supporto decisionale specifiche per le query di supporto decisionale. Questa opzione si applica all'elaborazione del supporto decisionale per set di dati di grandi dimensioni.

Ambito: query o sessione globale o sessione (QUERYTRACEON).
2312 Imposta il modello di stima della cardinalità di Query Optimizer su SQL Server 2014 (12.x) e versioni successive, indipendentemente dal livello di compatibilità del database.

Nota: se il livello di compatibilità del database è inferiore a 120, l'abilitazione del flag di traccia 2312 usa il modello di stima della cardinalità di SQL Server 2014 (12,x) (120). Per altre informazioni, vedere Hint per la query.

A partire da SQL Server 2016 (13.x) Service Pack 1, per eseguire questa operazione a livello di query, aggiungere l'hint per la USE HINT 'FORCE_DEFAULT_CARDINALITY_ESTIMATION' query anziché usare questo flag di traccia.

Ambito: query o sessione globale o sessione (QUERYTRACEON).
2335 Fa in modo che SQL Server presupponga la disponibilità di una quantità fissa di memoria durante l'ottimizzazione della query, per uno scenario in cui l'opzione di configurazione del server max server memory è impostata su un valore troppo elevato, causando la generazione di un piano inefficiente per una query specifica in SQL Server. Non limita la memoria concessa da SQL Server per eseguire la query. La memoria configurata per SQL Server viene ancora usata dalla cache dei dati, dall'esecuzione di query e da altri consumer.

Nota: assicurarsi di testare accuratamente questa opzione, prima di eseguirne il rollover in un ambiente di produzione.

Ambito: query o sessione globale o sessione (QUERYTRACEON).
2338 Fa sì che SQL Server usi un piano ristretto durante l'esecuzione di un'istruzione UPDATE per aggiornare gli indici in una tabella. Quando si esegue un aggiornamento su una colonna di indice cluster, SQL Server aggiorna non solo l'indice cluster stesso, ma anche tutti gli indici non cluster perché gli indici non cluster contengono la chiave del cluster. Un modo comune in cui si verifica l'aggiornamento consiste nell'aggiornare l'indice cluster e quindi tutti gli indici non cluster contemporaneamente. SQL Server aggiorna una riga, quindi passa alla riga successiva fino a quando non viene completato tutto. Questa operazione è denominata aggiornamento del piano ristretto o chiamata anche Aggiornamento per riga. In alcuni casi, il motore di database può scegliere di eseguire un aggiornamento di piano esteso. Questo flag di traccia forza un aggiornamento di piano ristretto.

Ambito: query o sessione globale o sessione (QUERYTRACEON).
2340 Fa in modo che SQL Server non usi un'operazione di ordinamento (ordinamento batch) per i join a cicli annidati ottimizzati durante la generazione di un piano. Per impostazione predefinita, SQL Server può usare un join con cicli annidati ottimizzati anziché un'analisi completa o un join a cicli annidati con un ordinamento esplicito, quando Query Optimizer conclude che un ordinamento è molto probabilmente non necessario, ma è comunque una possibilità se le stime della cardinalità o dei costi non sono corrette. Per altre informazioni, vedere Concessioni di memoria o CPU elevate possono verificarsi con query che usano cicli annidati ottimizzati o ordinamento batch.

A partire da SQL Server 2016 (13.x) Service Pack 1, per eseguire questa operazione a livello di query, aggiungere l'hint per la USE HINT 'DISABLE_OPTIMIZED_NESTED_LOOP' query anziché usare questo flag di traccia.

Nota: assicurarsi di testare accuratamente questa opzione, prima di eseguirne il rollover in un ambiente di produzione.

Ambito: query o sessione globale o sessione (QUERYTRACEON).
2371 Cambia la soglia di aggiornamento delle statistiche fissa in una soglia di aggiornamento delle statistiche lineare. Per altre informazioni, vedere l'opzione AUTO_UPDATE_STATISTICS.

Nota: a partire da SQL Server 2016 (13.x) e con il livello di compatibilità del database 130 o superiore, questo comportamento è controllato dal motore di database e dal flag di traccia 2371 non ha alcun effetto.

Ambito: solo globale.
2389 Abilita le statistiche rapide generate automaticamente per le chiavi in ordine crescente (modifica istogramma). Se è impostato il flag di traccia 2389 e una colonna delle statistiche iniziali viene contrassegnata come crescente, l'istogramma usato per stimare la cardinalità verrà modificato in fase di compilazione della query.

Nota: assicurarsi di testare accuratamente questa opzione, prima di eseguirne il rollover in un ambiente di produzione.

Nota: questo flag di traccia non si applica alla versione CE 120 o successiva. Usare invece il flag di traccia 4139.

Ambito: query o sessione globale o sessione (QUERYTRACEON).
2390 Abilita le statistiche rapide generate automaticamente per le chiavi in ordine crescente o sconosciuto (modifica istogramma). Se è impostato il flag di traccia 2390 e una colonna delle statistiche iniziali viene contrassegnata come crescente o sconosciuta, l'istogramma usato per stimare la cardinalità verrà modificato in fase di compilazione della query. Per altre informazioni, vedere Hint per la query.

Nota: assicurarsi di testare accuratamente questa opzione, prima di eseguirne il rollover in un ambiente di produzione.

Nota: questo flag di traccia non si applica alla versione CE 120 o successiva. Usare invece il flag di traccia 4139.

Ambito: query o sessione globale o sessione (QUERYTRACEON).
2422 Consente al motore di database di SQL Server di interrompere una richiesta quando viene superato il tempo massimo impostato dalla configurazione REQUEST_MAX_CPU_TIME_SEC di Resource Governor. Per altre informazioni, vedere KB4038419.

Si applica a: SQL Server 2016 (13.x) Service Pack 2, SQL Server 2017 (14.x) CU 3 e versioni successive.

Ambito: solo globale.
2430 Abilita la pulizia della classe di blocco. Per altre informazioni, vedere KB2754301.

Ambito: solo globale.
2446 Fa sì che SQL Server generi un frammento Showplan XML con quando ParameterRuntimeValue si usa l'infrastruttura di profilatura delle statistiche di esecuzione delle query semplificate o si esegue la DMV durante la sys.dm_exec_query_statistics_xml risoluzione dei problemi relativi alle query a esecuzione prolungata.

Si applica a: SQL Server 2017 (14.x) CU 31, SQL Server 2019 (15.x) CU 19 e SQL Server 2022 (16.x) e versioni successive.

Avviso: il flag di traccia 2446 non è progettato per essere abilitato in modo continuo in un ambiente di produzione, ma solo per scopi di risoluzione dei problemi limitati per il tempo. L'uso di questo flag di traccia introduce un sovraccarico di CPU e memoria aggiuntivo e possibilmente significativo durante la creazione di un frammento XML Showplan con informazioni sui parametri di runtime, indipendentemente dal fatto che la sys.dm_exec_query_statistics_xml DMV venga chiamata o meno.

Nota: a partire da SQL Server 2022 (16.x), per eseguire questa operazione a livello di database, vedere l'opzione FORCE_SHOWPLAN_RUNTIME_PARAMETER_COLLECTION in ALTER DATABASE SCOPED CONFIGURATION.

Ambito: solo globale.
2451 Abilita l'equivalente dell'ultimo piano di esecuzione effettivo in sys.dm_exec_query_plan_stats.

Si applica a: SQL Server 2019 (15.x) e versioni successive.

Nota: a partire da SQL Server 2019 (15.x) per eseguire questa operazione a livello di database, vedere l'opzione LAST_QUERY_PLAN_STATS in ALTER DATABASE SCOPED CONFIGURATION.

Ambito: solo globale.
2453 Consente a una variabile di tabella di attivare la ricompilazione quando viene modificato un numero sufficiente di righe. Per altre informazioni, vedere KB2952444.

Nota: assicurarsi di testare accuratamente questa opzione, prima di eseguirne il rollover in un ambiente di produzione. A partire da SQL Server 2019 (15.x), questa è diventata la compilazione posticipata delle variabili di tabella e il flag di traccia 2453 non ha alcun effetto.

Ambito: query o sessione globale o sessione (QUERYTRACEON).
2467 Abilita un criterio di allocazione di thread di lavoro paralleli alternativi, in base al nodo con meno thread allocati. Per altre informazioni, vedere Elaborazione parallela di query. Vedere Configurare il numero massimo di thread di lavoro (opzione di configurazione del server) per informazioni sulla configurazione dell'opzione max worker threads server.

Nota: il grado di parallelismo della query deve rientrare in un singolo nodo per poter usare questo criterio alternativo. In caso contrario viene usato il criterio di allocazione dei thread predefinito. Usando questo flag di traccia, non è consigliabile eseguire query che specificano un dop rispetto al numero di utilità di pianificazione in un singolo nodo, in quanto ciò potrebbe interferire con le query che specificano un dop inferiore o uguale al numero di utilità di pianificazione in un singolo nodo.

Nota: assicurarsi di testare accuratamente questa opzione, prima di eseguirne il rollover in un ambiente di produzione.

Ambito: solo globale.
2469 Consente lo scambio alternato per INSERT INTO ... SELECT in un indice columnstore partizionato. Per altre informazioni, vedere KB3204769.

Ambito: query o sessione globale o sessione (QUERYTRACEON).
2528 Disabilita i controlli paralleli degli oggetti tramite DBCC CHECKDB, DBCC CHECKFILEGROUP e DBCC CHECKTABLE. Per impostazione predefinita, il grado di parallelismo viene determinato automaticamente da Query Processor. Il grado massimo di parallelismo viene configurato come quello delle query parallele. Per altre informazioni, vedere Configurare il massimo grado di parallelismo (opzione di configurazione del server).

Nota: i controlli DBCC paralleli devono in genere essere abilitati (impostazione predefinita). Query Processor rivaluta e regola automaticamente il parallelismo per ogni tabella o batch di tabelle controllato tramite DBCC CHECKDB.

Nello scenario di uso tipico un amministratore di sistema prevede l'incremento del carico del server prima del completamento di DBCC CHECKDB e di conseguenza sceglie di ridurre o disabilitare manualmente il parallelismo per aumentare la concorrenza con il carico di lavoro di un altro utente. La disabilitazione dei controlli paralleli in DBCC CHECKDB, tuttavia, potrebbe aumentare il tempo necessario per il completamento.

Nota: se DBCC CHECKDB viene eseguito usando l'opzione TABLOCK e il parallelismo è disabilitato, le tabelle potrebbero essere bloccate per periodi di tempo più lunghi.

Nota: a partire da SQL Server 2014 (12.x) Service Pack 2, è disponibile un'opzione MAXDOP per eseguire l'override dell'opzione di configurazione max degree of parallelism di sp_configure per le istruzioni DBCC.

Ambito: globale o sessione.
2544 Trasforma un dump di memoria di SQL Server in un dump completo (il valore predefinito è mini dump). I dump completi sono una copia completa della memoria del processo di destinazione attiva. Questo includerebbe tutti gli stati del thread, tutta la memoria allocata per i processi e tutti i moduli caricati. I dump completi hanno quindi una dimensione approssimativa della quantità di memoria usata dal processo di SQL Server, che a sua volta può essere quasi grande quanto la RAM di sistema totale. Nei server di grandi dimensioni dedicati a una singola istanza di SQL Server, potrebbe significare un file che corrisponde a diverse centinaia di gigabyte o più.

Avviso: la generazione di un dump completo della memoria può sospendere il processo di SQL Server per un lungo periodo di tempo (da diversi secondi a diversi minuti) e può generare un file di dump molto grande. Usarlo con cautela e solo raramente se la situazione lo richiede.

Per informazioni più dettagliate, vedere Usare lo strumento Sqldumper.exe per generare un file di dump in SQL Server.

Ambito: solo globale.
2549 Forza il comando DBCC CHECKDB a presupporre che ogni file di database si trovi in un'unità disco univoca ma considerando i diversi file fisici come un unico file logico. Il comando DBCC CHECKDB compila un elenco interno di pagine da leggere per ogni unità disco univoco in tutti i file di database. Questa logica individua le unità disco univoco in base alla lettera di unità del nome file fisico di ogni file.

Nota: non usare questo flag di traccia a meno che non si sappia che ogni file si basa su un disco fisico univoco.

Nota: anche se questo flag di traccia migliora le prestazioni dei DBCC CHECKDB comandi destinati all'utilizzo dell'opzione PHYSICAL_ONLY, alcuni utenti potrebbero non visualizzare alcun miglioramento delle prestazioni. Anche se questo flag di traccia migliora l'utilizzo delle risorse di I/O del disco, le prestazioni sottostanti delle risorse del disco potrebbero limitare le prestazioni complessive del DBCC CHECKDB comando. Per altre informazioni, vedere KB2634571.

Ambito: solo globale.
2551 Trasforma un dump di memoria di SQL Server in un dump filtrato (il valore predefinito è mini dump). In questo modo viene acquisita una percentuale di memoria completa, in cui grandi aree di strutture di memoria relative a SQL Server vengono filtrate in modo intenzionale e non serializzate su disco perché non comportano alcun valore aggiunto per la risoluzione dei problemi (in genere, pagine di dati/indice, alcune cache interne, ad esempio pagine di dati OLTP in memoria e memoria del pool di log). Ciò comporta un file, che è più piccolo di un dump di memoria completa mantenendo la maggior parte della sua utilità come opzione preferita nella maggior parte delle situazioni in cui i mini dump non sono sufficienti. Per informazioni più dettagliate, vedere Usare lo strumento Sqldumper.exe per generare un file di dump in SQL Server.

Ambito: solo globale.
2562 Esegue il comando DBCC CHECKDB in un "batch" singolo indipendentemente dal numero di indici nel database. Per impostazione predefinita, il DBCC CHECKDB comando tenta di ridurre al minimo tempdb le risorse limitando il numero di indici o "fatti" generati usando un concetto di "batch". Ma questo flag di traccia forza tutta l'elaborazione in un unico batch.

Un effetto dell'uso di questo flag di traccia è che i requisiti di spazio per tempdb potrebbero aumentare. tempdb può aumentare fino al 5% o più del database utente che viene elaborato dal DBCC CHECKDB comando.

Nota: anche se questo flag di traccia migliora le prestazioni dei DBCC CHECKDB comandi destinati all'utilizzo dell'opzione PHYSICAL_ONLY, alcuni utenti potrebbero non visualizzare alcun miglioramento delle prestazioni. Anche se questo flag di traccia migliora l'utilizzo delle risorse di I/O del disco, le prestazioni sottostanti delle risorse del disco potrebbero limitare le prestazioni complessive del DBCC CHECKDB comando. Per altre informazioni, vedere KB2634571.

Ambito: globale o sessione.
2566 Esegue il comando DBCC CHECKDB senza il controllo di integrità dei dati a meno che non venga specificata l'opzione DATA_PURITY.

Nota: i controlli di integrità dei valori di colonna sono abilitati per impostazione predefinita e non richiedono l'opzione DATA_PURITY. Per i database aggiornati da versioni precedenti di SQL Server, i controlli dei valori di colonna non sono abilitati per impostazione predefinita fino a quando DBCC CHECKDB WITH DATA_PURITY non viene eseguito un errore libero nel database almeno una volta. A questo punto, DBCC CHECKDB controlla l'integrità dei valori di colonna per impostazione predefinita. Per altre informazioni, vedere una versione archiviata di KB945770.

Ambito: solo globale.
2592 Abilita la risoluzione dei simboli nei dump dello stack quando vengono installati gli strumenti di debug per Windows . Ad esempio, l'uso del flag di traccia 3656 richiede che il flag di traccia 2592 sia abilitato.

Avviso: questo flag è per tracciare il debug e non è destinato all'ambiente di produzione.

Si applica a: SQL Server 2019 (15.x) e versioni successive.

Ambito: globale e sessione.
2610 Abilita la compressione del dump della memoria e la generazione di dump più veloce con SQLDumper e tramite DBCC STACKDUMP. Per altre informazioni, vedere Usare l'utilità Sqldumper.exe per generare un file di dump in SQL Server.

Si applica a: SQL Server 2022 (16.x) CU 8, SQL Server 2019 (15.x) CU 23 e versioni successive.

Ambito: globale e sessione.
2616 Consente alla funzionalità di firma dello stack di creare Sqldumper.exe generare un singolo dump per ogni firma dello stack univoco all'ora, evitando potenziali problemi di inondazione del dump quando lo stesso problema si ripete spesso entro un'ora.

Quando questo flag di traccia è abilitato, il formato del file di dump verrà modificato da SQLDump<xxxx>.mdmp o SQLDmpr<xxxx>.mdmp a SQLDmpr<xxxx>.P<xxxxx.xxxxxxxx>.T<xxxxxxxxxxxxxx>.{<xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx>}.dmp (ad esempio, SQLDmpr0024.P26900.66D498FA.T20240117034050.{eec59a9e-d615-4ac4-a46a-f650fee23787}.dmp).

Si applica a: SQL Server 2022 (16.x) CU 12 e versioni successive.

Ambito: solo globale.
3023 Abilita l'opzione CHECKSUM come impostazione predefinita per il comando BACKUP.

Nota: a partire da SQL Server 2014 (12.x), questo comportamento viene controllato impostando l'opzione di configurazione predefinita del checksum di backup. Per altre informazioni, vedere Opzioni di configurazione del checksum di backup e Server.

Ambito: globale e sessione.
3042 Ignora l'algoritmo di preallocazione della compressione del backup predefinito per consentire all'aumento del file di backup solo se necessario per raggiungere le dimensioni finali. Questo flag di traccia è utile se è necessario risparmiare spazio allocando solo le dimensioni effettive necessarie per il backup compresso. L'utilizzo di questo flag di traccia può comportare un effetto leggermente negativo sulle prestazioni, vale a dire un possibile aumento della durata dell'operazione di backup. Per altre informazioni sull'algoritmo di preallocazione, vedere Compressione del backup (SQL Server).For more information about the preallocation algorithm, see Backup compression (SQL Server).

Ambito: solo globale.
3051 Abilita il backup di SQL Server alla registrazione url per i BLOB di pagine solo in Archiviazione di Azure. La registrazione scrive in un file di log degli errori specifico. Per altre informazioni, vedere Procedure consigliate e risoluzione dei problemi per il backup di SQL Server nell'URL.

Ambito: solo globale.
3205 Per impostazione predefinita, se un'unità nastro supporta la compressione hardware, l'istruzione DUMP o BACKUP applica questo tipo di compressione. Questo flag di traccia consente di disabilitare la compressione hardware per le unità nastro Ciò è utile quando si desidera scambiare nastri con altri siti o unità nastro che non supportano la compressione.

Ambito: globale o sessione.
3226 Per impostazione predefinita, ogni operazione di backup e ripristino completata aggiunge una voce nel log degli errori di SQL Server e nel registro eventi di sistema. Se il backup del log viene eseguito di frequente, questi messaggi possono aumentare rapidamente, provocando la creazione di log degli errori di dimensioni elevate e rendendo difficile l'individuazione di altri messaggi.

Con questo flag di traccia, è possibile eliminare le voci di log di backup e ripristino. Ciò è utile se si eseguono backup frequenti del log e se nessuno degli script dipende da tali voci.

Ambito: solo globale.
3427 Abilita una correzione per un problema quando molte transazioni consecutive inseriscono dati in tabelle temporanee in SQL Server 2016 (13.x) in cui questa operazione utilizza più CPU rispetto a SQL Server 2014 (12.x). Per altre informazioni, vedere KB3216543.

Si applica a: DA SQL Server 2016 (13.x) Service Pack 1 CU 2 a SQL Server 2016 (13.x) Service Pack 2 CU 2. A partire da SQL Server 2016 (13.x) Service Pack 2 CU 3 e SQL Server 2017 (14.x), questo flag di traccia non ha alcun effetto.

Ambito: solo globale.
3428 Il thread di rollforward Always On in una replica secondaria può talvolta essere bloccato dalle query T-SQL, che possono causare ritardi nella sincronizzazione. Questo flag di traccia termina tali query di blocco impostando il timeout di blocco su 60 secondi. Per altre informazioni sulla latenza del thread di rollforward, vedere Rollforward thread falls behind due to resource contes and Troubleshooting REDO queue build-up (data latency issues) on Always On Readable Secondary Replicas .For more information on redo thread latency, see Redo thread falls behind due to resource contes and Troubleshooting REDO queue build-up (data latency issues) on Always On Readable Secondary Replicas.

Avviso: assicurarsi di testare e comprendere questa opzione prima di distribuirla in un ambiente di produzione perché le query potrebbero essere terminate.

Si applica a: SQL Server 2019 (15.x)

Ambito: solo globale.
3459 Disabilita il rollforward parallelo. Per altre informazioni, vedere KB3200975, KB4101554 e questo post di blog, modello di rollforward della replica secondaria del gruppo di disponibilità e prestazioni.

Si applica a: SQL Server 2016 (13.x), SQL Server 2017 (14.x) e versioni successive.

Ambito: solo globale.
3468 Disabilita i checkpoint indiretti in tempdb.

Si applica a: SQL Server 2016 (13.x) Service Pack 1 CU 5, SQL Server 2017 (14.x) CU 1 e versioni successive.

Ambito: solo globale.
3502 Usato per inviare le modifiche dello stato del checkpoint al log degli errori.

Si applica a: SQL Server 2012 (11.x) e versioni successive.

Ambito: globale o sessione.
3605 Reindirizza i messaggi di traccia al log degli errori di SQL Server. Ad esempio, l'uso dei flag di traccia 205 e 8721 richiede l'abilitazione del flag di traccia 3605.

Avviso: si tratta di un flag di traccia di debug che non deve essere abilitato continuamente in un ambiente di produzione.

Ambito: globale o sessione.
3608 Impedisce a SQL Server di avviare e ripristinare automaticamente qualsiasi database, ad eccezione del master database. Se vengono avviate attività che richiedono tempdb , model viene ripristinato e tempdb creato. Gli altri database vengono avviati e ripristinati quando si accede. Alcune funzionalità, ad esempio l'isolamento dello snapshot e lo snapshot Read committed, potrebbero non funzionare. Usare per spostare i database di sistema e Spostare i database utente.

Nota: non usare durante il normale funzionamento.

Ambito: solo globale.
3625 Limita la quantità di informazioni restituite agli utenti che non sono membri del ruolo predefinito del server sysadmin , mascherando i parametri di alcuni messaggi di errore usando '******'. In questo modo è possibile impedire la divulgazione di informazioni riservate.

Ambito: solo globale.
3656 Abilita la risoluzione dei simboli nei dump dello stack quando vengono installati gli strumenti di debug per Windows.

Avviso: questo flag è per tracciare il debug e non è destinato all'ambiente di produzione.

Nota: a partire da SQL Server 2019 (15.x), il flag di traccia 2592 deve essere abilitato con il flag di traccia 3656 per abilitare la risoluzione dei simboli.

Ambito: globale e sessione.
3880 Disabilitare l'attività timer che controlla lo stato di un indice ripristinabile.

Si applica a: SQL Server 2017 (14.x) e versioni successive ed è destinato a sistemi di fascia alta con carichi di lavoro ad alte prestazioni.

Ambito: globale o sessione.
3924 Abilita la rimozione automatica delle transazioni DTC orfane con SPID=-2, un problema per alcuni monitoraggi delle transazioni di terze parti. Per altre informazioni, vedere KB4519668 e KB4511816.

Ambito: solo globale.
3972 Disabilita la funzionalità di aggiornamento Page Free Space (PFS) simultanea. Per altre informazioni sugli aggiornamenti PFS simultanei, vedere Prestazioni intelligenti. Per un problema a causa del quale questo flag di traccia è utile, vedere Dump dell'utilità di pianificazione non yield durante il ripristino di un database di disponibilità secondario con uno snapshot del database KB5007794.

Ambito: solo globale.
4022 Disabilita l'esecuzione automatica di stored procedure all'avvio di SQL Server. Per altre informazioni sull'esecuzione automatica delle stored procedure di avvio, vedere sp_procoption.

Ambito: solo globale.
4043 Corregge un errore che si verifica quando si applica un criterio di sicurezza nella tabella esterna PolyBase e si usa Row-Level Security (RLS) in SQL Server 2019 (15.x). Il messaggio di errore è simile al testo seguente: "I predicati di sicurezza possono essere aggiunti solo alle tabelle utente e alle viste associate allo schema" Per altre informazioni, vedere KB4552159.

Ambito: globale o sessione.
4136 Disabilita l'analisi dei parametri a meno che OPTION(RECOMPILE)non venga usato , WITH RECOMPILEo OPTIMIZE FOR <value> . Per altre informazioni, vedere KB980653.

A partire da SQL Server 2016 (13.x), per eseguire questa operazione a livello di database, vedere l'opzione PARAMETER_SNIFFING in ALTER DATABASE SCOPED CONFIGURATION. Per ottenere lo stesso risultato a livello di query, aggiungere l'hint per la query OPTIMIZE FOR UNKNOWN. L'hint OPTIMIZE FOR UNKNOWN non disabilita il meccanismo di analisi dei parametri, ma lo ignora efficacemente per ottenere lo stesso risultato previsto.

A partire da SQL Server 2016 (13.x) Service Pack 1, una seconda opzione a livello di query consiste nell'aggiungere l'hint per la USE HINT 'DISABLE_PARAMETER_SNIFFING' query anziché usare questo flag di traccia.

Nota: assicurarsi di testare accuratamente questa opzione, prima di eseguirne il rollover in un ambiente di produzione.

Ambito: globale o sessione.
4137 Fa in modo che SQL Server generi un piano usando la selettività minima durante la stima dei predicati AND per i filtri per tenere conto della correlazione parziale anziché dell'indipendenza, nel modello di stima della cardinalità di Query Optimizer (CE) di SQL Server 2012 (11.x) e versioni precedenti (70). Per altre informazioni, vedere KB2658214.

A partire da SQL Server 2016 (13.x) Service Pack 1, per eseguire questa operazione a livello di query, aggiungere l'hint per la USE HINT 'ASSUME_MIN_SELECTIVITY_FOR_FILTER_ESTIMATES' query anziché usare questo flag di traccia quando si usa CE 70.

Nota: assicurarsi di testare accuratamente questa opzione, prima di eseguirne il rollover in un ambiente di produzione.

Nota: questo flag di traccia non si applica alla versione CE 120 o successiva. Usare invece il flag di traccia 9471.

Ambito: query o sessione globale o sessione (QUERYTRACEON).
4138 Fa in modo che SQL Server generi un piano che non usi le regolazioni degli obiettivi di riga con query che contengono parole chiave TOP, OPTION (FAST N), IN o EXISTS. Per altre informazioni, vedere KB2667211.

A partire da SQL Server 2016 (13.x) Service Pack 1, per eseguire questa operazione a livello di query, aggiungere l'hint per la USE HINT 'DISABLE_OPTIMIZER_ROWGOAL' query anziché usare questo flag di traccia.

Nota: assicurarsi di testare accuratamente questa opzione, prima di eseguirne il rollover in un ambiente di produzione.

Ambito: query o sessione globale o sessione (QUERYTRACEON).
4139 Abilita le statistiche rapide generate automaticamente (modifica istogramma) indipendentemente dallo stato della colonna chiave. Se il flag di traccia 4139 è impostato, indipendentemente dallo stato iniziale della colonna delle statistiche (crescente, decrescente o stazionario), l'istogramma usato per stimare la cardinalità viene regolato in fase di compilazione della query. Per altre informazioni, vedere KB2952101.

A partire da SQL Server 2016 (13.x) Service Pack 1, per eseguire questa operazione a livello di query, aggiungere l'hint per la USE HINT 'ENABLE_HIST_AMENDMENT_FOR_ASC_KEYS' query anziché usare questo flag di traccia.

Nota: assicurarsi di testare accuratamente questa opzione, prima di eseguirne il rollover in un ambiente di produzione.

Nota: questo flag di traccia non si applica a CE versione 70. In alternativa, usare i flag di traccia 2389 e 2390.

Ambito: query o sessione globale o sessione (QUERYTRACEON).
4199 Abilita le correzioni Query Optimizer (QO) rilasciate negli aggiornamenti cumulativi e nei Service Pack di SQL Server.

Le modifiche QO apportate alle versioni precedenti di SQL Server sono abilitate per impostazione predefinita nel livello di compatibilità del database più recente in una determinata versione del prodotto, senza abilitare il flag di traccia 4199. Per altre informazioni, vedere KB974006.

QO cambia da tutti i livelli di compatibilità del database precedenti:
- Se il flag di traccia 4199 è abilitato, vengono abilitate anche le modifiche di Query Optimizer rispetto a tutti i livelli di compatibilità del database precedenti.
- Se il flag di traccia 4199 è disabilitato o non è impostato, le modifiche di Query Optimizer vengono abilitate a partire dal livello di compatibilità 130. Per i livelli di compatibilità inferiori a 130, le modifiche di Query Optimizer sono disabilitate.

Modifiche QO per la versione DE post-RTM:
- Se il flag di traccia 4199 è abilitato, le modifiche di Query Optimizer vengono abilitate per la versione motore di database post-RTM.
- Se il flag di traccia 4199 è disabilitato o non è impostato, le modifiche di Query Optimizer vengono disabilitate per la versione motore di database post-RTM.

A partire da SQL Server 2016 (13.x), per eseguire questa operazione a livello di database, vedere l'opzione QUERY_OPTIMIZER_HOTFIXES in ALTER DATABASE SCOPED CONFIGURATION.

A partire da SQL Server 2016 (13.x) Service Pack 1, per eseguire questa operazione a livello di query, aggiungere l'hint per la USE HINT 'ENABLE_QUERY_OPTIMIZER_HOTFIXES' query anziché usare questo flag di traccia.

Importante: le correzioni di Query Optimizer che consentono di risolvere i risultati errati o gli errori di violazione di accesso non sono abilitati dal flag di traccia 4199. Queste correzioni non sono considerate facoltative e diventano abilitate per impostazione predefinita dopo l'installazione del pacchetto di aggiornamento.

Ambito: query o sessione globale o sessione (QUERYTRACEON).
4610 Aumenta la dimensione della tabella hash che memorizza le voci della cache di un fattore 8. Se usato insieme al flag di traccia 4618, aumenta il numero di voci nell'archivio cache TokenAndPermUserStore a 8.192. Per altre informazioni sulla risoluzione dei problemi relativi alle dimensioni della cache tokenAndPermUserStore, vedere Le query richiedono più tempo per terminare quando le dimensioni della cache TokenAndPermUserStore aumentano in SQL Server.

Ambito: solo globale.
4616 Viene garantita la visibilità dei metadati a livello di server per i ruoli applicazione. In SQL Server un ruolo applicazione non può accedere ai metadati all'esterno del proprio database perché i ruoli dell'applicazione non sono associati a un'entità a livello di server. Si tratta di un comportamento diverso rispetto alle versioni precedenti di SQL Server. Impostando questo flag globale vengono disabilitate le nuove restrizioni e viene consentito ai ruoli applicazione di accedere ai metadati a livello di server.

Ambito: solo globale.
4618 Limita il numero di voci nell'archivio cache TokenAndPermUserStore a 1.024. Se usato insieme al flag di traccia 4610 aumenta il numero di voci nell'archivio cache TokenAndPermUserStore a 8.192. Per altre informazioni sulla risoluzione dei problemi relativi alle dimensioni della cache tokenAndPermUserStore, vedere Le query richiedono più tempo per terminare quando le dimensioni della cache TokenAndPermUserStore aumentano in SQL Server.

Ambito: solo globale.
4621 Limita il numero di voci nell'archivio della cache TokenAndPermUserStore al numero specificato dall'utente in una chiave del Registro di sistema. Per altre informazioni, vedere Access Check Cache Server Configuration Options.For more information, see access check cache Server Configuration Options.

Ambito: solo globale.
4631 Disabilita SHA2_256/AES256 per l'hashing delle password che generano chiavi di crittografia. A partire da SQL Server 2017 (14.x), SHA2 viene usato invece di SHA1. Ciò significa che potrebbero essere necessari passaggi aggiuntivi per la decrittografia degli elementi di installazione di SQL Server 2017 (14.x) crittografati da SQL Server 2016 (13.x), come descritto in Creare chiavi simmetriche identiche in due server. Per altre informazioni, vedere KB4053407.

Si applica a: SQL Server 2017 (14.x) e versioni successive.

Ambito: solo globale.
5004 Sospende l'analisi della crittografia TDE e causa la chiusura dell'elemento di lavoro di analisi della crittografia senza eseguire alcuna operazione. Il database continua a essere in stato di crittografia (crittografia in corso). Per riprendere l'analisi della crittografia, disabilitare il flag di traccia 5004 ed eseguire ALTER DATABASE <database_name> SET ENCRYPTION ON.

Ambito: solo globale.
6408 Consente di visualizzare il piano di esecuzione stimato per vedere il piano di query remoto del calcolo pushdown di PolyBase.

Si applica a: SQL Server 2019 (15.x) e versioni successive. Per altre informazioni, vedere Come stabilire se si è verificato un pushdown esterno.

Ambito: query o sessione globale o sessione (QUERYTRACEON).
6498 Consente a più di una compilazione di query di grandi dimensioni di ottenere l'accesso al gateway di grandi dimensioni quando è disponibile memoria sufficiente. È possibile usare questo flag di traccia per tenere sotto controllo l'uso della memoria per la compilazione delle query in ingresso, evitando attese di compilazione per le query simultanee che includono numerosi elementi. Si basa su un valore pari all'80% della memoria di destinazione di SQL Server e consente una compilazione di query di grandi dimensioni per 25 GB di memoria. Per altre informazioni, vedere KB3024815.

Nota: a partire da SQL Server 2014 (12.x) Service Pack 2 e SQL Server 2016 (13.x), questo comportamento è controllato dai motore di database e dal flag di traccia 6498 non ha alcun effetto.

Ambito: solo globale.
6527 Disabilita la generazione di un dump di memoria alla prima occorrenza di un'eccezione di memoria insufficiente nell'integrazione con CLR. Per impostazione predefinita, SQL Server genera un dump di memoria di dimensioni ridotte alla prima occorrenza di un'eccezione di memoria insufficiente in CLR. Il comportamento del flag di traccia è il seguente:

- Se usato come flag di traccia di avvio, non viene mai generato un dump di memoria. Tuttavia, è possibile generare un dump della memoria se vengono usati altri flag di traccia.
- Se questo flag di traccia è abilitato in un server in esecuzione, un dump della memoria non viene generato automaticamente da tale punto. Tuttavia, se un dump della memoria è già stato generato a causa di un'eccezione di memoria insufficiente in CLR, questo flag di traccia non ha alcun effetto.

Ambito: solo globale.
6531 Disabilita la protezione della pianificazione preemptive per le operazioni di query con tipi di dati spaziali. Ciò può ridurre il consumo della CPU e migliorare le prestazioni complessive per alcune attività spaziali. Per altre informazioni, vedere KB3005300.

Nota: usare questo flag di traccia solo se le singole chiamate al metodo spaziale (per riga e colonna) richiedono meno di ~4 ms e generano frequenti errori dell'utilità di pianificazione non risultanti.

Si applica a: SQL Server 2012 (11.x) Service Pack 2 CU 4, SQL Server 2014 (12.x) CU 5 e versioni successive.

Ambito: globale e sessione.
6532 Abilita il miglioramento delle prestazioni delle operazioni di query con tipi di dati spaziali in SQL Server 2012 (11.x) e SQL Server 2014 (12.x). Il miglioramento delle prestazioni varia a seconda della configurazione, dei tipi di query e degli oggetti . Per altre informazioni, vedere KB3107399.

Nota: a partire da SQL Server 2016 (13.x), questo comportamento è controllato dal motore di database e il flag di traccia 6532 non ha alcun effetto.

Ambito: globale e sessione.
6533 Abilita il miglioramento delle prestazioni delle operazioni di query con tipi di dati spaziali in SQL Server 2012 (11.x) e SQL Server 2014 (12.x). Il miglioramento delle prestazioni varia a seconda della configurazione, dei tipi di query e degli oggetti . Per altre informazioni, vedere KB3107399.

Nota: a partire da SQL Server 2016 (13.x), questo comportamento è controllato dal motore di database e il flag di traccia 6533 non ha alcun effetto.

Ambito: globale e sessione.
6534 Abilita il miglioramento delle prestazioni delle operazioni di query con tipi di dati spaziali a partire da SQL Server 2012 (11.x). Il miglioramento delle prestazioni varia a seconda della configurazione, dei tipi di query e degli oggetti . Per altre informazioni, vedere KB3107399.

Ambito: solo globale.
6545 Abilitare CLR Strict Security. Per altre informazioni, vedere KB4018930.

Si applica a: SQL Server 2012 (11.x) Service Pack 3 CU 10, SQL Server 2014 (12.x) Service Pack 2 CU 6, SQL Server 2016 (13.x) RTM CU 7, SQL Server 2016 (13.x) Service Pack 1 CU 4 e versioni successive. A partire da SQL Server 2017 (14.x), questa funzionalità è abilitata per impostazione predefinita e il flag di traccia 6545 non ha alcun effetto.

Ambito: solo globale.
6559 Abilita la correzione che modifica la logica del modello di threading CLR predefinita. Per altre informazioni, vedere KB4517771.

Si applica a: SQL Server 2016 (13.x) Service Pack 2 CU 10, SQL Server 2017 (14.x) CU 18, SQL Server 2019 (15.x) CU 1 e versioni successive.

Ambito: solo globale.
7117 Attenua un errore di asserzione che può verificarsi quando sono presenti più inserimenti annidati. Questo flag di traccia consente al thread di pulizia dell'archivio versioni permanente (PVS), se il bit PVS è impostato per una riga che potrebbe essere stata inclusa in una transazione interrotta. Questo flag di traccia consente a PVS di ignorare il bit e continuare l'operazione di pulizia.

Si applica a: SQL Server 2022 (16.x) CU 9 e versioni successive.

Ambito: solo globale.
7314 Fa in modo che i valori NUMBER con precisione/scala sconosciuta vengano considerati come valori doppi con il provider OLE DB. Per altre informazioni, vedere KB3051993.

Ambito: globale e sessione.
7412 Abilita l'infrastruttura di profilatura delle statistiche di esecuzione di query lightweight. Per altre informazioni, vedere KB3170113.

Si applica a: SQL Server 2016 (13.x) Service Pack 1 e versioni successive. A partire da SQL Server 2019 (15.x), questo flag di traccia non ha alcun effetto perché la profilatura leggera è abilitata per impostazione predefinita.

Ambito: solo globale.
7470 Abilita calcoli aggiuntivi per le concessioni di memoria necessarie per le operazioni di ordinamento. Per altre informazioni, vedere KB3088480.

Si applica a: SQL Server 2012 (11.x) Service Pack 2 CU 8, SQL Server 2014 (12.x) RTM CU 10, SQL Server 2014 (12.x) Service Pack 1 CU 3 e versioni successive.

Avviso: il flag di traccia 7470 aumenta i requisiti di memoria per le query che usano operatori di ordinamento e potrebbe influire sulla disponibilità della memoria per altre query simultanee.

Ambito: query o sessione globale o sessione (QUERYTRACEON).
7471 Consente di eseguire contemporaneamente più UPDATE STATISTICS per diverse statistiche in una singola tabella. Per altre informazioni, vedere KB3156157.

Si applica a: SQL Server 2014 (12.x) Service Pack 1 e versioni successive.

Ambito: solo globale.
7745 Impedisce a Query Store di scaricare i dati su disco all'arresto del database.

Nota: l'uso di questo flag di traccia potrebbe causare la perdita dei dati di Query Store su disco in precedenza in caso di arresto. Per un arresto di SQL Server, è possibile usare il comando SHUTDOWN WITH NOWAIT anziché questo flag di traccia per forzare un arresto immediato.

Ambito: solo globale.
7752 Abilita il caricamento asincrono di Query Store.

Nota: usare questo flag di traccia se in SQL Server si verifica un numero elevato di attese QDS_LOADDB correlate al caricamento sincrono di Query Store (comportamento predefinito durante il recupero del database).

Nota: a partire da SQL Server 2019 (15.x), questo comportamento è controllato dal motore di database e il flag di traccia 7752 non ha alcun effetto.

Ambito: solo globale.
7806 Abilita una connessione amministrativa dedicata in SQL Server Express. Per impostazione predefinita, nessuna risorsa della connessione amministrativa dedicata dati è riservata in SQL Server Express. Per altre informazioni, vedere Connessione di diagnostica per gli amministratori di database.

Ambito: solo globale.
8011 Disabilitare il buffer circolare per Monitoraggio risorse. È possibile usare le informazioni di diagnostica in questo buffer circolare per diagnosticare le condizioni di memoria insufficiente. Se quindi si usa questo flag di traccia, le informazioni disponibili per la diagnosi di problemi di prestazioni e funzionali con SQL Server risultano notevolmente ridotte. Il flag di traccia 8011 si applica sempre nel server e ha ambito globale. È possibile attivare il flag di traccia 8011 all'avvio o in una sessione utente.

Ambito: solo globale.
8012 Disabilitare il buffer circolare per le utilità di pianificazione. SQL Server registra un evento nel buffer circolare della pianificazione ogni volta che si verifica uno degli eventi seguenti:

- Un'utilità di pianificazione passa il contesto a un altro ruolo di lavoro
- Un ruolo di lavoro è sospeso
- Un ruolo di lavoro viene ripreso
- Un ruolo di lavoro passa alla modalità preemptive o alla modalità non preemptive.

È possibile usare le informazioni di diagnostica in questo buffer circolare per analizzare i problemi di pianificazione. È ad esempio possibile usare le informazioni in questo buffer circolare per risolvere i problemi quando SQL Server smette di rispondere. Il flag di traccia 8012 disabilita la registrazione degli eventi per le utilità di pianificazione. È possibile attivare il flag di traccia 8012 solo all'avvio.

Avviso: quando si usa questo flag di traccia, le informazioni disponibili per diagnosticare problemi funzionali e di prestazioni con SQL Server vengono notevolmente ridotte.

Ambito: solo globale.
8015 Disabilitare la configurazione di autodetection e NUMA. Per altre informazioni, vedere KB2813214.

Ambito: solo globale.
8018 Disabilitare il buffer circolare delle eccezioni. Il buffer circolare delle eccezioni registra le ultime 256 eccezioni generate in un nodo. Ogni record contiene alcune informazioni sull'errore e un'analisi dello stack. Quando viene generata un'eccezione, viene aggiunto un record al buffer circolare. Il flag di traccia 8018 disabilita la creazione del buffer circolare e non vengono registrate informazioni sulle eccezioni. Il flag di traccia 8019 disabilita la raccolta di stack durante la creazione del record.

Avviso: quando si usa questo flag di traccia, le informazioni disponibili per diagnosticare problemi funzionali e di prestazioni con SQL Server vengono notevolmente ridotte.

Ambito: solo globale.
8019 Disabilitare la raccolta di stack per il buffer circolare delle eccezioni. Il flag di traccia 8019 non ha alcun effetto se il flag di traccia 8018 è attivato.

Avviso: quando si usa questo flag di traccia, le informazioni disponibili per diagnosticare problemi funzionali e di prestazioni con SQL Server vengono notevolmente ridotte.

Ambito: solo globale.
8020 Disabilitare il monitoraggio dei working set. SQL Server usa le dimensioni del working set quando riceve segnali di stato della memoria globale dal sistema operativo. Il flag di traccia 8020 rimuove le dimensioni della memoria del working set dalla considerazione quando SQL Server interpreta i segnali di stato della memoria globale. Se si usa questo flag di traccia in modo errato, potrebbe verificarsi un paging elevato e le prestazioni potrebbero risultare scarse. Pertanto, contattare supporto tecnico Microsoft prima di attivare il flag di traccia 8020. È possibile attivare il flag di traccia 8020 solo all'avvio.

Ambito: solo globale.
8032 Ripristina i parametri del limite della cache all'impostazione di SQL Server 2005 (9.x), che in generale consente di aumentare le dimensioni delle cache. Usare questa impostazione quando le voci della cache riutilizzate di frequente non rientrano nella cache e quando l'opzione di configurazione del server ottimizza per carichi di lavoro ad hoc non è riuscita a risolvere il problema relativo alla cache dei piani.

Avviso: il flag di traccia 8032 può causare prestazioni scarse se le cache di grandi dimensioni rendono disponibile meno memoria per altri consumer di memoria, ad esempio il pool di buffer.

Ambito: solo globale.
8048 Converte gli oggetti di memoria partizionata NUMA in CPU partizionata. Per altre informazioni, vedere KB2809338.

Nota: a partire da SQL Server 2014 (12.x) Service Pack 2 e SQL Server 2016 (13.x), questo comportamento è dinamico e controllato dal motore di database.

Ambito: solo globale.
8075 Riduce la frammentazione dello spazio indirizzi virtuali quando si ricevono errori di allocazione di pagine di memoria in SQL Server 2012 (11.x) o SQL Server 2014 (12.x) a 64 bit. Per altre informazioni, vedere KB3074434.

Si applica a: SQL Server 2012 (11.x), SQL Server 2014 (12.x) RTM CU 10 e SQL Server 2014 (12.x) Service Pack 1 CU 3. A partire da SQL Server 2016 (13.x), questo comportamento è controllato dalla motore di database e dal flag di traccia 8075 non ha alcun effetto.

Ambito: solo globale.
8079 Consente a SQL Server 2014 (12.x) Service Pack 2 di interrogare il layout hardware e configurare automaticamente Soft-NUMA nei sistemi che segnalano 8 o più CPU per nodo NUMA. Il comportamento soft-NUMA automatico è compatibile con il multithreading simultaneo (processore SMT/logico). Il partizionamento e la creazione di nodi aggiuntivi ridimensionano l'elaborazione in background aumentando il numero di listener tramite scalabilità e le funzionalità di crittografia e di rete.

Si applica a: SQL Server 2014 (12.x) Service Pack 2. A partire da SQL Server 2016 (13.x), questo comportamento è controllato dai motore di database e dal flag di traccia 8079 non ha alcun effetto.

Ambito: solo globale.
8086 Disabilitare il controllo della località NUMA per i commit di memoria.

Si applica a: SQL Server 2019 (15.x) e versioni successive.

Ambito: Globale.
8089 In SQL Server 2017 (14.x) CU 16 è possibile abilitare il filtro bitmap per ridurre le dimensioni dei dump di memoria filtrati. SQL Server alloca una bitmap che tiene traccia delle pagine i memoria da escludere da un dump filtrato. Sqldumper.exe legge la bitmap e filtra le pagine senza bisogno di leggere altri metadati del gestore della memoria.

Si applica a: solo DA SQL Server 2017 (14.x) CU 16 a CU 19. A partire da SQL Server 2017 (14.x) CU 20, il filtro bitmap è abilitato per impostazione predefinita. Flag di traccia 8089 non si applica più e viene ignorato se attivato. Il filtro bitmap può essere disabilitato tramite il flag di traccia 8095. Per altre informazioni, vedere KB4488943.

Ambito: solo globale.
8095 Disabilita il filtro bitmap per i dump di memoria filtrati. SQL Server alloca una bitmap che tiene traccia delle pagine i memoria da escludere da un dump filtrato. Sqldumper.exe legge la bitmap e filtra le pagine senza bisogno di leggere altri metadati del gestore della memoria.

Si applica a: build in cui il filtro bitmap è abilitato per impostazione predefinita: SQL Server 2016 (13.x) CU 13 e versioni successive, SQL Server 2017 (14.x) CU 20 e versioni successive e SQL Server 2019 (15.x).

Ambito: solo globale.
8099 Abilita una correzione per la contesa di spinlock per i sistemi di fascia alta che eseguono SQL Server 2019 (15.x) e servono molti utenti simultanei.

Si applica a: solo SQL Server 2019 (15.x) CU 2 e CU 3. A partire da SQL Server 2019 (15.x) CU 4, questo comportamento è abilitato per impostazione predefinita. Per altre informazioni sulla contesa di spinlock, vedere Flag di traccia 8101 e KB4538688.

Si applica a: SQL Server 2019 (15.x)

Ambito: solo globale.
8101 Risolve un utilizzo elevato della CPU su hardware moderno, ad esempio processori Intel Skylake, con un numero elevato di CPU e un numero elevato di utenti simultanei. Per diagnosticare la contesa di spinlock, vedere il white paper Diagnosticare e risolvere conflitti di spinlock in SQL Server .

Si applica solo a: SQL Server 2019 (15.x), a partire da CU 8, con altri miglioramenti introdotti in CU 14 e CU 16.

Per altre informazioni, vedere KB4538688.

Si applica a: SQL Server 2019 (15.x)

Ambito: solo globale.
8102 Risolve uno scenario con utilizzo elevato della CPU causato da contese di spinlock nel XVB_LIST spinlock. È possibile osservare questo aspetto più comunemente nei sistemi di fascia alta con un numero elevato di processori di generazione più recenti (CPU). Questo flag di traccia può essere abilitato insieme al flag di traccia 8101. Mentre il flag di traccia 8101 modifica l'incremento di rotazione, il flag di traccia 8102 sfalsa i backoff di spinlock. Per altre informazioni sui backoff, vedere Diagnosticare e risolvere conflitti di spinlock in SQL Server.

Si applica a: SQL Server 2019 (15.x).

Ambito: solo globale.
8121 Risolve un problema di memoria insufficiente a livello di sistema che si verifica quando SQL Server esegue il commit della memoria superiore alla memoria massima nel modello di memoria con l'impostazione dei criteri di sicurezza Blocco pagine in memoria. Questo flag di traccia consente la memoria necessaria per il thread di sistema di Monitoraggio risorse per ridurre il consumo di memoria di SQL Server. Per altre informazioni, vedere KB5008996.

Si applica a: SQL Server 2019 (15.x). Per SQL Server 2022 (16.x) e versioni successive, questa funzionalità è abilitata per impostazione predefinita e questo flag di traccia non ha alcun effetto. Se si vuole disabilitare questo comportamento predefinito e ripristinare il comportamento precedente, è possibile usare il flag di traccia 8125. Tuttavia, nella maggior parte dei casi questa scelta non è consigliata.

Ambito: solo globale.
8142 Questo flag di traccia partiziona l'elenco specifico protetto da spinlock in base alla CPU, fino a 64 partizioni. Questa operazione deve essere usata solo in computer di grandi dimensioni che riscontrano SOS_BLOCKALLOCPARTIALLIST contese di spinlock con un utilizzo elevato della CPU. Vedere anche Flag di traccia 8145. Per altre informazioni, vedere KB5025808.

Si applica a: SQL Server 2019 (15.x) CU 21 e versioni successive.

Ambito: solo globale.
8145 Modifica il partizionamento abilitato dal flag di traccia 8142 in modo che sia per nodo soft-NUMA, anziché per CPU. Anche il flag di traccia 8142 deve essere abilitato per rendere effettivo il flag di traccia. Per altre informazioni, vedere KB5025808.

Si applica a: SQL Server 2019 (15.x) CU 21 e versioni successive.

Ambito: solo globale.
8207 Abilita aggiornamenti singleton per la replica transazionale e CDC. Gli aggiornamenti dei sottoscrittori possono essere replicati come coppia di DELETE e INSERT. Ciò potrebbe non soddisfare le regole business, ad esempio l'attivazione di un trigger UPDATE. Con il flag di traccia 8207, un aggiornamento a una colonna univoca che influisce su una sola riga (un aggiornamento singleton) viene replicato come UPDATE e non come coppia DELETE o INSERT. Se l'aggiornamento riguarda una colonna in cui esiste un vincolo univoco oppure interessa più righe, viene replicato ancora come coppia DELETE o INSERT. Per altre informazioni, vedere una versione archiviata di KB302341.

Ambito: solo globale.
8239 Per impostazione predefinita, sys.sp_flush_commit_table_on_demand calcola almeno la versione di pulizia avanzata e la versione di pulizia sicura e procede con l'eliminazione dei dati dalla tabella di commit. Quando viene impostato il flag di traccia 8239, viene ignorato un safe_cleanup_version() valore minore del punto di pulizia e la pulizia viene eseguita dopo la riesecuzione sys.sp_flush_commit_table_on_demanddi . L'uso non corretto di questo flag di traccia può causare il danneggiamento dei dati. Per altre informazioni, vedere Risolvere i problemi di pulizia automatica del rilevamento delle modifiche.

Si applica a: SQL Server 2022 (16.x) CU 3 e versioni successive.

Ambito: solo globale.
8284 Risolve un problema di pulizia manuale in cui le escalation di blocchi ripetute nelle tabelle causano conflitti e lentezza nella pulizia dei metadati di rilevamento delle modifiche scaduti.

Nota: questo flag di traccia si applica a SQL Server 2019 (15.x) CU 21 e versioni successive.

Ambito: solo globale.
8285 Converte un errore di asserzione (espressione: m_versionStatus.IsVisible ()) in un'eccezione per evitare un problema di dump in determinate circostanze, quando si abilita il rilevamento delle modifiche in un database con isolamento dello snapshot attivato.

Si applica a: SQL Server 2022 (16.x) CU 6, SQL Server 2019 (15.x) CU 21 e versioni successive.

Ambito: solo globale.
8286 Forza la query di pulizia a usare l'hint FORCE ORDER per migliorare le prestazioni. Può essere usato con TF 8287 per usare l'hint FORCESEEK . Per altre informazioni, vedere KB5022375.

Si applica a: SQL Server 2019 (15.x) CU 19, SQL Server 2022 (16.x) CU 1 e versioni successive.

Ambito: solo globale.
8287 Forza la query di pulizia a usare l'hint FORCESEEK per migliorare le prestazioni. Può essere usato con TF 8286 per usare l'hint FORCE ORDER . Per altre informazioni, vedere KB5022375.

Si applica a: SQL Server 2019 (15.x) CU 19, SQL Server 2022 (16.x) CU 1 e versioni successive.

Ambito: solo globale.
8290 Dopo l'abilitazione di questo flag di traccia, il processo di pulizia automatica del rilevamento delle modifiche reimposta qualsiasi versione di pulizia non valida in una versione di pulizia in base al periodo di conservazione. Dopo aver abilitato questo flag di traccia, è necessario consentire l'esecuzione del processo di pulizia automatica. Per altre informazioni, vedere KB4538365.

Si applica a: SQL Server 2017 (14.x) CU 19, SQL Server 2019 (15.x) CU 4, SQL Server 2022 (16.x) e versioni successive.

Ambito: globale o sessione.
8531 Abilita la correzione di un problema di contesa con tempi di attesa elevati KTM_RECOVERY_MANAGER che possono verificarsi durante l'esecuzione di transazioni distribuite XA.

Si applica a: SQL Server 2019 (15.x) CU 29, SQL Server 2022 (16.x) CU 16 e versioni successive.

Ambito: solo globale e di avvio.
8558 Abilita una correzione per assicurarsi di non osservare i casi limite in cui quando il livello di isolamento RCSI è abilitato, a volte una transazione non può visualizzare i dati più recenti delle tabelle modificate usando transazioni DTC anche dopo che xa_commit restituito l'esito positivo per un breve periodo di tempo.

Nota: assicurarsi di testare accuratamente questa opzione, prima di eseguirne il rollover in un ambiente di produzione.

Si applica a: SQL Server 2019 (15.x) CU 18, SQL Server 2022 (16.x) e versioni successive.

Ambito: solo globale.
8721 Segnala al log degli errori quando vengono eseguite le statistiche di aggiornamento automatico. Per altre informazioni, vedere una versione archiviata di KB195565.

Nota: questo flag di traccia richiede l'abilitazione del flag di traccia 3605 .

Ambito: solo globale.
8744 Disabilitare il prelettura per l'operatore Nested Loops .

Avviso: l'uso non corretto di questo flag di traccia potrebbe causare letture fisiche aggiuntive quando SQL Server esegue piani che contengono l'operatore Nested Loops.

Ambito: globale e sessione.
8790 Fa sì che SQL Server usi un piano di query wide durante l'esecuzione di un'istruzione UPDATE per aggiornare gli indici in una tabella. Quando si esegue un aggiornamento su una colonna di indice cluster, SQL Server aggiorna non solo l'indice cluster stesso, ma anche tutti gli indici non cluster perché gli indici non cluster contengono la chiave di indice del cluster. Per ottimizzare le prestazioni e ridurre sql server di I/O casuali, è possibile scegliere di ordinare tutti i dati dell'indice non cluster in memoria e quindi aggiornare tutti gli indici in base all'ordine. Si tratta di un piano wide (chiamato anche aggiornamento per indice) e può essere forzato usando questo flag di traccia

Ambito: globale, sessione o query (QUERYTRACEON).
8902 Disabilitare le pagine bloccate per le operazioni di I/O per sistemi di fascia alta con carichi di lavoro ad alte prestazioni.

Si applica a: SQL Server 2019 (15.x) e versioni successive.

Ambito: Globale.
8904 Consente a una correzione di risolvere un errore di rollforward parallelo in una replica secondaria disabilitando l'I/O del log inlined, limitando la possibilità di contesa da molti ruoli di lavoro al sottoinsieme di ruoli di lavoro LogWriter in background. Per altre informazioni, vedere KB5004649 e flag di traccia 8904 - Disabilitare gli scaricamenti dei log del database inline.

Si applica solo a: SQL Server 2019 (15.x), a partire da CU 12.

Si applica a: SQL Server 2019 (15.x)

Ambito: solo globale.
9024 Converte un oggetto di memoria del pool di log globale in oggetto di memoria partizionata del nodo NUMA. Per altre informazioni, vedere KB2809338.

Nota: a partire da SQL Server 2012 (11.x) Service Pack 3 e SQL Server 2014 (12.x) Service Pack 1, questo comportamento è controllato dai motore di database e il flag di traccia 9024 non ha alcun effetto.

Ambito: solo globale.
9109 Disabilita l'avvio della funzionalità Notifica query. Per altre informazioni, vedere Ripristino o ripristino può avere esito negativo o richiedere molto tempo se la notifica delle query viene usata in un database.

Avviso: prestare attenzione con questo flag di traccia. Questo flag di traccia può essere utile in un set limitato di scenari principalmente per la risoluzione dei problemi o l'isolamento di un problema.

Ambito: globale e sessione.
9135 Impedisce l'utilizzo delle viste indicizzate. Per eseguire questa operazione a livello di query, aggiungere l'hint per la USE HINT 'EXPAND VIEWS' query anziché usare questo flag di traccia. Per ulteriori informazioni, vedere Hint di tabella (Transact-SQL).

Si applica a: SQL Server 2019 (15.x) CU 23 e versioni successive.

Ambito: solo globale.
9347 Disabilita la modalità batch per l'operatore Sort. SQL Server 2016 (13.x) ha introdotto un nuovo operatore Sort in modalità batch che migliora le prestazioni per molte query analitiche. Per altre informazioni, vedere KB3172787.

Ambito: query o sessione globale o sessione (QUERYTRACEON).
9348 Abilita l'uso delle stime della cardinalità di Query Optimizer per decidere se deve essere avviata o meno un'istruzione BULK INSERT per un indice columnstore cluster. Se il numero stimato di righe da inserire è minore di 102.400, il motore di database non usa BULK INSERT. Se vengono stimate più di 102.400 righe, viene avviata un'istruzione BULK INSERT. Per altre informazioni, vedere KB2998301.

Ambito: query o sessione globale o sessione (QUERYTRACEON).
9349 Disabilita la modalità batch per l'operatore Top N Sort. SQL Server 2016 (13.x) ha introdotto un nuovo operatore Top Sort in modalità batch che migliora le prestazioni per molte query analitiche.

Ambito: query o sessione globale o sessione (QUERYTRACEON).
9358 Disabilita la modalità batch per l'operatore Sort. Per altre informazioni, vedere KB3171555.

Nota: a partire da SQL Server 2017 (14.x), questo comportamento è abilitato per impostazione predefinita e questo flag di traccia non ha alcun effetto.

Ambito: query o sessione globale o sessione (QUERYTRACEON).
9389 Abilita la concessione di memoria dinamica aggiuntiva per gli operatori in modalità batch. Se una query non ottiene tutta la memoria necessaria, distribuisce i dati a tempdb, incorrendo in operazioni di I/O aggiuntive e potenzialmente influiscono sulle prestazioni delle query. Se il flag di traccia delle concessioni di memoria dinamica è abilitato, un operatore in modalità batch potrebbe richiedere memoria aggiuntiva ed evitare la perdita di tempdb memoria se è disponibile memoria aggiuntiva. Per altre informazioni, vedere la sezione Effetti dell'opzione min memory per query della Guida sull'architettura di gestione della memoria.

Ambito: globale o sessione.
9398 Disabilita l'operatore Join adattivo che consente di rimandare la scelta di un metodo hash join o join a cicli annidati a dopo che è stata eseguita la scansione del primo input, comportamento introdotto in SQL Server 2017 (14.x). Per altre informazioni, vedere KB4099126.

Nota: assicurarsi di testare accuratamente questa opzione, prima di eseguirne il rollover in un ambiente di produzione.

Ambito: query o sessione globale o sessione (QUERYTRACEON).
9410 Abilita una correzione non predefinita per una query che usa un operatore hash aggregate e le distribuzioni. L'abilitazione di questo flag di traccia aumenta la memoria disponibile per le operazioni hash separate. Per altre informazioni, vedere KB3167159.

Nota: assicurarsi di testare accuratamente questa opzione, prima di eseguirne il rollover in un ambiente di produzione.

Ambito: query o sessione globale o sessione (QUERYTRACEON).
9440 Disabilita la correzione di 2112485 di bug e 2636294 di bug. La correzione di bug non si applica quando si usa il modello ce (Cardinality Estimation) legacy. Quando un database usa il modello ce predefinito, le stime della cardinalità outer join potrebbero aumentare superiore alla cardinalità delle tabelle coinvolte nel join quando i predicati di join sono costituiti da chiavi primarie dalle tabelle( ad esempio, chiave primaria a join di chiavi esterne). Viene applicato un limite che limiterà la quantità di sovrastima della cardinalità simile al limite di sovrastima esistente nella ce legacy per questo scenario.

Nota: questo flag di traccia si applica solo ai database con un livello di compatibilità di 160 e inferiore.

Si applica a: SQL Server 2019 (15.x) CU 20, SQL Server 2022 (16.x) CU 9 e versioni successive.

Ambito: query o sessione globale o sessione (QUERYTRACEON).
9453 Disabilita l'esecuzione in modalità batch. Per altre informazioni, vedere KB4016902.

Nota: assicurarsi di testare accuratamente questa opzione, prima di eseguirne il rollover in un ambiente di produzione.

Ambito: query o sessione globale o sessione (QUERYTRACEON).
9471 Fa in modo che SQL Server generi un piano che usa la selettività minima per i filtri a tabella singola, nel modello di stima della cardinalità di Query Optimizer di SQL Server 2014 (12.x) e versioni successive.

A partire da SQL Server 2016 (13.x) Service Pack 1, per eseguire questa operazione a livello di query, aggiungere l'hint per la USE HINT 'ASSUME_MIN_SELECTIVITY_FOR_FILTER_ESTIMATES' query anziché usare questo flag di traccia.

Nota: assicurarsi di testare accuratamente questa opzione, prima di eseguirne il rollover in un ambiente di produzione.

Nota: questo flag di traccia non si applica a CE versione 70. Usare invece il flag di traccia 4137.

Ambito: query o sessione globale o sessione (QUERYTRACEON).
9476 Fa in modo che SQL Server generi un piano che usa l'assunzione di indipendenza semplice anziché l'assunzione predefinita di indipendenza di base, nel modello di stima della cardinalità di Query Optimizer di SQL Server 2014 (12.x) e versioni successive. Per altre informazioni, vedere Presupposto di contenimento dei join in New Cardinality Estimator degrada le prestazioni delle query.

A partire da SQL Server 2016 (13.x) Service Pack 1, per eseguire questa operazione a livello di query, aggiungere l'hint per la USE HINT 'ASSUME_JOIN_PREDICATE_DEPENDS_ON_FILTERS' query anziché usare questo flag di traccia.

Nota: assicurarsi di testare accuratamente questa opzione, prima di eseguirne il rollover in un ambiente di produzione.

Ambito: query o sessione globale o sessione (QUERYTRACEON).
9481 Imposta il modello di stima della cardinalità di Query Optimizer su SQL Server 2012 (11.x) e versioni precedenti (versione 70), indipendentemente dal livello di compatibilità del database. Per altre informazioni, vedere Hint per la query.

A partire da SQL Server 2016 (13.x), per eseguire questa operazione a livello di database, vedere l'opzione LEGACY_CARDINALITY_ESTIMATION in ALTER DATABASE SCOPED CONFIGURATION.

A partire da SQL Server 2016 (13.x) Service Pack 1, per eseguire questa operazione a livello di query, aggiungere l'hint per la USE HINT 'FORCE_LEGACY_CARDINALITY_ESTIMATION' query anziché usare questo flag di traccia.

Ambito: query o sessione globale o sessione (QUERYTRACEON).
9485 Disabilita l'autorizzazione SELECT per DBCC SHOW_STATISTICS. Per altre informazioni, vedere KB2683304.

Ambito: solo globale.
9488 Imposta la stima fissa per le funzioni con valori di tabella sul valore predefinito 1 (corrispondente al valore predefinito nel modello di stima della cardinalità di Query Optimizer di SQL Server 2008 R2 (10.50.x) e versioni precedenti, quando si usa il modello di stima della cardinalità di Query Optimizer di SQL Server 2012 (11.x) e versioni successive.

Ambito: query o sessione globale o sessione (QUERYTRACEON).
9495 Disabilita il parallelismo durante l'inserimento per le operazioni INSERT...SELECT e si applica sia alle tabelle utente che alle tabelle temporanee. Per altre informazioni, vedere KB3180087.

Ambito: globale o sessione.
9567 Abilita la compressione del flusso di dati per i gruppi di disponibilità Always On durante il seeding automatico. La compressione può ridurre significativamente il tempo di trasferimento durante il seeding automatico e aumenta il carico sul processore. Per altre informazioni, vedere Usare il seeding automatico per inizializzare un gruppo di disponibilità AlwaysOn e Ottimizzare la compressione per il gruppo di disponibilità.

Ambito: globale o sessione.
9571 Disabilita il seeding automatico di gruppi di disponibilità nel percorso del database predefinito. Per altre informazioni, vedere Layout del disco.

Ambito: globale o sessione.
9576 Disabilita la raccolta di errori avanzata per i failover del gruppo di disponibilità introdotti in SQL Server 2016 (13.x) Service Pack 1 CU 10, SQL Server 2016 (13.x) Service Pack 2 CU 2 e SQL Server 2017 (14.x) CU 9. Per altre informazioni, vedere Gruppi di disponibilità di SQL Server - Failover avanzato del database.

Ambito: solo globale.
9591 Disabilita la compressione dei blocchi di log nei gruppi di disponibilità Always On. La compressione dei blocchi di log è il comportamento predefinito usato con le repliche sincrone e asincrone SQL Server 2012 (11.x) e SQL Server 2014 (12.x). In SQL Server 2016 (13.x) la compressione viene usata solo con la replica asincrona.

Ambito: globale o sessione.
9592 Abilita la compressione dei flussi di log per i gruppi di disponibilità sincroni. Per impostazione predefinita, questa funzionalità è disabilitata per i gruppi di disponibilità sincroni perché la compressione aggiunge latenza. Per altre informazioni, vedere Tune compression for availability group (Ottimizzare la compressione per il gruppo di disponibilità).

Ambito: globale o sessione.
9708 Abilita la raccolta di metriche di pubblicazione degli eventi per le sessioni di eventi estese. Per altre informazioni, vedere sys.dm_xe_session_events.

Si applica a: SQL Server 2022 (16.x) e versioni successive.

Ambito: solo globale.
9714 Consente al log degli errori di SQL Server di registrare l'avvio o l'arresto delle sessioni degli eventi estesi (XEvents).

Si applica a: SQL Server 2022 (16.x) CU15 e versioni successive.

Ambito: solo globale.
9810 Disabilita il motore OLTP in memoria dal recupero della memoria TLS (Thread Local Storage). In SQL Server 2019 (15.x) e versioni precedenti, non recuperare la memoria TLS è il comportamento predefinito. In SQL Server 2022 (16.x), è stata introdotta una nuova ottimizzazione della memoria che causa il recupero della memoria TLS dal motore OLTP in memoria e per ridurre la possibilità di problemi di memoria insufficiente. Questo flag di traccia ripristina il comportamento prima di SQL Server 2022 (16.x).

Si applica a: SQL Server 2022 (16.x) e versioni successive.

Ambito: solo globale.
9929 Riduce i file del checkpoint In memoria a 1 MB. Per altre informazioni, vedere KB3147012.

Ambito: solo globale.
9939 Consente piani paralleli e analisi parallele di tabelle e variabili di tabella ottimizzate per la memoria nelle operazioni DML che fanno riferimento a tabelle o variabili di tabella ottimizzate per la memoria, purché non siano la destinazione dell'operazione DML in SQL Server 2016 (13.x). Per altre informazioni, vedere KB4013877.

Nota: il flag di traccia 9939 non è necessario se anche il flag di traccia 4199 è abilitato in modo esplicito.

Ambito: query o sessione globale o sessione (QUERYTRACEON).
9944 Abilita una correzione non predefinita per il tempo di recupero lento del database quando un database ha un numero elevato di tabelle ottimizzate per la memoria o tipi di tabella ottimizzati per la memoria e il blocco con PREMPTIVE_OS_FINDFILE o PREEMPTIVE_OS_CREATEDIRECTORY tipi di attesa possono essere osservati. Per altre informazioni, vedere KB4090789 e KB4052338.

Per SQL Server in Linux, questo flag di traccia si applica solo a SQL Server 2022 (16.x) CU 13 e versioni successive.

Ambito: solo globale.
9953 Riutilizza le utilità di pianificazione nascoste usate dalle tabelle ottimizzate per la memoria.

Si applica a:: SQL Server 2019 (15.x) CU 20 e versioni successive e SQL Server 2022 (16.x) CU 3 e versioni successive.

Ambito: solo globale.
10054 Disabilita la regola di Query Optimizer di SQL Server che decora le sottoquery nei predicati OR in outer join.

Si applica a: SQL Server 2019 (15.x) e versioni successive.

Nota: assicurarsi di testare accuratamente questa opzione, prima di eseguirne il rollover in un ambiente di produzione.

Ambito: query o sessione globale o sessione (QUERYTRACEON).
10204 Disabilita l'unione o la ricompressione durante la riorganizzazione di indici columnstore. In SQL Server 2016 (13.x), quando viene riorganizzato un indice columnstore, è disponibile una nuova funzionalità per unire automaticamente tutti i rowgroup compressi di piccole dimensioni in rowgroup compressi di dimensioni maggiori e ricomprimere tutti i rowgroup con un numero elevato di righe eliminate.

Nota: il flag di traccia 10204 non si applica agli indici columnstore creati nelle tabelle ottimizzate per la memoria.

Ambito: globale o sessione.
10207 Consente alle analisi degli indici columnstore cluster (CCI) di ignorare i segmenti o i metadati danneggiati, permettendo il recupero dei dati da un indice columnstore cluster danneggiato. Per altre informazioni, vedere KB3067257.

Ambito: globale o sessione.
10316 Abilita la creazione di indici aggiuntivi in una tabella temporale di gestione temporanea ottimizzata per la memoria interna, in aggiunta alla tabella predefinita. Se si dispone di criteri di query specifici che includono colonne non coperte dall'indice predefinito, è possibile prendere in considerazione l'aggiunta di indici aggiuntivi.

Nota: le tabelle temporali con controllo delle versioni di sistemata per le tabelle ottimizzate per la memoria sono progettate per offrire una velocità effettiva transazionale elevata. La creazione di indici aggiuntivi può comportare un sovraccarico per le operazioni DML che aggiornano o eliminano righe nella tabella corrente. Con gli indici aggiuntivi, è consigliabile trovare il giusto equilibrio tra le prestazioni delle query temporali e un sovraccarico DML aggiuntivo.

Ambito: globale o sessione.
10460 Determina il provisioning di una tabella estesa all'interno del livello di servizio database SQL di Azure Hyperscale.

Si applica a: SQL Server 2017 (14.x) CU 31, SQL Server 2019 (15.x) CU 18 e SQL Server 2022 (16.x) e versioni successive.

A partire da SQL Server 2017 (14.x) CU 31, SQL Server 2019 (15.x) CU 18 e SQL Server 2022 (16.x), il comportamento predefinito della funzionalità Stretch Database effettua il provisioning di una tabella estesa all'interno di un livello di servizio standard (S3) database SQL di Azure.

Ambito: solo globale.
11023 Disabilita l'uso dell'ultima frequenza di campionamento persistente per tutti gli aggiornamenti delle statistiche successive, in cui una frequenza di campionamento non viene specificata in modo esplicito come parte dell'istruzione UPDATE STATISTICS . Per altre informazioni, vedere KB4039284.

Ambito: solo globale.
11024 Attiva l'aggiornamento automatico delle statistiche quando il totale delle modifiche di qualsiasi partizione supera la soglia locale. Per altre informazioni, vedere KB4041811.

Si applica a: SQL Server 2016 (13.x) Service Pack 2, SQL Server 2017 (14.x) CU 3 e versioni successive.

Ambito: solo globale.
11047 Applica il timeout predefinito impostato da query wait (s) o dalla configurazione REQUEST_MEMORY_GRANT_TIMEOUT_SEC Resource Governor alle operazioni di compilazione dell'indice columnstore. Per altre informazioni, vedere KB4480641.

Si applica a: SQL Server 2016 (13.x) Service Pack 2 CU 5, SQL Server 2017 (14.x) CU 14 e versioni successive.

Ambito: solo globale.
11064 Migliora la scalabilità delle operazioni di caricamento dei dati negli indici columnstore, ottimizzando la distribuzione della memoria tra le istruzioni SELECT e INSERT. Per altre informazioni sul caricamento dei dati in un indice columnstore, vedere Indici columnstore - Linee guida per il caricamento di dati.

Si applica a: SQL Server 2019 (15.x) e versioni successive.

Ambito: solo globale.
11068 Usa il valore max degree of parallelism (MAXDOP) configurato del server, del database o del pool di risorse per le operazioni di inserimento dell'indice columnstore. Per altre informazioni sulla sostituzione dei gradi di parallelismo, vedere Guida sull'architettura di elaborazione delle query.

Importante: questo flag di traccia è valido solo se è abilitato anche il flag di traccia 11064.

Importante: usare questo flag di traccia quando i carichi di dati più veloci sono preferiti rispetto alla gestione della qualità dei segmenti columnstore. Ad esempio, l'uso di questo flag di traccia durante il caricamento di 1.048.577 righe in un columnstore potrebbe comportare più di un rowgroup compresso, se l'operazione di inserimento è in esecuzione in modalità parallela. Senza questo flag di traccia, l'operazione di inserimento creerebbe un solo rowgroup compresso.

Si applica a: SQL Server 2019 (15.x) e versioni successive.

Ambito: solo globale.
11561 Disabilita l'autenticazione di Microsoft Entra per la replica.

Nota: questo flag di traccia si applica a SQL Server 2022 (16.x) CU 6 e versioni successive.

Ambito: globale o sessione.
11631 Un ALTER INDEX ... REORGANIZE oggetto e l'attività di unione in background puliscono le righe eliminate in un rowgroup di indice columnstore solo quando una determinata soglia di righe è stata eliminata da tale rowgroup. La soglia predefinita è il 10% del limite massimo di righe (1 milione) o di 100.000 righe.

Questo flag di traccia modifica la soglia impostando il 10% delle righe correnti totali in un rowgroup columnstore. Ad esempio, se un rowgroup contiene 20.000 righe, la soglia è 2.000 righe eliminate prima che questo rowgroup venga considerato per la pulizia. Per altre informazioni, vedere KB5000895.

Si applica a: SQL Server 2019 (15.x) CU 9 e versioni successive.

Ambito: solo globale.
11634 Un ALTER INDEX ... REORGANIZE oggetto e l'attività di unione in background puliscono le righe eliminate in un rowgroup di indice columnstore solo quando una determinata soglia di righe è stata eliminata da tale rowgroup. La soglia predefinita è il 10% del limite massimo di righe (1 milione) o di 100.000 righe.

Questo flag di traccia modifica la soglia impostando il 1% delle righe correnti totali in un rowgroup columnstore. Se abilitato insieme al flag di traccia 11631, corrisponde al 1% del numero corrente di righe in un rowgroup, anziché al 1% di 1 milione di righe. Per altre informazioni, vedere KB5000895.

Si applica a: SQL Server 2019 (15.x) CU 9 e versioni successive.

Ambito: solo globale.
12310 Aumenta i limiti di controllo del flusso per il numero di messaggi consentiti da ogni controllo del gruppo di disponibilità. Questi limiti sono i nuovi valori predefiniti in SQL Server 2022 (16.x) e pertanto il flag di traccia non ha alcun effetto in questa versione. Per altre informazioni, vedere Gate di controllo di flusso.

Si applica a: SQL Server 2019 (15.x) CU9, SQL Server 2017 (14.x) CU 18, SQL Server 2016 (13.x) SP 1 CU 16 e versioni successive.

Ambito: solo globale.
12324 Risolve un problema introdotto con le modifiche apportate alla funzionalità di collegamento per Istanza gestita di SQL di Azure, che impedisce la sincronizzazione dei gruppi di disponibilità quando le repliche vengono eseguite in diversi aggiornamenti cumulativi. Per altre informazioni, vedere KB5024276.

Si applica a: SQL Server 2019 (15.x) CU 20 e versioni successive.

Ambito: solo globale.
12481 Disabilita le informazioni di controllo della registrazione per le autorizzazioni esterne nel external_policy_permission_checked campo dei record di controllo. Per altre informazioni, vedere KB5022375.

Si applica a: SQL Server 2022 (16.x) CU 1 e versioni successive.

Ambito: solo globale.
12502 Disabilita i criteri di autorizzazione esterni per le istanze di SQL Server locali.

Si applica a: SQL Server 2022 (16.x) CU 5 e versioni successive.

Ambito: solo globale.
12618 Consente al modello di correzione automatica dei piani (APC) della funzionalità di ottimizzazione automatica di eseguire più controlli di regressione del piano consecutivi sullo stesso piano, che consente l'accumulo di statistiche aggiuntive per la valutazione da parte del nuovo modello. Per altre informazioni, vedere KB5026717.

Si applica a: SQL Server 2022 (16.x) CU 4 e versioni successive.

Ambito: solo globale.
12656 Consente al modello di correzione automatica del piano (APC) della funzionalità di ottimizzazione automatica di usare un controllo di regressione del piano basato sul tempo che si verificherà cinque minuti dopo che viene rilevata una modifica del piano, evitando di distorsione dei controlli di regressione da parte delle query eseguite rapidamente. Ciò consente a APC di prendere in considerazione le esecuzioni di query che potrebbero essere eseguite più a lungo o sono soggette a timeout a causa di una modifica del piano. Per altre informazioni, vedere KB5026717.

Si applica a: SQL Server 2022 (16.x) CU 4 e versioni successive.

Ambito: solo globale.
13116 Disabilita l'aggiornamento per il bug 13685819. Usare questo flag di traccia se dopo aver applicato SQL Server 2016 (13.x) Service Pack 2 CU 16, si verifica un problema in cui le query DML (insert/update/delete) che usano piani paralleli non possono completare alcuna esecuzione e riscontrare HP_SPOOL_BARRIER attese.

Si applica a: SQL Server 2016 (13.x) Service Pack 2 CU 16.

Ambito: solo globale.
13127 Abilita ottimizzazioni aggiuntive dei criteri di ricerca di stringhe.

Si applica a: SQL Server 2019 (15.x) e versioni successive ed è destinato a sistemi di fascia alta con carichi di lavoro ad alte prestazioni.

Ambito: globale o sessione.
13156 Disabilita la correzione per la chiamata alla funzione definita dall'utente con un numero elevato di valutazioni delle espressioni scalari può causare un errore dell'utilità di pianificazione non restituito. Questa correzione originale può talvolta causare una regressione delle prestazioni. Per altre informazioni, vedere KB4538581.

Ambito: solo globale.
15025 Disabilita l'accesso di Azure Key Vault necessario per un file di log virtuale (VLF) appena creato, che consente ai carichi di lavoro dei clienti con volumi elevati di continuare senza interruzioni. Dopo aver abilitato questo flag di traccia, SQL Server usa Extensible Key Management per la crittografia e la generazione di chiavi e non contatta Azure Key Vault durante la creazione del file VLF. Per altre informazioni, vedere FIX: Problemi di accessibilità del database con carichi di lavoro dei clienti con volumi elevati che usano EKM per la crittografia e la generazione di chiavi.

Si applica a: SQL Server 2019 (15.x) CU 19, SQL Server 2022 (16.x) CU 1 e versioni successive.

Ambito: solo globale.
15096 Disabilitare le operazioni popcnt (popcnt) con set di istruzioni AVX-512.

Si applica a: SQL Server 2022 (16.x) e versioni successive.

Ambito: globale o sessione.
15097 Abilita il supporto AVX-512 per SQL Server 2022 (16.x) e versioni successive.

Importante: è consigliabile abilitare il supporto AVX-512 per le CPU seguenti:

- Intel Ice Lake e versioni successive
- AMD EYPC Genova e versioni successive

Si applica a: SQL Server 2022 (16.x) e versioni successive.

Ambito: globale o sessione.
15212 Disabilita i messaggi timer di Service Broker che fungono da notifica dettagliata sull'evento di timeout. I messaggi interessati da questo flag di traccia sono: SSBDT: Dialog timer delete during registration nella sequenza di pulizia della finestra di dialogo di Service Broker e SSBDT: Dialog timer delete during dispatch nella sequenza di chiusura della finestra di dialogo di Service Broker. Dopo aver abilitato questo flag di traccia, la stampa di questi messaggi informali viene ignorata.

Si applica a: SQL Server 2022 (16.x) e versioni successive.

Ambito: solo globale.
15915 Abilita una correzione per un problema di prestazioni che può verificarsi quando sp_lock viene chiamato frequentemente da più connessioni, causando una perdita di memoria. La memoria non viene pulita finché non si riavvia il servizio SQL Server.

Si applica a: SQL Server 2019 (15.x) CU 29 e versioni successive.

Ambito: solo globale.
16301 Ignora l'operazione di I/O bloccante nella sp_server_diagnostics stored procedure. Dopo aver attivato questo flag di traccia, la sp_server_diagnostics stored procedure non raccoglierà alcune statistiche di I/O, ma può aiutare il gruppo di disponibilità AlwaysOn a evitare il riavvio e il failover quando si verifica un lungo ritardo nel sistema di I/O.

Si applica a: SQL Server 2022 (16.x) CU 12 e versioni successive.

Ambito: solo globale.