DBA应该知道的一些关于SQL Server跟踪标记的使用
SQL Server 提供了一些跟踪标记(Trace Flag),可以用来开启或关闭某些功能或调整某些设置。这些标记有时候非常有用,可以解决某些问题或提高某些性能。本文将讲解一些 DBA 应该知道的有关跟踪标记的使用。
开启跟踪标记的常用方法
开启跟踪标记有多种方法,这里仅介绍两种最常用的方法:在命令行启动 SQL Server 或使用 T-SQL 命令。
命令行启动 SQL Server
如果使用命令行启动 SQL Server,可以在命令后面指定跟踪标记。例如,在启动 SQL Server 的语句中加上跟踪标记 -T3608,表示不启动 SQL Server 中的所有用户数据库,只启动系统数据库。命令如下:
sqlservr.exe -T3608
使用 T-SQL 命令
如果 SQL Server 已经启动,可以使用下面的命令启用跟踪标记:
DBCC TRACEON (3608)
如果只是需要暂时启用一次跟踪标记,那么可以在命令后面指定跟踪标记的生存周期(Scope),例如以下语句表示只在当前连接中有效:
DBCC TRACEON (3608, -1)
常用跟踪标记
下面列出了一些常用的跟踪标记,这些跟踪标记可以帮助 DBA 诊断问题或优化性能。
1. -T902 - 设置锁超时时间
在并发环境中,锁定资源时必须加锁,如果加锁时间太长,就会对系统性能产生负面影响。-T902 跟踪标记可以设置锁超时时间,从而避免锁定时间过长的问题。例如,命令如下:
DBCC TRACEON (902, -1)
2. -T1117/-T1118 - 设置文件组或数据文件级别的分配
在 SQL Server 中,由于不同表的不同页可以被存储在不同数据文件或文件组中,加强对空间的掌控是优化性能的重要机会。-T1117 和 -T1118 两个标记可以在数据文件或文件组级别自动增长或预先分配空间,在高写入负载下降低争用。例如,在新建一个数据库时,可以启用 -T1117 和 -T1118:
CREATE DATABASE TESTDB ON (FILENAME = 'c:\data\testdb.mdf') LOG ON (FILENAME = 'c:\data\testdb.ldf') WITH FILEGROWTH=50MB, MAXSIZE=500MB
注意:在 SQL Server 2016 及以后,-T1117 跟踪标记的功能已经被默认启用了。
总结
DBA 应该了解常用的 SQL Server 跟踪标记的使用,这些标记可以帮助 DBA 对 SQL Server 进行优化和故障排除。在使用跟踪标记时,应该注意不要滥用,要根据具体问题进行使用,以免引起其他问题。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:DBA应该知道的一些关于SQL Server跟踪标记的使用 - Python技术站