Definir sinalizadores de rastreamento "permanentemente" no SQL Server?

25

Precisamos usar o Sinalizador de Rastreamento do SQL Server 7646 para ajudar a mitigar alguns bloqueios de texto completo, mas fiquei desanimado ao descobrir que o sinalizador de rastreio "foi desativado", provavelmente quando o servidor de banco de dados foi reiniciado.

Eu usei

DBCC TRACEON (7646, -1)

para definir o sinalizador de rastreamento e

DBCC TRACESTATUS

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

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

e acrescentou

; -T {tracenumber}

até o fim, assim ...

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

Isso está correto? Estou encontrando resultados conflitantes na sintaxe dos parâmetros de inicialização do SQL Server .

Jeff Atwood
fonte
FYI: Há um artigo aqui sobre como configurar os parâmetros de arranque através da T-SQL: sqlservercentral.com/articles/Automation/105511
JohnLBevan
ps. Por acima, o seguinte SQL vai dar-lhe os caminhos do Registro relevantes e valores atuais para a instância:select * from sys.dm_server_registry where value_name like 'SQLArg%'
JohnLBevan

Respostas:

15

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

squillman
fonte
11

Algo que aprendi da maneira mais difícil é que você precisa ter ponto e vírgula antes de cada sinalizador de rastreamento. Por exemplo, se você estivesse ativando o log de informações de conflito para arquivar, 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.

GaTechThomas
fonte