Установка флагов трассировки «Постоянно» в SQL Server?

25

Нам нужно использовать SQL Server Trace Flag 7646, чтобы помочь смягчить некоторые полнотекстовые блокировки, но я был встревожен, обнаружив, что флаг трассировки сам «сбрасывается», возможно, при перезагрузке сервера базы данных.

Я использовал

DBCC TRACEON (7646, -1)

установить флаг трассировки и

DBCC TRACESTATUS

чтобы показать все флаги трассировки, которые сказали мне, что он не был установлен (после перезагрузки, я думаю). Чтобы установить флаг трассировки постоянно, я сделал это:

  • пошел в диспетчер конфигурации SQL Server
  • просмотренные свойства для службы SQL Server
  • посетил вкладку "Дополнительно"
  • отредактировал опцию параметров запуска

и добавил

; -T {tracenumber}

до конца, вот так ...

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

Это верно? Я нахожу противоречивые результаты по синтаксису для параметров запуска SQL Server .

Джефф Этвуд
источник
К вашему сведению: здесь есть статья о том, как установить параметры запуска через T-SQL: sqlservercentral.com/articles/Automation/105511
JohnLBevan
пс. В соответствии с вышесказанным, следующий SQL даст вам соответствующие пути реестра и текущие значения для вашего экземпляра:select * from sys.dm_server_registry where value_name like 'SQLArg%'
JohnLBevan

Ответы:

15

Да, это будет делать это для вас. Используя параметр запуска -T {traceflag}, то есть.

squillman
источник
11

Трудным путем я научился тому, что перед каждым флагом трассировки нужно ставить точки с запятой. Например, если вы включили запись информации о взаимоблокировке в файл, ваш пример станет ...

-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

Пробелы между флагами трассировки приводят к игнорированию более поздних флагов.

GaTechThomas
источник