DBA应该知道的一些关于SQL Server跟踪标记的使用

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技术站

(0)
上一篇 2023年5月21日
下一篇 2023年5月21日

相关文章

  • 只有移动开发者才能拯救传统ISV、SI企业?

    只有移动开发者才能拯救传统ISV、SI企业 为什么移动开发者能拯救传统ISV、SI企业? 在当前移动互联网兴起和数字化转型的背景下,越来越多的企业重视移动化发展和互联网化思维,而这些变革需要移动开发者的支持和帮助。传统ISV(Independent Software Vendor,独立软件开发商)和SI(System Integrator,系统集成商)企业也…

    database 2023年5月21日
    00
  • SQL语句练习实例之三——平均销售等待时间

    这里是SQL语句练习实例之三——平均销售等待时间的完整攻略。 问题描述 假设我们有一个销售系统,里面有两张表: sales 表,包含销售的信息,包括销售的时间、销售员和销售的数量等; salesman 表,包含销售员的信息,包括销售员的编号和姓名等。 现在需要我们统计每个销售员的平均销售等待时间,即从销售员服务的第一个客户进入销售系统开始计算,到最后一个客户…

    database 2023年5月21日
    00
  • go xorm框架的使用

    Go Xorm是一款Go语言的ORM框架,它提供了对数据库的增删改查操作,支持多种数据库,包括MySQL、PostgreSQL、SQLite、Oracle等等。使用Go Xorm可以极大地简化数据库的操作,提高开发效率。 下面是Go Xorm框架的使用攻略: 安装Go Xorm并创建数据库连接 要安装Go Xorm,可以在终端中执行以下命令: go get …

    database 2023年5月21日
    00
  • mysql执行时间为负数的原因分析

    以下是详细讲解“mysql执行时间为负数的原因分析”的完整攻略: 什么是mysql执行时间? 在MySQL中,执行时间指的是查询或者其他数据库操作所花费的时间。MySQL会记录每个执行操作所花费的时间,并在查询日志中输出。 什么情况下mysql执行时间会为负数? 在一些情况下,MySQL的执行时间可能会显示为负数,这种情况往往会造成困扰。但实际上,这些负数时…

    database 2023年5月22日
    00
  • Centos7下安装MySQL8.0.23的步骤(小白入门级别)

    下面是Centos7下安装MySQL8.0.23的步骤(小白入门级别)的完整攻略: 1. 安装MySQL8.0.23所需的依赖库 在Centos7下安装MySQL8.0.23之前,需要先安装MySQL的依赖库。 sudo yum install -y wget sudo yum install -y curl sudo yum install -y open…

    database 2023年5月22日
    00
  • mysql实现按照某个时间段分组统计

    让我来为您详细讲解“mysql实现按照某个时间段分组统计”的完整攻略。 一、按天分组统计 1. 创建测试表格 首先,我们需要创建一张测试用的表格。下面是创建表格的 SQL 语句: CREATE TABLE test ( id int(11) NOT NULL AUTO_INCREMENT, time datetime DEFAULT NULL, count …

    database 2023年5月22日
    00
  • Oracle时间日期操作方法小结

    Oracle时间日期操作方法小结 介绍 在Oracle数据库中,时间日期是常用的数据类型之一,因此对其进行操作和处理是必要的。本文将对Oracle的时间日期操作进行小结,包括常用函数和示例说明。 常用函数 SYSDATE SYSDATE函数返回当前系统时间,以日期时间格式显示。 示例:获取当前的日期和时间 SELECT SYSDATE FROM DUAL; …

    database 2023年5月21日
    00
  • MySQL备份

    备份单个数据库   MySQL数据库自带一个很好的备份命令,就是mysqldump。   基本语法:mysqldump -u 用户名 -p 数据库名 > 备份的文件名  示例 1  备份一个库 [root@localhost ~]# mysql -uroot -p123456 -S /tmp/mysql_3306.sock mysql> show…

    MySQL 2023年4月16日
    00
合作推广
合作推广
分享本页
返回顶部