zoukankan      html  css  js  c++  java
  • SQL SERVER-跟踪标记

    控制跟踪标记

    方法一:通过以下三个命令

    • DBCC TRACEON(2203,-1) --开启跟踪

    • DBCC TRACEOFF(2203,1) --关闭跟踪

    • DBCC TRACESTATUS --查看跟踪标记的状态

    其中,TRACEON和TRACEOFF第二个参数代表启用标志的范围,1是Session Scope,-1是Global Scope,如果不指定该值,则保持默认值Session Scope。
    另外,如果你希望在每次SQL Server服务启动时通过DBCC命令控制某些Flag,则使用,这个存储过程来指定,sp_procoption存储过程会在SQL Server服务器启动时自动执行。
    EXEC sp_procoption @ProcName = '' , @OptionName = ] 'startup' , @OptionValue = 'on';
    最后请注意,不是所有的跟踪标记都可以用DBCC命令启动,比如Flag 835就只能通过启动参数指定。

    方法二:通过在SQL Server配置管理器中指定

    这种方式是通过在数据库引擎启动项里加启动参数设置,只有Global Scope。格式为-T#跟踪标记1;T跟踪标记2;T跟踪标记3。

    方法三:通过注册表启动

    该方法跟方法二类似。

    一些常用的跟踪标记有

    --1204  传回参与死锁的SQL SERVER相关程序之运行数据,1204是以文本格式进行
    --1222  传回参与死锁的SQL SERVER相关程序之运行数据,1204是以XML格式保存
    --1205
    --1206
    --3605  要求DBCC的输出放到SQL server ERROR LOG
    --3604  将trace结果输出到前端

     

     

    对于数据库死锁,通常可以通过TRACE FLAG 1204、1205、1206,检查ERRORLOG里面的输出,和分析SQLTRACE的执行上下文判断死锁问题的来由。执行下面的话可以把死锁记录到 Errorlog中:dbcc traceon (1204, 3605, -1)。

    --1211,1224 两种方式都是禁用锁升级。但行为有所差别1211是无论何时都不会锁升级,而1224在内存压力大的时候会启用锁升级,从而避免了out-of-locks错误。当两个跟踪标记都启用是,1211的优先级更高。
    --1200  返回加锁信息的整个过程,是学习加锁过程很牛逼的标志
    DBCC TRACEON(1200,-1)
    DBCC TRACEON(3604)
    DBCC TRACESTATUS

    --1252 显示动DBCC CHECKFILEGROUP,DBCC CHECKTABLE。这意味着这几个命令只能单线程执行,这可能会需要更多的时间,但是在某些特定情况下还是有些用处。
    --3226 防止日志记录成功的备份。如果日志备份过于频繁的话,会产生大量错误日志,启用该跟踪标记可以使得日志备份不再被记录到错误日志。
    --4199  所有KB补丁对于查询分析器行为的修改都生效,这个命令比较危险,可能扫称性能的下降
    --260 打印关于扩展存储过程动
    态选择锁的相关信息

    --610 减少日志产生量
    --834 使用 Microsoft Windows 大页面缓冲池分配。如果服务器是SQL Server专用服务器的话,值得开启该跟踪标记。
    --835  允许SQL Server 2005和2008标准版使用"锁定内存页",和在组策略中设置的结果大同小异,但是允许在标准版中使用.
    --1118 tempdb分配整个区,而不是混合区,减少SGAM页争抢。

    --2528  禁用并行执行DBCC CHECKDB, 态链接库的版本信息
    --444 停止auto-parameterization
    --3205 默认情况下,如果磁带驱动器支持硬件压缩,则 DUMP 或 BACKUP 语句会使用该功能。
    -- 利用此跟踪标记,可以禁用磁带驱动程序的硬件压缩。
    -- 本项在要与不支持压缩的其它站点或磁带驱动器交换磁带时有用。
    --8602 停止索引提示功能

    --8722 停止join group等最优化提示功能
    --8755 停止锁提示功能
    --8780 停止最优化超时配置,强制做完整的最优化动作
    --818 检查写一致性,踪标志 818 启用了一个内存中的环形缓冲区,用于跟踪由运行 SQL Server 的计算机执行的最后 2,048 个成功写操作(不包括排序和工作文件 I/O)。发生 605、823 或 3448 之类的错误时,将传入缓冲区的日志序列号 (LSN) 值与最新写入列表进行比较。如果在读操作期间检索到的 LSN 比在写操作期间指定的更旧,就会在 SQL Server 错误日志中记录一条新的错误信息。大部分 SQL Server 写操作以检查点或惰性写入形式出现。惰性写入是一项使用异步 I/O 操作的后台任务。环形缓冲区的实现是轻量的,因此对系统性能的影响可以忽略。
    --1806 禁用即时文件初始化,所有的磁盘空间请求全部使用填0初始化,可能造成在空间增长时产生阻塞。
    --3502 在日志中显示有关checkpoint的相关信息。
    --3505 不允许自动进行checkpoint,checkpoint只能手动进行,是非常危险的一个命令
    --806  在读取过程中对页检查逻辑一致性,在错误日志中就可以看到类似下面的信息,该跟踪标记会极大的降低性能!!!
    2004-06-25 11:29:04.11 spid51 错误: 823,严重性: 24 日状态: 2
    2004-06-25 11:29:04.11 spid51 I/O 错误 (审核失败) 在读取过程中检测到的偏移量主题 SQL ServerMSSQLdatapubs.mdf e:Program 文件中的 0x000000000b0000.

    转载来源:http://blog.itpub.net/27026361/viewspace-775503/

  • 相关阅读:
    手机号码正则表达式
    POJ 3233 Matrix Power Series 矩阵快速幂
    UVA 11468
    UVA 1449
    HDU 2896 病毒侵袭 AC自动机
    HDU 3065 病毒侵袭持续中 AC自动机
    HDU 2222 Keywords Search AC自动机
    POJ 3461 Oulipo KMP模板题
    POJ 1226 Substrings KMP
    UVA 1455 Kingdom 线段树+并查集
  • 原文地址:https://www.cnblogs.com/JinweiChang/p/12175990.html
Copyright © 2011-2022 走看看