返回顶部
首页 > 资讯 > 数据库 >SQLServer中怎么控制跟踪标记
  • 902
分享到

SQLServer中怎么控制跟踪标记

2024-04-02 19:04:59 902人浏览 八月长安
摘要

这篇文章给大家介绍sqlServer中怎么控制跟踪标记,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。跟踪标记是什么?对于DBA来说,掌握Trace Flag是一个成为SQL Serve

这篇文章给大家介绍sqlServer中怎么控制跟踪标记,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

跟踪标记是什么?

对于DBA来说,掌握Trace Flag是一个成为SQL Server高手的必要条件之一,在大多数情况下,Trace Flag只是一个剑走偏锋的奇招,不必要,但在很多情况下,会使用这些标记可以让你更好的控制SQL Server的行为。

下面是官方对于Trace Flag的标记:

跟踪标记是一个标记,用于启用或禁用SQL Server的某些行为。

由上面的定义不难看出,Trace Flag是一种用来控制SQL Server的行为的方式。很多DBA对Trace Flag都存在一些误区,认为只有在测试开发环境中才有可能用到Trace Flag,这种想法只能说部分正确,因此对于Trace Flag可以分为两类,适合在生产环境中使用的和不适合在生产环境中使用的。

Important:Trace Flag属于剑走偏锋的招数,在使用Trace Flag做优化之前,先Apply基本的Best Practice。

如何控制跟踪标记

控制跟踪标记的方式有以下三种:

1.通过DBCC命令

可以通过DBCC命令来启用或关闭跟踪标记,这种方式的好处是简单易用,分别使用下面三个命令来启用,禁用已经查看跟踪标记的状态:

DBCC TRACEON(2203,-1)

DBCC TRACEOFF(2203,1)

DBCC TRACESTATUS

其中,TRACEON和TRACEOFF第二个参数代表启用标志的范围,1是Session Scope,-1是Global Scope,如果不指定该值,则保持默认值Session Scope。

另外,值得说的是,如果你希望在每次SQL Server服务启动时通过DBCC命令控制某些Flag,则使用

EXEC sp_procoption @ProcName = '<procedure name>'   , @OptionName = ] 'startup'   , @OptionValue = 'on';

这个存储过程来指定,sp_procoption存储过程会在SQL Server服务器启动时自动执行。

还有一点值得注意的是,不是所有的跟踪标记都可以用DBCC命令启动,比如Flag 835就只能通过启动参数指定。

2.通过在SQL Server配置管理器中指定

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

3.通过注册表启动

这种方式和方法2大同小异,就不多说了。

一些在生产环境中可能需要的跟踪标记

Trace Flag 610

减少日志产生量。如果你对于日志用了很多基础的best practice,比如说只有一个日志文件、VLF数量适当、单独存储,如果还是不能缓解日志过大的话,考虑使用该跟踪标记。

参考资料:

Http://msdn.microsoft.com/en-us/library/dd425070.aspx

http://blogs.msdn.com/b/sqlserverstorageengine/arcHive/2008/10/24/new-update-on-minimal-logging-for-sql-server-2008.aspx

Trace Flag 834

使用 Microsoft windows 大页面缓冲池分配。如果服务器是SQL Server专用服务器的话,值得开启该跟踪标记。

Trace Flag 835

允许SQL Server 2005和2008标准版使用"定内存页",和在组策略中设置的结果大同小异,但是允许在标准版中使用.

Trace Flag 1118
tempdb分配整个区,而不是混合区,减少SGAM页争抢。
当apply tempdb的best practice之后,还遇到争抢问题,考虑使用该跟踪标记。
参考资料:

http://blogs.msdn.com/b/psssql/archive/2008/12/17/sql-server-2005-and-2008-trace-flag-1118-t1118-usage.aspx

Trace Flag 1204和1222
这两个跟踪标记都是将死锁写到错误日志中,不过1204是以文本格式进行,而1222是以XML格式保存。可以通过
sp_readerrorlog查看日志。




Trace Flag 1211和1224

两种方式都是禁用锁升级。但行为有所差别1211是无论何时都不会锁升级,而1224在内存压力大的时候会启用锁升级,从而避免了out-of-locks错误。当两个跟踪标记都启用是,1211的优先级更高。

