跟踪标记:1117 功能: 默认,同一个文件组下的多个文件,如果某个文件没有可用空间,且设置了自动增长,则该文件自动增长,其他文件大小保持不变: 开启后,同一文件组下的多个文件,如果某个文件没有可用空间,且设置了自动增长,文件组下所有文件同时增长,每个文件涨幅取决于自身filegrowth设置: 用途: 主要用于tempdb性能的优化,解释如下: 通常tempdb被配置为primary文件组下包含多个等大的数据文件,以最大化使用CPU,并且能有效减少对于PFS, SGAM, GAM的竞争(lat…
一. 什么是跟踪标记 SQL Server 跟踪标记(Trace Flag),像是一个开关,可用来自定义SQL Server的某种行为或特性,在性能诊断,系统调试等方面较为常用.比如:开启1204或1222跟踪标记,可在errorlog里记录死锁信息的明细. 跟踪标记有会话级和实例级两种. 二. 如何开启跟踪标记 1. 在SQL Server 服务启动时开启 SQL Server服务从类似如下路径启动程序: C:\Program Files\Microsoft SQL Server\MSSQL1…
跟踪标记:610 功能: 用批量导入操作(Bulk Import Operations)加载数据时,对于索引组织表(即有聚集索引的表) 最小化日志: 上图为simple/bulk-logged恢复模式下,最小化日志的几种操作,其中包含了批量导入操作,而批量导入操作的最小化日志有一些前提条件,概括如下: 1. 目标表未用于复制: 2. 目标表上指定了TABLOCK: 3. 目标表上的索引情况,这条规则最复杂,见下表: 从表格可以看出: (1) 堆表的数据页一直可以最小化日志: (2) 聚集索引和非…
跟踪标记:834 功能: 在64位的windows环境下,为SQL Server开启这个跟踪标记,那么SQL Server 会使用大页(Large pages)为内存缓冲区(buffer pool)分配内存,从而可以提高CPU转换检测缓冲区(TLB: Translation Lookaside Buffer)的效率得以提升性能: 大页(Large Pages): 正常情况下windows内存是4KB的页,而大页的最小空间是2MB,也就是说分配的时候可能大于2MB: 转换检测缓冲区(TLB: Tr…
跟踪标记:1204/1222 功能及用途: 捕获SQL Server死锁信息,并自动存放到错误日志(ERRORLOG)中. 举例: USE tempdb GO CREATE TABLE t1(id int) CREATE TABLE t2(id int) GO --开启1204/1222跟踪标记(任何查询窗口) ,) --DBCC TRACEON(1205,3605,-1) --DBCC TRACEON(1206,3605,-1) --DBCC TRACEON(1222,-1) GO --查询窗…
跟踪标记:3604 功能: 输出DBCC命令返回结果到查询窗口(通常是SSMS窗口),类似print命令的显示效果: 用途: 常用于获取DBCC IND, DBCC PAGE命令的输出结果,因为这2个命令默认不输出任何结果. 举例: USE master GO --开启跟踪标记 3604 ) --查看页:(1,1,10) dbid 1(master), file id 1, page 10 ,,) --关闭跟踪标记 3604 ) --无法查看页:(1,1,10) dbid 1(master),…
关键字:跟踪标记,跟踪 [1]常规dbcc命令 dbcc help('?') --查看dbcc 所有命令,常规下只有32个常用的dbcc TRACEON(2588) --指定了2588标记的话,你就可以看到未公开的dbcc命令了,同时你也可以看到各种命令参数的提示了.很多dbcc命令需要开启它才能使用,比如ind,page等dbcc help('checkdb') --帮助命令,使用其来查看命令用法,开启了上面的2588就可以用ind(查看堆表/索引组织表的数据也信息)了dbcc TRACEON…
跟踪标记是什么? 对于DBA来说,掌握Trace Flag是一个成为SQL Server高手的必要条件之一,在大多数情况下,Trace Flag只是一个剑走偏锋的奇招,不必要,但在很多情况下,会使用这些标记可以让你更好的控制SQL Server的行为. 下面是官方对于Trace Flag的标记: 跟踪标记是一个标记,用于启用或禁用SQL Server的某些行为. 由上面的定义不难看出,Trace Flag是一种用来控制SQL Server的行为的方式.很多DBA对Trace Flag都存在一些误…
使用DBCC TRACEON 和DBCC TRACEOFF来打开和关闭跟踪标记 使用DBCC TRACESTATUS来查看所有打开的跟踪标记 --260:打印关于扩展存储过程动态链接库的版本信息 --444:停止auto-parameterization --1200:输出锁信息 --1204:传回参与死锁的SQL SERVER相关程序之运行数据 --1211:停止lock escalation(锁升级) --1252:显示动态选择锁的相关信息 --2528:通过 DBCC CHECKDB.DB…
前言 一提到跟踪俩字,很多人想到警匪片中的场景,同样在我们的SQL Server数据库中“跟踪”也是无处不在的,如果我们利用好了跟踪技巧,就可以针对某些特定的场景做定向分析,找出充足的证据来破案. 简单的举几个应用场景: 在线生产库为何突然宕机?数百张数据表为何不翼而飞?刚打好补丁的系统为何屡遭黑手?新添加的信息表为何频频丢失?某张表字段的突然更改,究竟为何人所为?这些个匿名的访问背后,究竟是人是鬼?突然增加的增量数据,究竟是对是错?数百兆的日志爆炸式的增长背后又隐藏着什么?这一且的背后,是应用…