在SQL Server中“永久”设置跟踪标志?


25

我们需要使用SQL Server跟踪标志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

ps。根据以上所述,以下SQL将为您提供实例的相关注册表路径和当前值:select * from sys.dm_server_registry where value_name like 'SQLArg%'
JohnLBevan 2016年

Answers:


15

是的,这将为您做。即使用-T {traceflag}启动参数。


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

跟踪标志之间的空格会使后面的标志被忽略。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.