Trace Flag 2528

禁用并行执行DBCC CHECKDB, DBCC CHECKFILEGROUP,DBCC CHECKTABLE。这意味着这几个命令只能单线程执行,这可能会需要更多的时间,但是在某些特定情况下还是有些用处。

Trace Flag 3226

防止日志记录成功的备份。如果日志备份过于频繁的话,会产生大量错误日志,启用该跟踪标记可以使得日志备份不再被记录到错误日志。

Trace Flag 4199
所有KB补丁对于查询分析器行为的修改都生效,这个命令比较危险,可能扫称性能的下降,具体请参看:
http://support.microsoft.com/kb/974006


不应该在生产环境中启用的跟踪标记


Trace Flag 806 在读取过程中对页检查逻辑一致性,在错误日志中就可以看到类似下面的信息:2004-06-25 11:29:04.11 spid51 错误: 823,严重性: 24 日状态: 22004-06-25 11:29:04.11 spid51 I/O 错误 (审核失败) 在读取过程中检测到的偏移量主题 SQL Server\MSSQL\data\pubs.mdf e:\Program 文件中的 0x000000000b0000.参考资料:http://support.microsoft.com/kb/841776该跟踪标记会极大的降低性能!!!Trace Flag 818 检查写一致性踪标志 818 启用了一个内存中的环形缓冲区,用于跟踪由运行 SQL Server 的计算机执行的最后 2,048 个成功写操作(不包括排序和工作文件 I/O)。发生 605、823 或 3448 之类的错误时,将传入缓冲区的日志序列号 (LSN) 值与最新写入列表进行比较。如果在读操作期间检索到的 LSN 比在写操作期间指定的更旧,就会在 SQL Server 错误日志中记录一条新的错误信息。大部分 SQL Server 写操作以检查点或惰性写入形式出现。惰性写入是一项使用异步 I/O 操作的后台任务。环形缓冲区的实现是轻量的,因此对系统性能的影响可以忽略。参考资料:http://support.microsoft.com/kb/826433Trace Flag 1200 返回加锁信息的整个过程,是学习加锁过程很牛逼的标志,示例代码如下:DBCC TRACEON(1200,-1)DBCC TRACEON(3604)DBCC TRACESTATUSSELECT * FROM AdventureWorks.person.Address参考资料:http://stackoverflow.com/questions/7449061/nolock-on-a-temp-table-in-sql-server-2008Trace Flag 1806禁用即时文件初始化,所有的磁盘空间请求全部使用填0初始化,可能造成在空间增长时产生阻塞。Trace Flag 3502在日志中显示有关checkpoint的相关信息。如图1所示。
图1.在错误日志中显示CheckpointTrace Flag 3505不允许自动进行checkpoint,checkpoint只能手动进行,是非常危险的一个命令。

跟踪标志是控制SQL Server行为的一种方式,对于某些跟踪标志来说,可以在生产环境中提高性能,而对于另一些来说,用在生产环境中是一件非常危险的事情,只有在测试环境中才能被使用。要记住,跟踪标记对于调优是一种剑走偏锋的手段,只有在使用了所有基本的调优手段之后,才考虑使用跟踪标记。

关于SQLServer中怎么控制跟踪标记就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

您可能感兴趣的文档:

--结束END--

本文标题: SQLServer中怎么控制跟踪标记

