DBCC TRACEON - Flag di traccia (Transact-SQL)

Si applica a: SQL Server (tutte le versioni supportate) Istanza gestita di SQL di Azure

I flag di traccia vengono usati per impostare funzionalità del server specifiche o per modificare un particolare comportamento. Il flag di traccia 3226 è ad esempio un flag di traccia di avvio di uso comune che elimina i messaggi di backup riuscito nel log degli errori. I flag di traccia vengono spesso usati per diagnosticare i problemi di prestazioni o eseguire il debug di stored procedure o sistemi complessi, ma possono anche essere consigliati dal supporto tecnico Microsoft per risolvere un comportamento che ha conseguenze negative su uno specifico carico di lavoro.

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 tecnico. Come con qualsiasi modifica alla configurazione in SQL Server, è sempre consigliabile testare accuratamente il flag in un ambiente non di produzione prima della distribuzione.

Commenti

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.

Sono applicabili le regole seguenti:

  • 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 usando mssql-confin 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 deve essere 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 descritti nella tabella seguente.

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

Esempio

L'esempio seguente imposta il flag di traccia 3205 per tutte le sessioni a livello di server usando 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.

È possibile che il comportamento dei flag di traccia non sia 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 la replica agente di merge usando l'opzione durante l'esecuzione -T direplmerg.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 a tempo. Per altre informazioni, vedere una versione archiviata di KB2892633.

Ambito: Solo replica agente di merge.
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 direplmerg.exe dal prompt dei comandi.

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

Ambito: Solo replica agente di merge.
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 KB4010261.

Nota: Questo flag di traccia si applica a SQL Server 2016 (13.x) RTM CU3, SQL Server 2016 (13.x) SP1 e versioni successive.

Avviso: Il flag di traccia 139 non è progettato per essere abilitato in modo continuo in un ambiente di produzione e deve essere usato per l'unico scopo di eseguire controlli di convalida del database descritti in KB4010261. 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 attentamente questa opzione, prima di eseguirne il rollover in un ambiente di produzione.

Ambito: Solo globale.
176 Abilita una correzione per risolvere gli errori che si verificano durante la ricompilazione di 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 nel 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 Creazione di 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 (Transact-SQL).

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 (Transact-SQL).

Nota: Questo flag di traccia si applica a SQL Server 2017 (14.x) CU12 e versioni successive.

Nota: a partire dal livello di compatibilità del database 150, l'ID messaggio 2628 è l'impostazione predefinita e questo flag di traccia 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 SQL Server 2016 perché la registrazione minima viene 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, viene eseguita la registrazione minima di tutte le righe che compilano in sequenza la nuova pagina 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 impostare ALLOW_PAGE_LOCKS su ON per gli indici (impostato su ON per impostazione predefinita) per garantire il funzionamento della registrazione minima quando vengono acquisiti blocchi di pagina durante l'allocazione e di conseguenza vengono registrate solo le 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 l'intervallo di compressione Columnstore manualmente, disabilitando l'attività in background di compressione con il flag di traccia 634 e, successivamente, richiamando in modo esplicito ALTER INDEX...REORGANIZE o ALTER INDEX...REBUILD al momento desiderato.

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 ridotte.

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 SQL Server 2016 (13.x), gli inserimenti rapidi sono abilitati per impostazione predefinita, usando la registrazione minima quando il database è in un modello di ripristino con registrazione semplice o bulk per ottimizzare le prestazioni di inserimento per i record inseriti in nuove pagine. Con gli inserimenti rapidi, ogni batch di caricamento bulk acquisisce nuovi extent ignorando la ricerca di allocazione di un extent con spazio disponibile per ottimizzare le prestazioni di inserimento.

Con gli inserimenti rapidi, poiché i caricamenti bulk con batch di dimensioni ridotte possono causare un aumento dello spazio inutilizzato da parte degli oggetti, è consigliabile usare batch di grandi dimensioni in modo che ogni batch occupi l'intero extent. Se l'aumento di batchsize non è fattibile, questo flag di traccia può aiutare a ridurre lo spazio inutilizzato riservato a spese delle prestazioni.

Nota: Questo flag di traccia 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 (BU) consentono a più thread di caricare i dati in blocco simultaneamente nella stessa tabella, impedendo agli altri processi che non caricano in blocco i dati dall'accesso alla tabella.

