仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 799|回复: 8
打印 上一主题 下一主题

[学习教程] MSSQL编程:跟踪标志全攻略

[复制链接]
再见西城 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:28:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
因此我们的保存数据方法就是:在删除的动作开始之前,把表数据备份起来,然后留一个空表,在空表上执行“删除”操作。攻略

跟踪标志

一概述
跟踪标志用于一时设置服务器的特定特性或封闭特定举动

二分类

1.BOL纪录的跟踪标志

形貌
260打印有关扩大存储历程静态链接库(DLL)的版本信息。
有关__GetXpVersion()的更多信息,请拜见创立扩大存储历程。

1204前往介入逝世锁的锁的范例和以后受影响的命令。
增补此参数将把逝世锁发生的相干信息(锁范例,SQL查询等)写进ErrorLog

2528经由过程DBCCCHECKDB、DBCCCHECKFILEGROUP和DBCCCHECKTABLE禁用工具的并行反省。
默许情形下,并行度由查询处置器主动断定。最年夜并行度的设置体例与并行查询不异。
有关更多信息,请拜见maxdegreeofparallelism选项。
一般情形下,应将并行DBCC保存为启用形态。实行DBCCCHECKDB时,
查询处置重视新评价和主动调剂并行度,并反省每一个表或一批表。
偶然,反省大概在服务器处于实践余暇形态时举行。假如办理员晓得在反省停止前负荷将加年夜,
大概但愿手工减小或禁用并行度。

可是,禁用并行反省会招致数据库的整体功能下降。下降并行度将增添必需扫描的事件日记量。这反过去增添了对tempdb空间的需求,并招致dbcc完成反省所需的工夫非线性增添。假如运转DBCC时启用了TABLOCK功效并封闭了并行度,则表大概被锁定更长工夫。

3205默许情形下,假如磁带驱动器撑持硬件紧缩,则DUMP或BACKUP语句会利用该功效。
使用此跟踪标志,能够禁用磁带驱动程序的硬件紧缩。
本项在要与不撑持紧缩的别的站点或磁带驱动器互换磁带时有效。


未纪录的跟踪标志
8602可使SQLSERVER疏忽语句中显现声明的指定索引利用

8785禁用一切显现声明的加索语句(alllockinghints)

8722禁用显现声明的其他范例语句(primaryhintsintheOPTIONclause)

3605把其他跟踪标志发生的了局写进ErrorLog


1200显现具体的锁定信息

1206经由过程逝世锁显现其他锁定信息,来增补1204

2509与DBCCCHECKTABLE毗连来检察叠影纪录的全体数目

3502当查验点触发时纪录体系毛病日记的分外信息

3607跳过一切数据库的主动恢复

3608跳过除主数据库外的一切数据库的主动恢复

8687使并列查询不克不及举行


三跟踪标志的利用办法

1.利用DBCCTRACEON设置跟踪标志

示例:8602标志的利用
usenorthwind
go
select*from[orderdetails]whereproductid=59
实行企图显现利用会萃索引

假如指定对索引的利用
select*from[orderdetails](index=productid)whereproductid=59
实行企图显现起首扫描非会萃索引,此语句将下降查询效力

如今利用8602疏忽对指定索引的利用
DBCCTRACEON(8602)
go
select*from[orderdetails](index=productid)whereproductid=59
实行企图显现已疏忽了对非会萃索引的利用

2.企业办理器->服务器名->属性->惯例页->启动参数->增加跟踪标志
格局为Txxxx,xxxx--标志代码,断定保留后必要重启SQL服务是改动失效
如许每次启动SQL城市使用预设的跟踪标志


3.在命令提醒符下设置跟踪标志
下例显现怎样在命令提醒符下翻开跟踪标志3205
sqlservrCd"C:ProgramFilesMicrosoftSQLServerMSSQLDatamaster.mdf"CT3205

4.能够在:把持面板->服务->MSSQLSERVER->属性->惯例->启动参数中输出

5.禁用跟踪标志
DBCCTRACEOFF

四参看跟踪标志的形态DBCCTRACESTATUS

DBCCTRACESTATUS(-1)
显现以后启用的一切跟踪标志的形态

DBCCTRACESTATUS(8602)
显现8602标志的形态

示例:
翻开第一个毗连利用DBCCTRACEON(8602)
翻开第二个毗连利用DBCCTRACEON(8785)
前往第一个毗连利用DBCCTRACESTATUS(-1)
将看到TraceFlagStatus
86021
87852


这类操作的执行过程是,1)按照新的表定义建立一个临时表tmpa,2)将原表数据拷贝到临时表,3)将原始表改名tmpb,4)将tmpa改名为原表名,5)将tmpb删除。
只想知道 该用户已被删除
沙发
发表于 2015-1-19 13:40:57 来自手机 | 只看该作者
如果是将来做数据库的开发设计,就应该详细学习T-SQL的各种细节,包括T-SQL的程序设计、存储过程、触发器以及具体使用某个开发语言来访问数据库。
蒙在股里 该用户已被删除
板凳
发表于 2015-1-24 21:05:25 | 只看该作者
是否碎片会引发效率问题?这都是需要进一步探讨的东西。varbinary(max)代替image也让SQLServer的字段类型更加简洁统一。
海妖 该用户已被删除
地板
发表于 2015-2-2 13:34:20 | 只看该作者
我是一个ERP初学者,对于前台运用基本熟悉,但对于后台SQLServer的运用一点也不懂,特想学习下相关资料。至少懂得一些基本的运用。希望各位能给于建议,小弟再谢过!
冷月葬花魂 该用户已被删除
5#
发表于 2015-2-7 21:43:25 | 只看该作者
是否碎片会引发效率问题?这都是需要进一步探讨的东西。varbinary(max)代替image也让SQLServer的字段类型更加简洁统一。
飘飘悠悠 该用户已被删除
6#
发表于 2015-2-23 12:24:50 | 只看该作者
对递归类的树遍历很有帮助。个人感觉这个真是太棒了!阅读清晰,非常有时代感。
愤怒的大鸟 该用户已被删除
7#
发表于 2015-3-7 08:58:08 | 只看该作者
个人感觉没有case直观。而且默认的第三字段(还可能更多)作为groupby字段很容易造成新手的错误。
若相依 该用户已被删除
8#
发表于 2015-3-14 16:33:48 | 只看该作者
如果我们从集合论(关系代数)的角度来看,一张数据库的表就是一组数据元的关系,而每个SQL语句会改变一种或数种关系,从而产生出新的数据元的关系(即产生新的表)。
老尸 该用户已被删除
9#
发表于 2015-3-21 13:13:08 | 只看该作者
至于淘汰的问题,只能说在你的项目周期之内,微软应该都不会倒闭。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2025-1-10 05:46

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表