quinta-feira, 10 de fevereiro de 2022

SQL Server Trace Flags – sinalizadores de rastreamento


    Sinalizadores de rastreamento são usados para alterar as características do servidor específico ou para alterar um comportamento em particular. São configurações que não existem de formas nativas (default) em uma instancia SQL Server.

A maioria dos trace flags não estão documentados pela Microsoft, então não temos suporte e devemos ter muito cuidado para usa-las. Então, por que alguém iria utiliza-las? 

Sinalizadores de rastreamento são usados com frequência para diagnosticar problemas de desempenho ou depurar procedimentos armazenados ou sistemas de computador complexos, mas também podem ser recomendados pelo Suporte da Microsoft para lidar com comportamento que esteja prejudicando uma carga de trabalho específica.

No SQL Server, há três escopos em que os sinalizadores de rastreamento podem funcionar: consulta, sessão e global. Os sinalizadores de rastreamento de consulta ficam ativos para o contexto de uma consulta específica. Os sinalizadores de rastreamento de sessão ficam ativos para uma conexão e são visíveis apenas para essa conexão. Sinalizadores de rastreamento globais são definidos no nível do servidor e são visíveis em todas as conexões no servidor. Alguns sinalizadores podem ser ativados somente como global e outros podem ser ativados no escopo global ou de sessão.

Os sinalizadores de rastreamento podem ter considerações adicionais sobre seu uso específico, portanto, é aconselhável examinar cuidadosamente todas as recomendações de apresentadas aqui e/ou por seu engenheiro de suporte. Além disso, assim como acontece com qualquer alteração de configuração no SQL Server, sempre é melhor testar minuciosamente o sinalizador em um ambiente de não produção antes de implantar.

As seguintes regras se aplicam:

Um sinalizador de rastreamento global deve ser habilitado globalmente. Caso contrário, ele não terá nenhum efeito. Recomendamos que você habilite os sinalizadores de rastreamento globais na inicialização usando a opção -T da linha de comando. Isso garante que o sinalizador de rastreamento permaneça ativo após o reinício do servidor. Reinicie o SQL Server para que o sinalizador de rastreamento entre em vigor.

Se um sinalizador de rastreamento tiver um escopo global, de sessão ou de consulta, ele poderá ser habilitado com o escopo apropriado. Um sinalizador de rastreamento habilitado no nível de sessão nunca afeta outra sessão, e seu efeito se perde quando a SPID que abriu a sessão faz logoff.

Como ligar uma trace flag global:

1
DBCC TRACEON (1222, -1)

Como desligar uma trace flag global:

1
DBCC TRACEOFF (1222, -1)


Precisa conferir quais trace flags estão ativas no seu SQL Server?

Execute a consulta abaixo na sua instância de SQL Server:


DBCC TRACESTATUS()


Confira os principais flag's de performance:

SQL Server Trace Flags – Principais Flag's De Performance

Nenhum comentário:

Postar um comentário