本文链接: https://lsjlt.com/news/56865.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • SQLServer中怎么控制跟踪标记
    这篇文章给大家介绍SQLServer中怎么控制跟踪标记,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。跟踪标记是什么?对于DBA来说,掌握Trace Flag是一个成为SQL Serve...
    99+
    2024-04-02
  • python实时目标跟踪怎么实现
    这篇“python实时目标跟踪怎么实现”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“python实时目标跟踪怎么实现”文章吧...
    99+
    2023-07-05
  • git中怎么设置跟踪
    Git 是当今最流行的版本控制工具之一,大量的程序员、开发人员和团队都在使用它来管理他们的项目。Git 提供了许多功能和命令来方便地管理代码库及其修改,其中一个很有用的功能是 Git 跟踪。Git 跟踪能让你设置版本控制系统跟踪你的文件,可...
    99+
    2023-10-22
  • python怎么使用OpenCV实现多目标跟踪
    这篇文章主要介绍“python怎么使用OpenCV实现多目标跟踪”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“python怎么使用OpenCV实现多目标跟踪”文章能帮助大家解决问题。1 背景介绍计算...
    99+
    2023-06-30
  • 怎么跟踪Microsoft Excel中的更改
    这篇文章主要介绍了怎么跟踪Microsoft Excel中的更改的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇怎么跟踪Microsoft Excel中的更改文章都会有所收获,下...
    99+
    2023-04-21
    excel
  • SQLServer中怎么使用事务控制
    在SQL Server中,可以使用BEGIN TRANSACTION,COMMIT和ROLLBACK语句来实现事务控制。以下是一个简...
    99+
    2024-03-12
    SQLServer
  • 怎么在iPhone上启用限制IP地址跟踪
    本篇内容介绍了“怎么在iPhone上启用限制IP地址跟踪”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!“限制ip地址跟踪”是一项隐私增强功能...
    99+
    2023-06-29
  • html文本控制标记是什么
    本篇内容主要讲解“html文本控制标记是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“html文本控制标记是什么”吧!   (1)<!DOCTYPE...
    99+
    2024-04-02
  • html5文本控制标记是什么
    今天小编给大家分享一下html5文本控制标记是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一...
    99+
    2024-04-02
  • 怎么在Python中调用跟踪装饰器
    这期内容当中小编将会给大家带来有关怎么在Python中调用跟踪装饰器,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。Python的优点有哪些1、简单易用,与C/C++、Java、C# 等传统语言相比,Pyt...
    99+
    2023-06-14
  • 笔记本电脑鼠标不受控制怎么办
    这篇文章主要为大家展示了“笔记本电脑鼠标不受控制怎么办”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“笔记本电脑鼠标不受控制怎么办”这篇文章吧。步骤一:点击开始,选择计算机管理。步骤二:打开任务计...
    99+
    2023-06-28
  • PHP中怎么实现打印跟踪调试信息
    本篇文章给大家分享的是有关PHP中怎么实现打印跟踪调试信息,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。PHP打印跟踪调试信息对于大部分编译型语言来说,比如 C 、 Java ...
    99+
    2023-06-15
  • 怎么用VBS控制鼠标
    小编给大家分享一下怎么用VBS控制鼠标,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!怎么用VBS模拟鼠标左键单击、左键双击、右键单击?…… 网上搜到的答案普遍是V...
    99+
    2023-06-08
  • 笔记本电脑控制面板中打印机图标消失怎么办
    小编给大家分享一下笔记本电脑控制面板中打印机图标消失怎么办,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!登录到系统桌面,点击打开开始菜单,然后在搜索栏里面输入“服务”,点击打开服务窗口。在打开的服务窗口中,拖动滚动条找到“...
    99+
    2023-06-28
  • 数据库中怎么跟踪11g vip及SCN IP的输出
    这篇文章主要介绍了数据库中怎么跟踪11g vip及SCN IP的输出,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。# crsctl set ...
    99+
    2024-04-02
  • 怎么在Shell脚本中跟踪调试命令的执行
    这篇文章主要介绍怎么在Shell脚本中跟踪调试命令的执行,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!本系列的前面部分清晰地阐明了另外两种 shell 脚本调试模式:详细模式和语法检查模式,并用易于理解的例子展示了如...
    99+
    2023-06-16
  • Android应用中怎么实现一个跟踪布局效果
    这篇文章给大家介绍Android应用中怎么实现一个跟踪布局效果,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。首页Activitypublic class TraceActivity extends AppCompatA...
    99+
    2023-05-31
    android roi
  • Linux中怎么跟踪系统启动时的进程顺序
    要跟踪系统启动时的进程顺序,可以使用以下方法: 查看启动日志文件:系统启动时会生成启动日志文件,可以查看该文件以了解系统启动时的...
    99+
    2024-04-02
  • 怎么用Python控制键盘鼠标
    今天小编给大家分享一下怎么用Python控制键盘鼠标的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。这个库让你可以控制和监控输...
    99+
    2023-06-19
  • SQLSERVER中怎么清除历史记录
    这期内容当中小编将会给大家带来有关SQLSERVER中怎么清除历史记录,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。删除前做备份。  使用SQL Server登录使用数据...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作