Definindo sinalizadores de rastreamento “permanentemente” no SQL Server?

23

Precisamos usar o Sinalizador de rastreamento do SQL Server 7646 para ajudar a atenuar alguns bloqueios de texto completo, mas fiquei desanimada ao descobrir que o sinalizador de rastreamento "se desfaz", provavelmente quando o servidor de banco de dados foi reinicializado.

Eu usei

DBCC TRACEON (7646, -1)

para definir o sinalizador de traço e

DBCC TRACESTATUS

para mostrar todos os sinalizadores de rastreamento, que me disseram que não estava definido (após a reinicialização, eu acho). Para definir o sinalizador de rastreamento permanentemente, fiz isso:

  • foi para o SQL Server Configuration Manager
  • propriedades visualizadas para o serviço do SQL Server
  • visitou a guia Avançado
  • editou a opção Parâmetros de inicialização

e adicionado

;-T{tracenumber}

até o final, assim ...

-dD:\MSSQL10.MSSQLSERVER\MSSQL\DATA\master.mdf;-eD:\MSSQL10.MSSQLSERVER\MSSQL\Log\ERRORLOG;-lD:\MSSQL10.MSSQLSERVER\MSSQL\DATA\mastlog.ldf;-T7646

Issoestácorreto?Estouencontrandoresultadosconflitantesna sintaxe dos parâmetros de inicialização do SQL Server .

    
por Jeff Atwood 29.07.2009 / 00:42

2 respostas

14

Sim, isso vai fazer isso por você. Usando o parâmetro de inicialização -T {traceflag}, isto é.

    
por 29.07.2009 / 01:20
11

Algo que aprendi da maneira mais difícil é que você precisa ter ponto e vírgula antes de cada sinalizador de traço. Por exemplo, se você estivesse ativando o registro de informações de deadlock no arquivo, seu exemplo se tornaria ...

-dD:\MSSQL10.MSSQLSERVER\MSSQL\DATA\master.mdf;-
eD:\MSSQL10.MSSQLSERVER\MSSQL\Log\ERRORLOG;-
lD:\MSSQL10.MSSQLSERVER\MSSQL\DATA\mastlog.l
df;-T7646;-T3605;-T1204;-T1222

Os espaços entre os sinalizadores de rastreamento fazem com que os sinalizadores posteriores sejam ignorados.

    
por 01.05.2012 / 18:02