Il comportamento è simile a quando l'utente specifica in modo esplicito l'hint. TABLOCK durante il caricamento bulk o a quando il blocco della tabella sp_tableoption per il 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. Direct Write consente al pool di buffer ibrido di fungere da cache sia per le pagine sporche che per le pagine pulite, riducendo le richieste del carico di lavoro nei pool di buffer DRAM. Questo comportamento facoltativo ma consigliato è stato introdotto in SQL Server 2022 (16.x).
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 che viene usato per tenere traccia delle ultime 2048 operazioni di scrittura riuscite eseguite da SQL Server, escluse le operazioni di I/O per 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 KB826433.

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 creazione di report delle richieste di I/O che richiedono molto tempo per completare. Per impostazione predefinita, SQL Server usa un meccanismo per rilevare 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 delle pagine grandi variano a seconda della piattaforma hardware, ma le dimensioni della pagina possono essere comprese tra 2 MB e 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 delle conversioni (TLB) nella CPU. In altre parole, il flag di traccia 834 aumenta l'efficienza di gestione della conversione da indirizzo di memoria fisica a 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. Deve essere disponibile il diritto utente Blocco delle pagine in memoria per abilitare il flag di traccia 834. È possibile attivare il flag di traccia 834 solo all'avvio. Il flag di traccia 834 può impedire al server di iniziare se la memoria è frammentata e se non è possibile allocare pagine di grandi dimensioni. Il flag di traccia 834 è quindi particolarmente adatto per i server dedicati a SQL Server.

Nota: Se abilitato, il modello di memoria di grandi pagine pre-alloca 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 KB3210239. Se si usano SQL Server 2019 (15.x) e columnstore, vedere invece il 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 in modo che SQL Server ridimensioni 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 con l'allocazione AWE abilitata. È 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 server di memoria 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 pre-alloca memoria SQLOS all'avvio dell'istanza e la memoria inutilizzata può essere rilasciata.

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

Nota: Assicurarsi di testare attentamente questa opzione, prima di eseguire il rollback in un ambiente di produzione.

Ambito: Solo globale.
890 Elimina i messaggi di completamento dell'analisi dei 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.

Nota: a partire da SQL Server 2017 (14.x)

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 in modalità di aggiornamento dello script, si consiglia di contattare il servizio di supporto tecnico e assistenza clienti di Microsoft SQL per ulteriori istruzioni. 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. È consigliato solo se l'aumento delle dimensioni di tutti i file di un filegroup della stessa quantità in ogni database è considerato sicuro.

Nota: a partire da SQL Server 2016 (13.x) questo comportamento è controllato dalle opzioni 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 Opzioni ALTER DATABASE SET (Transact-SQL).

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 Guida per il controllo delle versioni delle righe e il blocco della transazione.

Nota: evitare di usare il flag di traccia 1204 in sistemi con carichi di lavoro intensivi che causano deadlock. Per altre informazioni su altri metodi di rilevamento dei deadlock, vedere Guida al blocco delle transazioni e al controllo delle versioni delle righe.

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 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 le dimensioni della memoria blocchi aumentano troppo, i tentativi di allocare altri blocchi per le 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 memoria insufficiente, è consigliabile usare al suo posto il flag 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 blocchi in SQL Server, vedere KB323630.

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 Guida per il controllo delle versioni delle righe e il blocco della transazione.

Nota: evitare di usare il flag di traccia 1222 in sistemi con carichi di lavoro intensivi che causano deadlock. Per altre informazioni su altri metodi di rilevamento dei deadlock, vedere Guida al blocco delle transazioni e al controllo delle versioni delle righe.

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:
  • Quaranta percento della memoria usata dal motore di database. Questa condizione è applicabile solo quando il parametro locks di sp_configure è impostato su 0.
  • 40% della memoria dei blocchi configurata mediante il parametro locks di sp_configure. Per altre informazioni, vedere Opzioni di configurazione del server (SQL 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'innalzamento di livello in ogni caso, anche in caso di sovraccarico nella memoria, è consigliabile utilizzare il flag 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 blocchi in SQL Server, vedere KB323630.

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) SP3 e SQL Server 2014 (12.x) SP1 questo comportamento è controllato dal motore e il 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 livello di compatibilità del database 140 questo comportamento è predefinito e il flag di traccia 1237 non ha alcun effetto.

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

Ambito: Solo globale.
1448 Consente alla lettura del log di replica di andare avanti 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 che venga abilitato su un disco con dimensioni di settore di 4 KB. Per altre informazioni, vedere KB3009974.

