Lista completa de trace flags do Microsoft SQL Server – (531 trace flags)
Quebrei esse artigo em várias partes, pois, a lista é bem extensa.
No final da sequência de artigos de trace flags colocarei as que acredito ser as mais importantes.
O que são as trace flags do Microsoft SQL Server?
As trace flags alteram o comportamento de várias funções do SQL Server. Documentação oficial
LEMBRETE: É preciso ter muito cuidado e ser cauteloso com as trace flags. Realize testes em ambiente de teste e em caso de dúvidas sobre a mudança, consulte profissionais da área.
Como ativar e desativar?
- Com os comandos DBCC TRACEON e DBCC TRACEOFF.
- Usar a opção -T na configuração de inicialização do serviço do SQL Server. A opção -T deve ser usada com “T” em maiúsculo para ativar uma trace flag. O “t” em minúsculo também é aceito, mas, para outros fins, mais utilizados por engenheiros de suporte da Microsoft.
- Também é possível usar os hits QUERYTRACEON em consultas: <querytraceon_hint :: = {QUERYTRACEON trace_flag_number}>
Verificando se existe Trace Flags ativadas.
Podemos utilizar o comando DBCC TRACESTATUS
O exemplo a seguir exibe o status de todos os sinalizadores de rastreamento atualmente habilitados globalmente:
DBCC TRACESTATUS ( - 1 );
GO
O exemplo a seguir exibe o status das trace flags 3212 e 2509:
DBCC TRACESTATUS ( 3212, 2509);
GO
O exemplo a seguir mostra se a trace flag 1224 está habilitado globalmente:
DBCC TRACESTATUS ( 1224, - 1 );
GO
O exemplo a seguir lista todas trace flags que estão habilitados para a sessão atual:
DBCC TRACESTATUS (); GO
Trace Flags recomendadas
- Trace Flag 272 (para SQL Server 2012)
- Trace Flag 1118 (para versões <SQL Server 2016)
- Trace Flag 3023 (para versões <SQL Server 2014)
- Trace Flag 3226 (para todas as versões)
O Trace Flag 272 evita a diferença de identidade após a reinicialização da instância do SQL Server 2012, crítica para colunas com identidade e tipos de dados smallint.
O Trace Flag 1118 verifica a contenção que pode existir em um determinado tipo de página em um banco de dados, a página SGAM. Pode usar benefícios para sistemas que usam tempdb em excesso. No SQL Server 2016, você altera esse comportamento usando a opção de banco de dados MIXED_PAGE_ALLOCATION e não há necessidade de TF 1118.
O Trace Flag 3023 é usado para habilitar a opção CHECKSUM, por padrão, para todos os backups realizados em uma instância. Com esta opção habilitada, as somas de verificação da página são validadas durante um backup e uma soma de verificação para todo o backup é gerada. Começando no SQL Server 2014, esta opção pode ser definida em toda a instância sp_configure ('backup checksum default')
.
Lista de rastreamento
Trace Flag: -1
Função: define trace flags para todas as conexões de clientes, em vez de uma conexão somente. Com as trace flags habilitadas usando a opção de linha de comando -TT aplicam-se automaticamente a todas as conexões. Essa trace flag é usado somente ao definir sinalizadores de rastreamento usando DBCC TRACEON e DBCC TRACEOFF.
Trace Flag: 101
Função: Envia para o log saída de verificação para solução de problemas de performance de replicação de Merge. Link: https://support.microsoft.com/en-us/help/312292
Trace Flag: 102
Função: Se você tiver que escrever estatísticas na tabela < Servidor de distribuição> ..mermerge_history , use o sinalizador de rastreamento -T 102. Link: http://support.microsoft.com/kb/2892633
Trace Flag: 106
Função: Isso permite que você veja as mensagens que são enviadas para e do Editor, se você estiver usando o
Link de Sincronização na Web : http://technet.microsoft.com/en-us/library/ms151872(v=sql.105) .aspx
Trace Flag: 107
Função: SQL 6.5 / 7/8 – Interpreta números com um ponto decimal como flutuante em vez de decimal.
Trace Flag: 110
Função: SQL 6.5 – Desliga as características de seleção ANSI.
Trace Flag: 120
Função: CORRECÇÃO: mensagem de erro quando você agende um trabalho do Agente de mesclagem de replicação para ser executado depois de instalar o SQL Server 2000 Service Pack 4: “O processo não pode enumerar as alterações no” Assinante “.
Trace Flag: 139
Força a semântica de conversão correta no escopo de comandos de verificação DBCC como DBCC CHECKDB , DBCC CHECKTABLE e DBCC CHECKCONSTRAINTS , ao analisar a precisão aprimorada e a lógica de conversão introduzidas com o nível de compatibilidade 130 para tipos de dados específicos, em um banco de dados com menor nível de compatibilidade. Para obter mais informações, consulte este artigo do suporte da Microsoft .
Nota: Esta trace flag se aplica ao SQL Server 2016 RTM CU3, SQL Server 2016 SP1 e versões superiores.
AVISO: A trace flag 139 não deve ser ativado continuamente em um ambiente de produção e deve ser usado com o único propósito de realizar verificações de validação de banco de dados descritas neste Artigo de suporte da Microsoft . Deve ser imediatamente desativado depois que as verificações de validação estiverem concluídas.
Âmbito : apenas global
Trace Flag: 144
Função: Forçar a contração do lado do servidor. Para aplicativos legados em que a mudança para o código do lado do cliente não é uma opção e quando a aplicação tem consultas inadequadamente parametrizadas, essa sinalização de rastreamento força a contração do lado do servidor.
Link: http://blogs.msdn.microsoft.com/sqlprogrammability/2007/01/13/6-0-best-programming-practices
Trace Flag: 146
Função: considere usar quando replayar contra o SQL 8.0, para evitar uma tentativa de configurar uma conexão criptografia.
Link: Nenhum
Sinalizador de rastreamento: 168
Função: Bugfix em ORDER BY
Link: http://support.microsoft.com/kb/926292
Sinalizador de rastreamento: 174
Função: Aumenta a contagem da bucket do plano de cache do banco de dados SQL Server de 40,009 para 160,001 em sistemas de 64 bits.
Nota: Certifique-se de testar completamente esta opção, antes de rolar para um ambiente de produção.
Link: https://support.microsoft.com/en-us/help/3026083/fix-sos-cachestore-spinlock-contention-on-ad-hoc-sql-server-plan-cache
Escopo: apenas global
Trace Flag: 176
Função: permite uma correção para endereçar erros ao reconstruir partições on-line para tabelas que contêm uma coluna de particionamento calculada.
Link: https://support.microsoft.com/en-us/help/3213683/fix-unable-to-rebuild-the-partition-online-for-a-table-that-contains-a
Âmbito: global ou sessão
Trace Flag: 204
Função: SQL 6.5 – Comutação de compatibilidade que habilita o comportamento padrão não-ansi. Por exemplo, anteriormente o servidor SQL ignorou os espaços em branco que se seguiram na instrução similar e as consultas permitidas que continham funções agregadas para ter itens na cláusula group by que não estavam na lista de seleção.
Link: https://support.microsoft.com/en-us/help/153096/fix-sql-server-6.5-service-pack-1-fixlist
Trace Flag: 205
Função: Relatórios para o registro de erros quando um procedimento armazenado dependente de estatísticas está sendo recompilado como resultado de estatísticas de atualização automática.
Link: https://support.microsoft.com/en-us/kb/195565
Link: Docs Trace Flags
Escopo: somente global
Trace Flag: 206
Função: SQL 6.5 – Fornece compatibilidade com versões anteriores para a declaração de usuário definida. KB 160732
Trace Flag: 208
Função: SET IDENTIFICADOR DE QUOTAS ON
Trace Flag: 210
Função: SQL 9 – Erro ao executar uma consulta em uma vista: “Ocorreu um erro ao executar o lote”
Link: https://support.microsoft.com/en-us/kb/945892
Trace Flag: 220
Função: “CORRECÇÃO: Mensagem de erro:” Informações de coluna de chave insuficientes para atualizar “Ocorre no SQL Server 2000 SP3”
Trace Flag: 221
Função: “CORRECÇÃO: a consulta é executada mais devagar do que você esperava quando você tenta analisar uma consulta no SQL Server 2000”
Trace Flag: 222
Função: “FIX: cada consulta leva muito tempo para compilar quando você executa uma única consulta ou quando você executa várias consultas simultâneas no SQL Server 2000”
Trace Flag: 237
Função: informa o SQL Server para usar sub-consultas correlacionadas no modo de compatibilidade com versões anteriores não-ANSI
Trace Flag: 242
Função: Fornece compatibilidade com versões anteriores para subconsultas correlacionadas onde os resultados padrão não-ANSI são desejados
Trace Flag: 243
Função: fornece compatibilidade com versões anteriores para o comportamento de nulidade. Quando configurado, o SQL Server tem o mesmo comportamento de violação de nulidade que o de um ver 4.2: O processamento de todo o lote é encerrado se o erro de nulidade (inserindo NULL em um campo NOT NULL) pode ser detectado no tempo de compilação; O processamento da linha ofensiva é ignorado, mas o comando continua se a violação de nulidade for detectada no tempo de execução. Comportamento do SQL Server agora é mais consistente porque as verificações de nulidade são feitas no tempo de execução e uma violação de nulidade resulta no término do comando e no lote ou processo de transação continuando.
Trace Flag: 244
Função: desativa a verificação de violações de restrições provisórias permitidas. Por padrão, o SQL Server verifica e permite violações de restrições provisórias. Uma violação de restrição provisória é causada por uma alteração que remove a violação de forma que a restrição seja atendida, tudo dentro de uma única declaração e transação. O SQL Server verifica as violações de restrição provisória para instruções DELETE de autenticação, INSERT e demonstrações UPDATE de várias linhas. Esta verificação exige mais tabelas de trabalho. Com este sinalizador de rastreamento, você pode desativar violações de restrições provisórias, exigindo assim menos tabelas de trabalho.
Trace Flag: 246
Função: as colunas Derived ou NULL devem ser explicitamente chamadas em uma … INTO ou criar uma declaração de visualização quando não for feita, eles levantam um erro. Esta flag evita isso.
Trace Flag: 253
Função: impede planos de consulta ad hoc para permanecer no cache
Link: http://www.sqlservercentral.com/Forums/Topic837613-146-1.aspx
Trace Flag: 257
Função: invocará um algoritmo de impressão na saída XML antes de retorná-lo para tornar o resultado XML mais legível
Trace Flag: 260
Função: imprime informações de versão sobre bibliotecas de vínculo dinâmico de procedimento armazenado estendido (DLLs). Para obter mais informações sobre GetXpVersion (), consulte Criando procedimentos estendidos estendidos .
Link: http://msdn.microsoft.com/en-us/library/ms164627.aspx
Link: Docs Trace Flags
Âmbito: global ou sessão
Trace Flag: 262
Função: SQL 7 – Os espaços de linha não são mais truncados de strings literais nas instruções CASE
Trace Flag: 272
Nota: Crítico apenas para o SQL Server 2012 Função: Desativando o cache de identidade. Ele evita a diferença de identidade após a reinicialização da instância do SQL Server 2012, crítica para colunas com identidade e tipos de dados smallint.
Link: http://www.big.info/2013/01/how-to-solve-sql-server-2012-identity.html
Link: https://connect.microsoft.com/SQLServer/feedback/details/739013 / failover-or-restart-results-in-reseed-of-identity
Link: https://dbafromthecold.com/2017/05/24/disabling-the-identity-cache-in-sql-server-2017/
Trace Flag: 274
Função: “CORRECÇÃO: mensagem de erro quando você insere uma nova linha em uma exibição no SQL Server 2005: Não é possível inserir o valor explícito da coluna de identidade na tabela quando IDENTITY_INSERT está configurado para OFF”
Trace Flag: 302
Função: Índice de saída Informações de seleção
Link: http://www.databasejournal.com/features/mssql/article.php/1443351/SQL-Server-65-Some-Useful-Trace-Flags.htm
Trace Flag: 310
Função: saídas informações sobre a ordem de junção real
Link: http://www.databasejournal.com/features/mssql/article.php/1443351/SQL-Server-65-Some-Useful-Trace-Flags.htm
Trace Flag: 320
Função: desativa as heurísticas de ordem de junção usadas nas junções ANSI. Para ver as heurísticas de ordem de junção, use a bandeira 310. O SQL Server usa heurísticas de ordem de junção para reduzir as permutações ao usar a melhor ordem de junção.
Trace Flag: 325
Função: imprime informações sobre o custo de usar um índice não agrupado ou um tipo para processar uma cláusula ORDER BY .
Trace Flag: 326
Função: imprime informações sobre custos de custos estimados e reais. Instrui o servidor a usar a média aritmética ao calcular a densidade ao invés de uma média ponderada geométrica ao atualizar as estatísticas. Útil para construir melhores estatísticas quando um índice se inclinar na coluna principal. Use apenas para atualizar as estatísticas de uma tabela / índice com dados desconhecidos.
Trace Flag: 330
Função: Permite a saída completa ao usar a opção SET SHOWPLAN_ALL, que fornece informações detalhadas sobre associações.
Trace Flag: 342
Função: desactiva o custo das junções de pseudo-fusão, reduzindo significativamente o tempo gasto na análise para determinados tipos de junções grandes e de várias tabelas. Também é possível usar SET FORCEPLAN ON para desativar o cálculo de custos das junções de mesclagem porque a consulta é forçada a usar a ordem especificada na cláusula FROM.
Trace Flag: 345
Função: altera a lógica de seleção de ordem de junção no SQL Server 6.5
Link: http://www.databasejournal.com/features/mssql/article.php/1443351/SQL-Server-65-Some-Useful-Trace-Flags.htm
Trace Flag: 445
Função: Imprime a mensagem “compilação emitida” no registro de erros para cada declaração compilada, quando usada em conjunto com 3605
Trace Flag: 506
Função: Aplica padrões SQL-92 em relação a valores nulos para comparações entre variáveis e parâmetros. Qualquer comparação de variáveis e parâmetros que contenham um NULL sempre resulta em um NULL.
Sinalizador de rastreamento: 610
Função: controla inserções minimamente logadas em tabelas indexadas.
Link: http://msdn.microsoft.com/en-us/library/dd425070%28v=SQL.100%29.aspx
Link: https://www.pythian.com/blog/minimally-logged-operations-data -loads /
Link: https://msdn.microsoft.com/library/dd425070.aspx
Link: Docs Trace Flags
Link: https://orderbyselectnull.com/2017/07/10/trace-flag-610-and-sql -server-2016 /
Escopo: global ou sessão
Trace Flag: 611
Função: SQL 9 – Quando ativada, cada escalonamento de trava é gravado no log de erros juntamente com o número do identificador do SQL Server. Aaron confirmou que isso ainda funciona no SQL 2014. Informações de saída do formulário: “Escalated locks – Reason: LOCK_THRESHOLD, Mode: S, Granularity: TABLE, Table: 222623836, HoBt: 150:256, HoBt Lock Count: 6248, Escalated Lock Count: 6249, Line Number: 1, Start Offset: 0, SQL Statement: select count(*) from dbo.BigTable”
Trace Flag: 617
Função: SQL 9 – Quando ativada, cada escalonamento de trava é gravado no log de erros juntamente com o número do identificador do SQL Server. Enquanto não houver pedidos de bloqueio SCH_M em espera na ‘lock wait list’, a ‘lock wait list’ será ignorada por instruções emitidas no nível de isolamento de transação de leitura não confirmado. Se houver uma solicitação de bloqueio SCH_M na “lock wait list”, uma consulta no nível de isolamento de transação de leitura não comprometida não irá ignorar a ‘lock wait list’, mas a solicitação de bloqueio SCH_S entrará na ‘lock wait list’. Por trás do bloqueio SCH_M esperando na mesma lista. Como resultado, a concessão do pedido SCH_S para tal consulta depende da concessão e liberação da solicitação de bloqueio SCH_M, que entram na “lock wait list” anteriormente.
Ligação:https://blogs.msdn.microsoft.com/saponsqlserver/2014/01/17/new-functionality-in-sql-server-2014-part-3-low-priority-wait/
Trace Flag: 634
Função: desativa a tarefa de compactação columnstore de background. O SQL Server executa periodicamente a tarefa de background que comprime os grupos de linhas do índice de armazenamento de colunas com dados não compactados, um desses grupos de linhas ao mesmo tempo. A compressão do Columnstore melhora o desempenho da consulta, mas também consome os recursos do sistema. Você pode controlar o tempo da compressão do columnstore manualmente, desativando a tarefa de compactação de background com o sinalizador de rastreamento 634 e, em seguida, invocando explicitamente ALTER INDEX REORGANIZE ou ALTER INDEX REBUILD no memento que você escolher.
Link: Niko Neugebauer Columnstore Indexes – parte 35
Link: Docs Trace Flags
Âmbito: apenas global
Trace Flag: 646
Função: serve para obter informações detalhadas sobre o qual o Columnstore foi eliminado pelo Query Optimiser diretamente no log de erros.
Link: Niko Neugebauer Columnstore Indexes – parte 35
Link: http://www.sqlskills.com/blogs/joe/exploring-columnstore-index-metadata-segment-distribution-and-elimination-behaviors
Trace Flag: 647
Função: evita uma verificação de dados do novo-em-SQL 2012 (feita ao adicionar uma coluna a uma tabela) que pode fazer com que ALTER TABLE … ADD operações demorem muito tempo. O KB possui uma consulta útil para determinar o tamanho da linha para uma tabela.
Link: https://support.microsoft.com/en-us/help/2986423/fix-it-takes-a-long-time-to-add-new-columns-toa-a-table-when-the- tamanho da linha excede o tamanho máximo permitido
Trace Flag: 652
Função: Desativar varreduras de pré-busca de página
Link: KB920093
Link: Docs Trace Flags
Escopo: somente global
Trace Flag: 653
Função: Desativa a leitura para a conexão atual
Link: None
Trace Flag: 661
Função: desativa o processo de remoção de gravação fantasma.
Link: KB920093
Link: Docs Trace Flags
Âmbito: apenas global
Trace Flag: 662
Função: imprime informações detalhadas sobre o trabalho feito pela tarefa de limpeza de fantasmas quando ele é executado em seguida. Use o TF 3605 para ver a saída no error log.
link de erros : http://blogs.msdn.com/b/sqljourney/archive/2012/07/28/-in-depth-look-at-ghost-records-in- sql-server.aspx
Trace Flag: 669
Função: “… impede consultas de usuários de filas de solicitações para o processo de limpeza de fantasmas”. Esta bandeira é uma solução alternativa para despejos de pilha que ocorrem logo após a inicialização do SQL Server, onde as consultas do usuário (as páginas da fila para a limpeza de fantasmas) estavam sendo executadas tão rapidamente após a inicialização do SQL que eles estavam fazendo filas de páginas antes que o processo de limpeza de fantasmas realmente tivesse sido inicializado.
Link: https://support.microsoft.com/en-us/help/3027860/error-17066-or-17310-during-sql-server-startup
Trace Flag: 683
Função: De acordo com o KB, usado para solucionar um bug no SQL 2000 SP3, retornando ao comportamento de varredura paralela pré-SP3 em consultas paralelas.
Trace Flag: 692
Função: Desativa as inserções rápidas enquanto o volume carrega dados no heap ou no índice agrupado. Iniciando o SQL Server 2016, as inserções rápidas são habilitadas por padrão, alavancando o log mínimo, quando o banco de dados está em modelo de recuperação simple ou full para otimizar o desempenho da inserção para os registros inseridos em novas páginas. Com inserções rápidas, cada lote de carga maior adquiri nova (s) extensão (s) ignorando a pesquisa de alocação para a extensão existente com o espaço livre disponível para otimizar o desempenho da inserção. Com inserções rápidas, as cargas a granel com pequenos tamanhos de lote podem levar ao aumento do espaço não utilizado consumido pelos objetos, portanto, é recomendável usar o tamanho do lote para cada lote para preencher a extensão completamente. Se o aumento do tamanho do lote não for viável, esse sinalizador de rastreamento pode ajudar a reduzir o espaço não utilizado reservado à custa do desempenho.
Nota: Este sinalizador de rastreamento se aplica ao SQL Server 2016 RTM e a versões mais altas. Link: https://blogs.msdn.microsoft.com/sql_server_team/sql-server-2016-minimal-logging-and-impact-of-the-batchsize-in-bulk-load-operations/
Escopo: global ou sessão
Trace Flag: 698
Função: SQL 9 – O desempenho das operações INSERT contra uma tabela com uma coluna de identidade pode ser lento quando comparado ao SQL 8
Link: None
Trace Flag: 699
Função: Desativar o log de transações para todo o servidor de dados SQL
Link: Nenhum
Trace Flag: 670, 671
Função: Desativa a desalocação diferida. Mas observe o comentário de Paul White na postagem! A flag # pode ser atualizada em 671.
Link: https://blogs.msdn.microsoft.com/psssql/2009/11/17/how-it-works-controlling-sql-server-memory-dumps/
Trace Flag: 715
Função: habilita o bloqueio da tabela para operações de carga em massa em uma pilha sem índices não agrupados. Quando este sinalizador de rastreamento está habilitado, as operações de carga em massa adquirem bloqueios de atualização a granel (BU) quando copiar dados em massa em uma tabela. Os bloqueios de atualização em massa (BU) permitem vários segmentos para carregar dados em massa simultaneamente na mesma tabela, enquanto evitam que outros processos que não sejam dados de carregamento em massa acessem a tabela. O comportamento é semelhante a quando o usuário especifica explicitamente a dica do TABLOCK ao executar o carregamento em massa, ou quando o bloqueio da tabela sp_tableoption na carga a granel está habilitado para uma determinada tabela. No entanto, quando esse sinalizador de rastreamento é habilitado, esse comportamento torna-se padrão sem qualquer consulta ou alterações no banco de dados.
Link: Docs Trace Flags
Âmbito: global ou sessão
Trace Flag: 806
Função: Ativar a funcionalidade Auditoria da página, para verificar a validade da página
Link: http://technet.microsoft.com/en-au/library/cc917726.aspx
Link: http://www.sqlskills.com/blogs/paul/how -to-tell-if-the-io-subsystem-is-causante-corruptions
Trace Flag: 809
Função: SQL 8 – Limita a quantidade de atividade de Lazy write
Link: Nenhum
Trace Flag: 815
Função: SQL 8/9 – Permite a execução do latch. O SQL Server 8 (com o service pack 4) e o SQL Server 9 podem executar a execução do latch para as páginas de dados encontradas no cache do pool de buffer. A aplicação do bloqueio muda o estado da proteção da memória virtual enquanto o estado da página do banco de dados muda de “limpar” para “sujo” (o “sujo” significa modificado através da operação INSERT, UPDATE ou DELETE). Se uma tentativa for feita para modificar uma página de dados enquanto a execução do latch estiver configurada, ela causa uma exceção e cria um mini-despejo no diretório LOG da instalação do SQL Server. O suporte da Microsoft pode examinar o conteúdo desse mini-despejo para determinar a causa da exceção. Para modificar a página de dados, a conexão deve primeiro adquirir uma trava de modificação. Uma vez que a trava de modificação de dados é adquirida, a proteção da página é alterada para leitura-escrita.
Link: https://technet.microsoft.com/en-us/library/cc966500.aspx
Link: https://blogs.msdn.microsoft.com/psssql/2012/11/12/how-can-reference-counting -be-a-leading-memory-scribbler-cause
Trace Flag: 818
Função: Ligue o ringbuffer para armazenar informações sobre as operações de gravação do IO. Usado para solucionar problemas de IO
Link: http://support.microsoft.com/kb/826433
Link: https://technet.microsoft.com/en-us/library/cc966500.aspx
Link: https://support.microsoft .com / en-us / help / 828339 / error-message-823-may-indic-hardware-problems-or-system-problems-in-sql-server
Trace Flag: 822
Função: uma solução alternativa para o SQL 2000 descarregar a memória da máquina
Link: Nenhum
Trace Flag: 825
Função: no SQL 2000, habilita o suporte ao pool de buffer para NUMA. TF 888 deve ser usado.
Link: Nenhum
Trace Flag: 828
Função: SQL 8 – Quando o ponto de verificação habilitado ignora o alvo do intervalo de recuperação e mantém uma E / S estável, de outra forma, ele usa a configuração do intervalo de recuperação como um alvo para o período de tempo que o ponto de verificação usará
Link: https://support.microsoft.com/en -gb / kb / 906121 Link: https://blogs.msdn.microsoft.com/psssql/2008/04/11/how-it-works-sql-server-checkpoint-flushcache-outstanding-io-target/
Trace Flag: 830
Função: SQL 9 – Desabilita o relatório de erros de Drift da CPU no log de erros do SQL Server, como o SQL Server encontrou 2 ocorrências de solicitações de E / S levando mais de 15 segundos para completar
Link: https://support.microsoft.com / en-us / kb / 897284
Link: https://technet.microsoft.com/en-us/library/aa175396(v=SQL.80).aspx
Trace Flag: 831
Função: Proteja páginas inalteradas no pool de buffer para capturar corrupções de memória
Trace Flag: 834
Função: usa alocações de grandes páginas do Microsoft Windows para o pool de buffer.
Nota: Se você estiver usando o recurso de índice Columnstore do SQL Server 2012 para o SQL Server 2016, não é recomendado ativar o sinalizador de rastreamento 834.
Link: https://support.microsoft.com/en-us/kb/920093
Link: https://support.microsoft.com/en-us/kb/3210239
Link: Docs Trace Flags
Scope: global only
Trace Flag: 835
Função: SQL 9/10 – No SQL Server de 64 bits, ele se desliga Bloquear páginas na memória
Link: Nenhum
Trace Flag: 836
Função: use a opção de máximo de memória do servidor para o pool de buffer
Link: KB920093
Link: https://blogs.msdn.microsoft.com/psssql/2012/12/11/how-it-works-sql-server-32-bit -pael-on-sql-2005-2008-e-2008-r2-não-usando-como-muito-ram-como-esperado /
Trace Flag: 839
Função: (aparentemente) força o SQL Server a processar toda a memória NUMA como “flat”, como se fosse SMP.
Link: https://blogs.msdn.microsoft.com/psssql/2010/04/02/how-it-works-soft-numa-io-completion-thread-lazy-writer-workers-and-memory-nodes
Trace Flag: 840
Função: SQL 9 – Quando o rastreamento é ativado, o SQL Server pode executar maiores leituras de E / S para preencher o pool de buffer quando o SQL Server começa a preencher o pool de buffer mais rápido. Além disso, a maior extensão de E / S lê melhora a compilação de consulta inicial e o tempo de resposta quando o SQL Server é iniciado.
Link: https://blogs.msdn.microsoft.com/ialonso/2011/12/09/the-read-ahead-that-doesnt-count-as-read-ahead
Trace Flag: 842
Função: Use sys.dm_os_memory_node_access_stats para verificar a memória local ou estrangeira sob configurações NUMA depois de ativar esta flag
Link: None
Trace Flag: 845
Função: Ativar páginas de bloqueio na memória no
link Standard Edition : https://support.microsoft.com/en-gb/kb/970070
Link: https://support.microsoft.com/en-us/help/2708594/fix – alocações de página fechada – são-habilitadas-sem-qualquer-aviso-depois-você-atualização para sql-server-2012
Trace Flag: 851
Função: De acordo com a conversa PASS 2014 de Bob Ward no SQL Server IO, “desabilite [s] BPE mesmo que seja ativado via ALTER SERVER”
Link: None
Trace Flag: 888
Função: permite o suporte para páginas bloqueadas para o SQL 2000
Link: None
Trace Flag: 902
Função: Ignora a execução do script de atualização do banco de dados ao instalar uma Atualização Cumulativa ou um Pacote de Serviço. Se você encontrar um erro durante o modo de atualização de script, é recomendável entrar em contato com o Serviço de Atendimento ao Cliente e Suporte Microsoft (CSS) para orientação adicional.
Aviso: Este sinalizador de rastreamento é destinado a solução de problemas de atualizações falhadas durante o modo de atualização de script e não é suportado para executá-lo continuamente em um ambiente de produção. Os scripts de atualização de banco de dados precisam ser executados com sucesso para uma instalação completa de Atualizações Cumulativas e Pacotes de Serviços. Não fazer isso pode causar problemas inesperados com sua instância do SQL Server.
Link: https://support.microsoft.com/pt-br/kb/2163980
Link: Docs Trace Flags
Link:https://blogs.msdn.microsoft.com/luti/2017/05/17/sql-server-offline-after-applying-service-pack/
Escopo: somente global
Trace Flag: 916
Função: O artigo KB faz referência ao sinalizador no contexto de ver um
link de despejo do Profiler : Nenhum
Trace Flag: 1106
Função: SQL 9 – O espaço usado no tempdb aumenta continuamente quando você executa uma consulta que cria objetos internos no tempdb
Link: https://support.microsoft.com/en-gb/kb/947204
Link: https: //blogs.msdn .microsoft.com / arvindsh / 2014/02/24 / tracking-tempdb-internal-object-space-use-in-sql-2012
Trace Flag: 1117
Função: Quando um arquivo no grupo de arquivos atende ao limite de crescimento automático, todos os arquivos no grupo de arquivos crescem.
Nota: Começando com o SQL Server 2016, este comportamento é controlado pela opção AUTOGROW_SINGLE_FILE e AUTOGROW_ALL_FILES de ALTER DATABASE e o sinalizador de rastreamento 1117 não tem nenhum efeito. Para obter mais informações, consulte ALTER DATABASE File and Filegroup Options (Transact-SQL).
Link: https://www.littlekendra.com/2017/01/03/parallelism-and-tempdb-data-file-usage-in-sql-server/
Link: SQL Server 2016: Obtendo o tempdb um pouco mais correto
Link: Docs Trace Flags
Link: http://www.sqlskills.com/blogs/paul/tempdb-configuration-survey-results-and-advice
Link:https://blogs.msdn.microsoft.com/ialonso/2011/12/01/attempt-to-grow-all-files-in-one-filegroup-and-not-just-the-one-next-in- the-autogrowth-chain-using-trace-flag-1117
Link: http://sql-articles.com/articles/general/day-6trace-flag-1117-auto-grow-equally-in-all-data-file
Link: http://www.ryanjadams.com/2017/05/trace-flag-1117-growth-contention/
Âmbito: apenas global
Trace Flag: 1118
Função: remove a maioria das alocações de página única no servidor, reduzindo a contenção na página do SGAM. Quando um novo objeto é criado, por padrão, as primeiras oito páginas são alocadas de diferentes extensões (extensões misturadas). Depois, quando são necessárias mais páginas, essas são alocadas da mesma extensão (extensão uniforme). A página SGAM é usada para rastrear essas extensões misturadas, portanto, pode rapidamente se tornar um gargalo quando ocorrem várias alocações de páginas misturadas. Este sinalizador de rastreamento aloca todas as oito páginas da mesma extensão ao criar novos objetos, minimizando a necessidade de digitalizar a página SGAM.
Nota: Começando com o SQL Server 2016, esse comportamento é controlado pela opção SET MIXED_PAGE_ALLOCATION de ALTER DATABASE e o sinalizador de rastreamento 1118 não tem nenhum efeito. Para obter mais informações, consulte as opções de ALTER DATABASE SET (Transact-SQL).
Link: http://blogs.msdn.com/b/psssql/archive/2008/12/17/sql-server-2005-and-2008-trace-flag-1118-t1118-usage.aspx
Link: http: / /www.sqlskills.com/blogs/paul/misconceptions-around-tf-1118/
Link: https://support.microsoft.com/en-us/kb/328551
Link: SQL Server 2016: Obtendo o tempdb um pouco mais certo
Link: Docs Trace Flags
Link: https://chrisadkin.org/2015/04/14/well-known-and-not-so-well-known-sql-server-tuning-knobs-and-switches
Âmbito: apenas global
Trace Flag: 1119
Função: Desliga a alocação de extensão mista (semelhante a 1118?)
Link: lista TECHNET de bandejas de rastreamento do servidor SQL
Trace Flag: 1124
Função: Desconhecido. Foi supostamente encontrado ativado em algumas instâncias do SQL Server que executam o Dynamics AX. Também rumores de serem inválidos nas compilações públicas do SQL Server
Trace Flag: 1140
Função: uma solução para um erro no SQL 2005 SP2, SP3 e SQL 2008, onde as alocações de mixed-page escalam continuamente, devido a uma mudança na forma como as alocações de mixed-page são feitas.
Trace Flag: 1165
Função: Esta apresentação de Bob Ward diz que este TF produz os #ss recalculadas (cada 8192 alocações) para o algoritmo de preenchimento proporcional na alocação de banco de dados quando vários arquivos estão presentes.
Trace Flag: 1180
Função: SQL 7 – Força alocação para usar páginas gratuitas para dados de texto ou imagem e manter a eficiência do armazenamento. Útil no caso de os comandos DBCC SHRINKFILE e SHRINKDATABASE não funcionarem devido às colunas de texto, ntext ou de imagem escassamente preenchidas.
Trace Flag: 1197
Função: Aplica-se apenas no caso do SQL 7 – SP3, semelhante ao sinalizador de rastreio 1180
Trace Flag: 1200
Função: imprime informações detalhadas de bloqueio à medida que todas as solicitações de um bloqueio são feitas (o ID do processo eo tipo de bloqueio solicitado)
Link: Lista TECHNET do link do SQL Server Trace Flags
: https://blogs.msdn.microsoft.com/sqlserverstorageengine/2008 / 03/30 / tempdb-table-variable-vs-local-temporária-tabela
Link: https://support.microsoft.com/en-us/help/169960/inf-analyzing-and-avoiding-deadlocks-in- servidor SQL
Trace Flag: 1202
Função: Insira solicitações de bloqueio bloqueado em syslocks
Trace Flag: 1204
Função: retorna os recursos e os tipos de bloqueios que participam de um impasse e também o comando atual afetado.
Link: https://support.microsoft.com/en-us/kb/832524
Link: Docs Trace Flags
Escopo: somente global
Trace Flag: 1205
Função: informações mais detalhadas sobre o comando que está sendo executado no memento de um impasse. Documentado em SQL 7 BOL.
Link: https://support.microsoft.com/en-us/help/832524/sql-server-technical-bulletin—how-to-resolve-a-deadlock
Trace Flag: 1206
Função: usado para complementar a flag 1204, exibindo outros bloqueios mantidos por partes do impasse
Link: https://support.microsoft.com/en-us/help/169960/inf-analyzing-and-avoiding-deadlocks-in-sql-server
Trace Flag: 1208
Função: KB: “Imprime o nome do host e o nome do programa fornecidos pelo cliente. Isso pode ajudar a identificar um cliente envolvido em um impasse, assumindo que o cliente especifica um valor exclusivo para cada conexão. ”
Link: https://support.microsoft.com/en-us/help/169960/inf-analyzing-and-avoiding -deadlock-in-sql-server
Trace Flag: 1211
Função: Desativa a escalação de bloqueio com base na pressão da memória ou com base no número de bloqueios. O mecanismo de banco de dados do SQL Server não escalara os bloqueios de linha ou página para bloqueios de tabela. O uso desse sinalizador de rastreamento pode gerar números excessivos de bloqueios. Isso pode diminuir o desempenho do mecanismo de banco de dados, ou causar 1204 erros (incapaz de alocar recurso de bloqueio) devido à memória insuficiente. Se o sinalizador de rastreamento 1211 e 1224 estiverem configurados, 1211 tem precedência sobre 1224. No entanto, como o sinalizador de rastreamento 1211 impede a escalação em todos os casos, mesmo sob pressão de memória, recomendamos que você use 1224. Isso ajuda a evitar “fora de bloqueios” erros quando muitos bloqueios estão sendo usados.
Link: Docs Trace Flags
Link: http://www.sqlskills.com/blogs/paul/a-sql-server-dba-myth-a-day-2330-lock-escalation
Âmbito: global ou sessão
Trace Flag: 1216
Função: SQL 7 – Desativa relatório de saúde. Bloquear monitor quando detectar um cenário de bloqueio de nível de recurso (thread de trabalho). Se um SPID que possui um bloqueio está atualmente colocado em cola no agendador, porque todos os segmentos de trabalho atribuídos foram criados e todos os segmentos de trabalho atribuídos estão em um estado de espera não resolvível, a seguinte mensagem de erro é gravada no log de erro do SQL Server : Erro 1223: ID do processo% d:% d não pode adquirir o bloqueio “% s” no recurso% s porque existe um bloqueio potencial no Agendador% d para o recurso. ID do processo% d:% d contém um bloqueio “% h” neste recurso.
Link: Nenhum
Trace Flag: 1217
Função: desativa (para 7.0) as mensagens de relatório “UMS Health” descritas no artigo KB.
Trace Flag: 1222
Função: Retorna os recursos e os tipos de bloqueios que participam de um impasse e também o comando atual afetado, em um formato XML que não está em conformidade com nenhum esquema XSD.
Link: Docs Trace Flags
Link: https://blog.sqlauthority.com/2017/01/09/sql-server-get-historical-deadlock-information-system-health-extended-events
Escopo: global apenas
Trace Flag: 1224
Função: desativa a escalação de bloqueio com base no número de bloqueios. No entanto, a pressão da memória ainda pode ativar a escalação do bloqueio. O mecanismo de banco de dados escalar bloqueios de linha ou página para bloquear (ou partição) bloqueios se a quantidade de memória usada por objetos de bloqueio exceder uma das seguintes condições:
- Quarenta por cento da memória usada pelo mecanismo de banco de dados. Isso é aplicável apenas quando o parâmetro de bloqueio de sp_configure está definido como 0.
- Quarenta por cento da memória de bloqueio que é configurada usando o parâmetro de bloqueio de sp_configure.
Para obter mais informações, consulte Opções de Configuração do Servidor (SQL Server) . Se o sinalizador de rastreamento 1211 e 1224 estiverem configurados, 1211 tem precedência sobre 1224. No entanto, como o sinalizador de rastreamento 1211 impede a escalação em todos os casos, mesmo sob pressão de memória, recomendamos que você use 1224. Isso ajuda a evitar “out-of-locks” erros quando muitos bloqueios estão sendo usados.
Nota: A escalação de bloqueio para a granularidade de nível de tabela ou HoBT também pode ser controlada usando a opção LOCK_ESCALATION da instrução ALTER TABLE.
Link: Docs Trace Flags
Âmbito: global ou sessão
Trace Flag: 1228
Função: Ativar partição de bloqueio. Por padrão, o particionamento de bloqueio é ativado quando um servidor possui 16 ou mais CPUs. Caso contrário, o particionamento de bloqueio está desativado. O sinalizador de rastreamento 1228 permite o particionamento de bloqueio para 2 ou mais CPUs. O sinalizador de rastreamento 1229 desativa o particionamento de bloqueio. O sinalizador de rastreio 1229 substitui o sinalizador de rastreamento 1228 se o sinalizador de rastreio 1228 também estiver definido. O particionamento de bloqueio é útil em servidores de várias CPU, onde algumas tabelas possuem taxas de bloqueio muito altas. Você pode ativar o sinalizador de rastreamento 1228 e sinalizar o indicador 1229 apenas na inicialização.
Link: Trace Flag 1228 e 1229
Link: Microsoft SQL Server 2005 TPC-C Trace Flags
Trace Flag: 1229
Função: Ativar partição de bloqueio. Por padrão, o particionamento de bloqueio é ativado quando um servidor possui 16 ou mais CPUs. Caso contrário, o particionamento de bloqueio está desativado. O sinalizador de rastreamento 1228 permite o particionamento de bloqueio para 2 ou mais CPUs. O sinalizador de rastreamento 1229 desativa o particionamento de bloqueio. O sinalizador de rastreio 1229 substitui o sinalizador de rastreamento 1228 se o sinalizador de rastreio 1228 também estiver definido. O particionamento de bloqueio é útil em servidores de várias CPU, onde algumas tabelas possuem taxas de bloqueio muito altas. Você pode ativar o sinalizador de rastreamento 1228 e sinalizar o indicador 1229 apenas na inicialização.
Link: Trace Flag 1228 e 1229
Link: Microsoft SQL Server 2005 TPC-C Trace Flags
Trace Flag: 1236
Função: permite o particionamento do banco de dados. Corrige o problema de desempenho em cenários com alta atividade de bloqueio no SQL 2012 e SQL 2014.
Nota: Começando com o SQL Server 2012 SP3 e o SQL Server 2014 SP1, esse comportamento é controlado pelo mecanismo e o sinalizador de rastreamento 1236 não tem efeito.
Link: https://support.microsoft.com/en-us/kb/2926217
Link: Docs Trace Flags
Escopo: global apenas
Trace Flag: 1237
Função: Permite que a ALTER PARTITION FUNCTION
declaração atenda a prioridade atual do bloqueio da sessão definida pelo usuário em vez de ser a vítima fatal do impasse por padrão.
Nota: Começando com o SQL Server 2017 e o nível de compatibilidade do banco de dados 140, esse é o comportamento padrão eo sinalizador de rastreamento 1237 não tem efeito. Link: http://support.microsoft.com/help/4025261
Link: Docs Trace Flags
Scope: global ou sessão ou consulta
Trace Flag: 1260
Função: mini-despejo desabilitado para condição de não produtividade. Desabilita a geração de mini-despejo para “qualquer um dos erros 17883, 17884, 17887 ou 17888. O sinalizador de rastreamento pode ser usado em conjunto com o sinalizador de rastreamento -T1262. Por exemplo, você pode habilitar -T1262 para obter 10 e 60- Relatórios de segundo intervalo e também habilitar – T1260 para evitar obter mini-despejos. ”
Link: Uma coleção tópica do SQL Server Flags v6
Link: Como diagnosticar e corrigir erros 17883, 17884, 17887 e 17888
Link: Docs Trace Flags
Âmbito: apenas global
Trace Flag: 1261
Função: SQL 8 – Desativa relatórios de saúde. Bloquear monitor quando detectar um cenário de bloqueio de nível de recurso (thread de trabalho). Se um SPID que possui um bloqueio está atualmente colocado em fila no agendador, porque todos os segmentos de trabalho atribuídos foram criados e todos os segmentos de trabalho atribuídos estão em um estado de espera não resolvível, a seguinte mensagem de erro é gravada no log de erro do SQL Server : Erro 1229: ID do processo% d:% d possui recursos que estão bloqueando processos no agendador% d.
Link: Nenhum
Trace Flag: 1262
Função: o comportamento padrão (para 1788 * erros) é para o SQL gerar um mini-despejo na primeira ocorrência, mas nunca depois. 1262 altera o comportamento: “Quando -T1262 está habilitado, um mini-despejo é gerado quando a condição não-cedente é declarada (15 segundos) e em intervalos subsequentes de 60 segundos para a mesma ocorrência sem rendimento. Um novo nãoDiagCorrect17883etc; A ocorrência de rendimento faz com que as capturas de despejo ocorram novamente. “No SQL 2000, essa era uma bandeira somente de inicialização; em 2005+ pode ser ativado via TRACEON. Observe que a bandeira também está coberta no Khen2005, p400, mas sem novas informações.
Link: Uma coleção tópica do SQL Server Flags v6
Link: Como diagnosticar e corrigir erros 17883, 17884, 17887 e 17888
Trace Flag: 1264
Função: Recolher nomes de processos em despejos de memória de cenário sem rendimento
Link: Uma coleção tópica do SQL Server Flags v6
Link: http://support.microsoft.com/kb/2630458/en-us
Continue ….
Deixe um comentário