Nota: Questo flag di traccia si applica a SQL Server 2012 (11.x) SP1 CU13, SQL Server 2012 (11.x) SP2 CU3, SQL Server 2014 (12.x) RTM CU5 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 connette un database e si verificano errori di autorizzazione di accesso, ad esempio l'errore 5120.

Ambito: Solo globale.
1819 Consente di eseguire il backup per l'URL per l'uso di un server proxy durante l'accesso ai BLOB di blocchi di Azure. Oltre a questo flag di traccia, è necessario impostare la configurazione del proxy WinHTTP sul server tramite uno dei metodi seguenti:

- L'utility proxycfg.exe in Windows XP o Windows Server 2003 e versioni precedenti.
- Utilità netsh.exe in Windows Vista e Windows Server 2008 e versioni successive.

Ambito: Global o session or query (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: Global o session or query (QUERYTRACEON).
2312 Consente di impostare 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 determina l'uso del modello di stima della cardinalità di SQL Server 2014 (12.x) (120). Per altre informazioni, vedere KB2801413.

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

Ambito: Global o session or query (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 SQL Server concede per eseguire la query. La memoria configurata per SQL Server verrà comunque usata per la cache dei dati, l'esecuzione di query e altri consumer.

Nota: Assicurarsi di testare attentamente questa opzione, prima di eseguire il rollback in un ambiente di produzione.

Ambito: Global o session or query (QUERYTRACEON).
2338 Causa SQL Server usare un piano stretto durante l'esecuzione di un'istruzione UPDATE per aggiornare gli indici in una tabella. Quando si esegue un AGGIORNAMENTO rispetto a 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 aggiornare una riga, quindi passare alla riga successiva fino al completamento di tutti. Questo viene chiamato aggiornamento del piano stretto o anche chiamato Per-Row Update. In alcuni casi il motore di database può scegliere di eseguire un aggiornamento a livello di piano. Questo flag di traccia forza un aggiornamento di piano limitato.

Ambito: Global o session or query (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 di cicli annidati ottimizzati anziché un'analisi completa o un join di cicli annidati con un ordinamento esplicito, quando Query Optimizer conclude che un ordinamento è più probabile che non sia necessario, ma comunque una possibilità se la cardinalità o le stime dei costi non sono corrette. Per altre informazioni, vedere KB2009160.

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

Nota: Assicurarsi di testare attentamente questa opzione, prima di eseguire il rollback in un ambiente di produzione.

Ambito: Global o session or query (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 nel livello di compatibilità del database 130 o superiore questo comportamento è controllato dal motore e il 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 iniziale delle statistiche è contrassegnata con ordine crescente, l'istogramma usato per la stima della cardinalità verrà modificato in fase di compilazione di query.

Nota: Assicurarsi di testare attentamente questa opzione, prima di eseguire il rollback in un ambiente di produzione.

Nota: Questo flag di traccia non si applica a CE versione 120 o successiva. In alternativa, usare il flag di traccia 4139.

Ambito: Global o session or query (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 iniziale delle statistiche è contrassegnata con ordine crescente o sconosciuto, l'istogramma usato per la stima della cardinalità verrà modificato in fase di compilazione di query. Per altre informazioni, vedere KB2801413.

Nota: Assicurarsi di testare attentamente questa opzione, prima di eseguire il rollback in un ambiente di produzione.

Nota: Questo flag di traccia non si applica a CE versione 120 o successiva. In alternativa, usare il flag di traccia 4139.

Ambito: Global o session or query (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.

Nota: Questo flag di traccia si applica a SQL Server 2016 (13.x) SP2, SQL Server 2017 (14.x) CU3 e versioni successive.

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

Ambito: Solo globale.
2446 Causa SQL Server generare un frammento SHOWplan XML con ParameterRuntimeValue quando si usa l'infrastruttura di profilatura delle statistiche di esecuzione di query leggera o l'esecuzione della sys.dm_exec_query_statistics_xml dmV durante la risoluzione dei problemi relativi alle query a esecuzione prolungata.

Nota: Questo flag di traccia si applica a SQL Server 2017 (14.x) CU31 e SQL Server 2022 (16.x) e versioni successive.

Avviso: Il flag di traccia 2446 non deve essere abilitato continuamente in un ambiente di produzione, ma solo per scopi di risoluzione dei problemi limitati al tempo. L'uso di questo flag di traccia introduce un sovraccarico aggiuntivo e probabilmente significativo della CPU e della memoria, in quanto verrà creato un frammento XML Showplan con informazioni sui parametri di runtime, indipendentemente dal fatto che il sys.dm_exec_query_statistics_xml DMV venga chiamato o meno.

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

Nota: Questo flag di traccia 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 (Transact-SQL).

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 KB29524444.

Nota: Assicurarsi di testare attentamente questa opzione, prima di eseguire il rollback in un ambiente di produzione.

Ambito: Global o session or query (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. Fare riferimento a Configurare l'opzione di configurazione del server max worker threads per informazioni su come configurare l'opzione del server max worker threads.

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 attentamente questa opzione, prima di eseguire il rollback 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 (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 l'opzione di configurazione del server max degree of parallelism.

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, è possibile che le tabelle rimangano bloccate per periodi di tempo più lunghi.

Nota: a partire da SQL Server 2014 (12.x) SP2 è disponibile un'opzione MAXDOP per l'override dell'opzione di configurazione del massimo grado di parallelismo 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 avranno quindi una dimensione approssimativamente pari alla quantità di memoria usata dal processo SQL Server, che a sua volta può essere grande quasi come la RAM totale del sistema. Nei server di grandi dimensioni dedicati a una singola istanza di SQL Server, questo potrebbe significare un file con centinaia di gigabyte o più.

Avviso: La generazione di un dump della memoria completa 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 di grandi dimensioni. Usarlo con cautela e solo raramente se la situazione lo richiede.

Per informazioni più dettagliate, vedere Usare l'utilità 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 è basato su un disco fisico univoco.

Nota: sebbene questo flag di traccia migliori le prestazioni dei comandi DBCC CHECKDB destinati all'utilizzo dell'opzione PHYSICAL_ONLY, è possibile che alcuni utenti non sperimentino alcun miglioramento nelle prestazioni. Sebbene questo flag di traccia migliori l'utilizzo delle risorse di I/O del disco, le prestazioni sottostanti delle risorse disco possono limitare le prestazioni complessive del comando DBCC CHECKDB. 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 come In-Memory pagine di dati OLTP 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 l'utilità 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 possono aumentare. tempdb può aumentare fino al 5% o più del database utente elaborato dal DBCC CHECKDB comando.

Nota: sebbene questo flag di traccia migliori le prestazioni dei comandi DBCC CHECKDB destinati all'utilizzo dell'opzione PHYSICAL_ONLY, è possibile che alcuni utenti non sperimentino alcun miglioramento nelle prestazioni. Sebbene questo flag di traccia migliori l'utilizzo delle risorse di I/O del disco, le prestazioni sottostanti delle risorse disco possono limitare le prestazioni complessive del comando DBCC CHECKDB. 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 finché 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. Se ad esempio si usa il flag di traccia 3656, è necessario che sia abilitato il flag di traccia 2592.

Avviso: Si tratta di un flag di traccia di debug e non destinato all'uso dell'ambiente di produzione.

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

Ambito: Globale e sessione.
3023 Abilita l'opzione CHECKSUM come impostazione predefinita per il comando BACKUP.

Nota: a partire da SQL Server 2014 (12.x) questo comportamento è controllato dall'impostazione dell'opzione di configurazione backup checksum default. Per altre informazioni, vedere Backup checksum default e Server Configuration Options (SQL Server).For more information, see backup checksum default and Server Configuration Options (SQL Server).

Ambito: Globale e sessione.
3042 Ignora l'algoritmo di preallocazione di compressione di backup predefinito per consentire l'aumento del file di backup solo di quanto necessario per raggiungere le relative 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 dei backup (SQL Server).

Ambito: Solo globale.
3051 Abilita la registrazione dei backup su URL di SQL Server in un file del 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, per ogni operazione di backup eseguita in modo corretto viene aggiunta una voce al log degli errori di SQL Server e al 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.

Grazie a questo flag di traccia, è possibile eliminare queste voci di log. Questo risulta utile se si eseguono backup del log frequenti e se nessuno degli script dipende da tali voci.

Ambito: Solo globale.
3427 Abilita la risoluzione dei problemi quando più transazioni consecutive inseriscono dati in tabelle temporanee in SQL Server 2016 (13.x) e questa operazione usa maggiormente la CPU rispetto all'inserimento in SQL Server 2014 (12.x). Per altre informazioni, vedere KB3216543.

Nota: questo flag di traccia si applica a SQL Server 2016 (13.x) SP1 CU2 fino a SQL Server 2016 (13.x) SP2 CU2. A partire da SQL Server 2016 (13.x) SP2 CU3 e SQL Server 2017 (14.x), questo flag di traccia non ha alcun effetto.

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.

Nota: Questo flag di traccia 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.

Nota: Questo flag di traccia si applica a SQL Server 2016 (13.x) SP1 CU5, SQL Server 2017 (14.x) CU1 e versioni successive.

Ambito: Solo globale.
3605 Reindirizza i messaggi di traccia al log degli errori di SQL Server. Se ad esempio si usano il flag di traccia 205 e 8721, è necessario che sia abilitato il 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 SQL Server di avviare e ripristinare automaticamente qualsiasi database, ad eccezione del master database. Se le attività che richiedono tempdb vengono avviate, viene model ripristinato e tempdb creato. Gli altri database verranno avviati e recuperati al momento dell'accesso. 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 Consente la risoluzione dei simboli nel dump dello stack quando vengono installati gli strumenti di debug per Windows.

Avviso: Si tratta di un flag di traccia di debug e non destinato all'uso dell'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.
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 restituiti 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 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 non OPTION(RECOMPILE)venga usato o WITH RECOMPILEOPTIMIZE 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 (Transact-SQL).

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) SP1, una seconda opzione per eseguire questa operazione a livello di query consiste nell'aggiungere l'USE HINT 'DISABLE_PARAMETER_SNIFFING'hint per la query anziché usare il flag di traccia.

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

Ambito: Globale o sessione.
4137 Fa sì che SQL Server generare 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 di SQL Server 2012 (11,x) e versioni precedenti (70). Per altre informazioni, vedere KB2658214.

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

Nota: Assicurarsi di testare attentamente 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. In alternativa, usare il flag di traccia 9471.

Ambito: Query o sessione globale (QUERYTRACEON).
4138 Fa sì che SQL Server generare 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) SP1, per eseguire questa operazione a livello di query, aggiungere l'USE HINT 'DISABLE_OPTIMIZER_ROWGOAL'hint per la query anziché il flag di traccia.

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

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

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

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

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

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

Le modifiche di Query Optimizer apportate alle versioni precedenti di SQL Server sono abilitate per impostazione predefinita nel livello di compatibilità del database più recente di una determinata versione del prodotto, senza che venga abilitato il flag di traccia 4199.

La tabella seguente riepiloga il comportamento eseguito quando vengono usati livelli di compatibilità del database specifici e il flag di traccia 4199. Per altre informazioni, vedere KB974006.

Versione del motore di databaseLivello di compatibilità del databaseTF 4199Modifiche QO rispetto a tutti i livelli di compatibilità del database precedentiModifiche di Query Optimizer per la versione del motore di database successiva alla versione RTM
SQL Server 2016 (13.x)Da 100 a 120DisattivatoDisabledDisabled
AttivatoAttivatoAttivato
130 (impostazione predefinita)DisattivatoAttivatoDisabled
AttivatoAttivatoAttivato
SQL Server 2017 (14.x)Da 100 a 120DisattivatoDisabledDisabled
AttivatoAttivatoAttivato
130DisattivatoAttivatoDisabled
AttivatoAttivatoAttivato
140 (impostazione predefinita)DisattivatoAttivatoDisabled
AttivatoAttivatoAttivato
SQL Server 2019 (15.x) e database Azure SQLDa 100 a 120DisattivatoDisabledDisabled
AttivatoAttivatoAttivato
Da 130 a 140DisattivatoAttivatoDisabled
AttivatoAttivatoAttivato
150 (impostazione predefinita)DisattivatoAttivatoDisabled
AttivatoAttivatoAttivato


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 (Transact-SQL).

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

Importante: Query Optimizer corregge 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 (QUERYTRACEON).
4610 Aumenta la dimensione della tabella hash che memorizza le voci della cache di un fattore 8. Quando usato con il 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 Query che richiedono più tempo per completare l'esecuzione quando le dimensioni della cache TokenAndPermUserStore aumentano in SQL Server 2005.

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 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. Quando usato con il 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 Query che richiedono più tempo per completare l'esecuzione quando le dimensioni della cache TokenAndPermUserStore aumentano in SQL Server 2005.

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 KB959823.

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 decrittografia dell'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.

Nota: Questo flag di traccia 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. Lo stato del database continuerà a indicare la crittografia in corso. Per riprendere l'analisi della ripetizione 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.

Nota: Questo flag di traccia 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 (QUERYTRACEON).
6498 Consente a più di una compilazione di query di grandi dimensioni di accedere 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. È basato su 80% di memoria di destinazione di SQL Server e consente una compilazione di query di grandi dimensioni ogni 25 GB di memoria. Per altre informazioni, vedere KB3024815.

Nota: a partire da SQL Server 2014 (12.x) SP2 e SQL Server 2016 (13.x) questo comportamento è controllato dal motore e il 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 utilizzato come flag di traccia di avvio, un dump di memoria non viene mai generato. Un dump di memoria può essere generato tuttavia se vengono utilizzati altri flag di traccia.
  • Se questo flag di traccia è abilitato in un server in esecuzione, un dump della memoria non verrà generato automaticamente da tale punto. Tuttavia, se un dump di memoria è già stato generato a causa di un'eccezione di memoria insufficiente in CLR, questo flag di traccia non avrà alcun effetto.

Ambito: Solo globale.
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 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 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.

Nota: Questo flag di traccia si applica a SQL Server 2012 (11.x) SP3 CU10, SQL Server 2014 (12.x) SP2 CU6, SQL Server 2016 (13.x) RTM CU7, SQL Server 2016 (13.x) SP1 CU4 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.

Nota: Questo flag di traccia si applica a SQL Server 2016 (13.x) SP2 CU10, SQL Server 2017 (14.x) CU18, SQL Server 2019 (15.x) CU1 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.

Nota: Questo flag di traccia si applica a SQL Server 2016 (13.x) SP1 e versioni successive. A partire da SQL Server 2019 (15.x) questo flag di traccia non ha 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.

Nota: Questo flag di traccia si applica a SQL Server 2012 (11.x) SP2 CU8, SQL Server 2014 (12.x) RTM CU10, SQL Server 2014 (12.x) SP1 CU3 e versioni successive.

Avviso: Il flag di traccia 7470 aumenterà 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 (QUERYTRACEON).
7471 Consente di eseguire contemporaneamente più UPDATE STATISTICS per diverse statistiche in una singola tabella. Per altre informazioni, vedere KB3156157.

Nota: Questo flag di traccia si applica a SQL Server 2014 (12.x) SP1 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 questa traccia può causare la perdita dei dati di Query Store non scaricati precedentemente su disco 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 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 all'interno del server e ha un 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 sono notevolmente ridotte.

Ambito: Solo globale.
8015 Disabilitare il rilevamento automatico e la configurazione 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 dello 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 sono 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 sono 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 la dimensione della memoria del working set dalla valutazione 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. Contattare quindi il 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 per l'impostazione SQL Server 2005 (9,x), che in generale consente alle cache di essere più grandi. 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 con la 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) SP2 e SQL Server 2016 (13.x) questo comportamento è dinamico e controllato dal motore.

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.

Nota: questo flag di traccia si applica a SQL Server 2012 (11.x), SQL Server 2014 (12.x) RTM CU10 e SQL Server 2014 (12.x) SP1 CU3. A partire da SQL Server 2016 (13.x) questo comportamento è controllato dal motore e il flag di traccia 8075 non ha alcun effetto.

Ambito: Solo globale.
8079 Consente a SQL Server 2014 (12.x) SP2 di interrogare il layout hardware e configurare automaticamente Soft-NUMA nei sistemi che segnalano 8 o più CPU per ogni nodo NUMA. Il comportamento Soft-NUMA automatico supporta l'hyperthreading (HT/processore 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.

Nota: questo flag di traccia si applica a SQL Server 2014 (12.x) SP2. A partire da SQL Server 2016 (13.x) questo comportamento è controllato dal motore e il flag di traccia 8079 non ha alcun effetto.

Ambito: Solo globale.
8089 In SQL Server 2017 (14.x) CU16 è 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.

Nota: questo flag di traccia si applica solo a SQL Server 2017 (14.x) da CU16 fino a CU19. A partire da SQL Server 2017 (14.x) CU20 il filtro bitmap è abilitato per impostazione predefinita. Il flag di traccia 8089 non verrà più applicato e verrà 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.

Nota: questo flag di traccia si applica alle build in cui il filtro bitmap è abilitato per impostazione predefinita: SQL Server 2016 (13.x) CU13 e versioni successive, SQL Server 2017 (14.x) CU20 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.

Nota: questo flag di traccia si applica solo a SQL Server 2019 (15.x) CU2 e CU3. A partire da SQL Server 2019 (15.x) CU4, questo comportamento è abilitato per impostazione predefinita. Per altre informazioni, vedere KB4538688.

Ambito: Solo globale.
8101 Consente di risolvere un problema relativo all'utilizzo elevato della CPU su hardware moderno, ad esempio i processori Intel Skylake, con un numero elevato di CPU e un numero elevato di utenti simultanei. Per altre informazioni, vedere KB4538688.

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 del server nel modello di memoria con Blocco delle 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 informazioni sulla correzione, vedere KB5008996.

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, l'aggiornamento di una colonna univoca che interessa solo una riga (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.
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 dalle tabelle modificate usando transazioni DTC anche dopo xa_commit restituito l'esito positivo per un breve periodo di tempo.

Nota: Assicurarsi di testare attentamente questa opzione, prima di eseguirne il rollover in un ambiente di produzione. Questo flag di traccia si applica a SQL Server 2022 (16.x) e versioni successive.

Ambito: Solo globale.
8721 Indica nel log degli errori l'esecuzione delle 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 la prelettura per l'operatore Nested Loop.

Avviso: L'uso non corretto di questo flag di traccia può 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 di usare un piano di query wide durante l'esecuzione di un'istruzione UPDATE per aggiornare gli indici in una tabella. Quando si esegue un'operazione UPDATE 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 i 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 Per-Index Update) e può essere forzato usando questo flag di traccia

Ambito: Query globale, sessione o query (QUERYTRACEON).
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) SP3 e SQL Server 2014 (12.x) SP1 questo comportamento è controllato dal motore 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 potrebbe non riuscire o richiedere molto tempo se la notifica di query viene usata in un database.

Avviso: Prestare attenzione a 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.
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: Global o session or query (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 usa BULK INSERT. Se vengono stimate più di 102.400 righe, viene avviata un'istruzione BULK INSERT. Per altre informazioni, vedere KB2998301.

Ambito: Global o session or query (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: Global o session or query (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 il flag di traccia non ha alcun effetto.

Ambito: Global o session or query (QUERYTRACEON).
9389 Abilita la concessione di memoria dinamica aggiuntiva per gli operatori in modalità batch. Se una query non ottiene tutte le risorse di memoria necessarie, i dati vengono sversati in tempdb, in caso di I/O aggiuntivi e che influiscano potenzialmente sulle prestazioni delle query. Se il flag di traccia di concessione di memoria dinamica è abilitato, un operatore in modalità batch potrebbe richiedere memoria aggiuntiva ed evitare la distribuzione in tempdb se è disponibile ulteriore memoria. 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 attentamente questa opzione, prima di eseguire il rollback in un ambiente di produzione.

Ambito: Global o session or query (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 attentamente questa opzione, prima di eseguire il rollback in un ambiente di produzione.

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

Nota: Assicurarsi di testare attentamente questa opzione, prima di eseguire il rollback in un ambiente di produzione.

Ambito: Global o session or query (QUERYTRACEON).
9471 Causa SQL Server generare un piano usando la selezione 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) SP1, per eseguire questa operazione a livello di query, aggiungere l'USE HINT 'ASSUME_MIN_SELECTIVITY_FOR_FILTER_ESTIMATES'hint per la query anziché il flag di traccia.

Nota: Assicurarsi di testare attentamente questa opzione, prima di eseguire il rollback in un ambiente di produzione.

Nota: Questo flag di traccia non si applica alla versione 70 di CE. In alternativa, usare il flag di traccia 4137.

Ambito: Global o session or query (QUERYTRACEON).
9476 Causa SQL Server generare un piano usando il presupposto di contenimento semplice anziché il presupposto di contenimento base predefinito, nel modello di stima della cardinalità di query optimizer di SQL Server 2014 (12.x) e versioni successive. Per altre informazioni, vedere questo KB3189675.

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

Nota: Assicurarsi di testare attentamente questa opzione, prima di eseguire il rollback in un ambiente di produzione.

Ambito: Global o session or query (QUERYTRACEON).
9481 Consente di impostare il modello di stima della cardinalità di Query Optimizer su SQL Server 2012 (11.x) e versioni precedenti, indipendentemente dal livello di compatibilità del database. Per altre informazioni, vedere KB2801413.

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

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

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

Ambito: Solo globale.
9488 Imposta la stima fissa per Funzioni con valori di tabella su 1 (corrispondente all'impostazione predefinita 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: Global o session or query (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. Durante il seeding automatico, la compressione può ridurre significativamente i tempi di trasferimento e aumenta il carico sul processore. Per altre informazioni, vedere Inizializzare automaticamente un gruppo di disponibilità Always On e Ottimizzare la compressione per un 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 dei dischi.

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) SP1 CU10, SQL Server 2016 (13.x) SP2 CU2 e SQL Server 2017 (14.x) CU9. 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.
9929 Riduce i file del checkpoint In memoria a 1 MB. Per altre informazioni, vedere KB3147012.

Ambito: Solo globale.
9939 Abilita 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 (QUERYTRACEON).
9944 Abilita una correzione non predefinita per i tempi di recupero lenti del database quando un database ha un numero elevato di tabelle con ottimizzazione per la memoria o di tipi di tabella con ottimizzazione per la memoria e si possono osservare blocchi con tipi di attesa PREMPTIVE_OS_FINDFILE o PREEMPTIVE_OS_CREATEDIRECTORY. Per altre informazioni, vedere KB4090789 e KB4052338.

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

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

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

Ambito: Query o sessione globale (QUERYTRACEON).
10204 Disabilita l'unione o la ricompressione durante la riorganizzazione di indici columnstore. In SQL Server 2016 (13.x), quando un indice columnstore viene riorganizzato, è disponibile una nuova funzionalità per unire automaticamente tutti i rowgroup compressi di piccole dimensioni in rowgroup compressi più grandi 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 aggiungere altri indici.

Nota: le tabelle temporali con controllo delle versioni di sistema 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. Se vengono aggiunti indici, è consigliabile individuare il giusto equilibrio tra le prestazioni delle query temporali e il sovraccarico aggiuntivo delle operazioni DML.

Ambito: Globale o sessione.
11023 Disabilita l'uso dell'ultima frequenza di campionamento persistente per tutti gli aggiornamenti delle statistiche successivi, 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.

Nota: Questo flag di traccia si applica a SQL Server 2016 (13.x) SP2, SQL Server 2017 (14.x) CU3 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.

Nota: Questo flag di traccia si applica a SQL Server 2016 (13.x) SP2 CU5, SQL Server 2017 (14.x) CU14 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.

Nota: Questo flag di traccia 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 sono preferibili caricamenti dei dati più veloci rispetto a mantenere la qualità dei segmenti columnstore. Ad esempio, se si usa questo flag di traccia quando si caricano 1.048.577 righe in un columnstore, è possibile che venga generato più di un rowgroup compresso, se l'operazione di inserimento viene eseguita in modalità parallela. Senza questo flag di traccia, l'operazione di inserimento creerebbe un solo rowgroup compresso.

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

Ambito: Solo globale.
11631 ALTER INDEX ... REORGANIZE e l'attività di unione in background puliscono le righe eliminate in un rowgroup dell'indice columnstore solo quando dal rowgroup è stata eliminata una determinata soglia di righe. 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 sarà di 2.000 righe eliminate prima che questo rowgroup venga considerato per la pulizia. Per altre informazioni, vedere KB5000895.

Nota: Questo flag di traccia si applica a SQL Server 2019 (15.x) CU9 e versioni successive.

Ambito: Solo globale.
11634 ALTER INDEX ... REORGANIZE e l'attività di unione in background puliscono le righe eliminate in un rowgroup dell'indice columnstore solo quando dal rowgroup è stata eliminata una determinata soglia di righe. 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 l'1% delle righe in un rowgroup columnstore. Se abilitato insieme al flag di traccia 11631, sarà l'1% del numero corrente di righe in un rowgroup, anziché l'1% di 1 milione di righe. Per altre informazioni, vedere KB5000895.

Nota: Questo flag di traccia si applica a SQL Server 2019 (15.x) CU9 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) SP2 CU16, 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.

Nota: questo flag di traccia si applica a SQL Server 2016 (13.x) SP2 CU16.

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

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

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

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

Ambito: Globale o sessione.

Vedi anche

Passaggi successivi