全面掌握SQL Profiler系列2:快速使用

【独家特稿】本系列文章第1篇:原理与相关概念

本篇的议题如下:

1. 如何配置权限

2. 启动SQL Profiler

3. 介绍SQL Profiler 的GUI

4. 保存一个跟踪

通过上一篇文章的讲述,相信大家已经对SQL Profiler有了一个初步的了解,或者有些朋友已经开始磨拳擦掌,想跃跃欲试了。在开始使用SQL Profiler之前,有一些问题需要注意。

1. 不要随意的在生产环境下(或者说:实际的数据库工作的服务器环境)轻易的使用SQL Profiler,特别是在初学的时候。因为使用SQL Profiler会对服务器产生压力,带来一定的性能的影响,在初学的时候,不要拿正式的环境做实验。

2. ***在自己的本地搭建测试的数据库,然后采用一些脚本或者工具来模拟对数据库的使用。在后面的讲解中,我会运行一些示例的SQL 脚本来模拟。

3. SQL Profiler是一个操作性比较强的工具,***是跟着本系列中的示例,一个个的动手操作和体会。

理解如何配置权限

在SQL Server中,正如不是谁都可以创建表,试图一样,也不是谁都可以自由的运行SQL Profiler的。因为SQL Profiler在运行的过程中可以看到很多的与服务器以及客户端相关的信息,所以要求运行这个工具的权限也很高。

在默认情况下,只有sa(SQL Server中的一个超级用户)和在SYSADMIN组中的用户可以运行SQL Profiler。在SQL Server 2005中,也可以通过用sa或者SYSADMIN用户给其他用户授权,从而使得其他的SQL Server用户也可以有这个权限。授权的SQL 脚本如下图2-1所示:

如上图所示,我们可以将LoginID替换为我们想要授权的用户名。

下面的一段脚本是收回这个授权的,如图2-2所示:

启动SQL Profiler

好,有了权限之后,我们就来好好的体验一把!

可以通过很多的方式打开SQL Profiler。我这里给大家介绍一下:

1. 使用命令行工具打开。步骤非常简单,只要在CMD命令窗口输入“profiler“,然后按下“回车”就行了。这里需要注意的是,如果安装的是SQL Server 2008,那么就输入“profiler”,如果安装的是SQL Server 2005,那么就输入“profiler90”。

我个人喜欢使用命令行方法,快捷!

注:这里非常抱歉,因为我所在的环境安装的都是英文版的操作系统与软件,所以很多的时候,一些界面会以英文的形式显示,希望朋友们见谅!

2. 直接在SQL Server Management Studio的菜单中打开,如图2-3所示:

不管用什么方式,打开SQL Profiler之后,就看到如下的界面,如图2-4所示:

然后,在菜单“File”中选择“New Trace”,如图2-5所示:

当我们选择了“New Trace”(创建新跟踪)之后,就会弹出如下的界面,如图2-6所示:

使用合法的身份验证方式进入之后,就会看到选择要跟踪的事件的界面,如图2-7所示:

在这个界面中,包含了两个选项卡,一个是“General”,另外一个是“Events Selection”。这里我们很有必要对界面中做一些简单的介绍。

在“General”选项卡中,我们可以对跟踪进行命名,还可以选择不同的模板,并且还可以设置很多不同的选项。

其中,Trace Provider name就是指的我们要跟踪的SQL Server的实例名;Trace provide type,指的就是数据库的版本名,而version就是版本的数字表示。

在这里,比较重要的一个选择就是“Use the template”,如图2-8所示:

在这里可以选择一个跟踪的模板,不同的模板,功能不一样,并且模板中事件,数据列,过滤器等都不一样!每一种模板的用处,我们会在后续文章讲述。

另外,在““Events Selection选项卡”中,选择我们要跟踪的事件,如图2-9所示:

这里出于体验的目的,我们将一切都保持默认!

下面,我们就开始启动SQL Profiler去监控数据库中发生的活动:点击“Run”按钮,如图2-10所示:

那么启动之后,因为这个时候SQL Profiler是对整个SQL Server实例进行监控的,也就是说,在SQL Server中的任意一个数据库发生了任何的活动,都会被SQL Profiler捕获到(当然,如果设置了过滤器就例外了)。

为了使得效果明显,我这里运行一些脚本,对数据库进行一些操作,起到模拟的作用。我们看到下面的一个效果图2-11所示:

从图中可以看到,我在SQL Server运行一个查询,这个时候SQL Profiler立刻就捕获到了这个动作。

#p#

介绍SQL Profiler 的GUI

对于SQL Profiler的跟踪窗口,有很多我们需要学习的东西,下面我们就通过一个比较全面的图(2-12)来看看:

对于图2-12:

1. 界面分为两个部分,在上面标记为红色的那个区域,在这里就显示了Profiler捕获到的事件,每一行就代表一个发生的事件。

2. 不是所有的事件都包含相同的数据列,例如在图中,有些事件,如Audit Logout, 在TextData列没有数据,这就说明,TextData不是这个事件的事件信息列。

3. 在界面下半部分的那个红色区域,显示了TextData的详细的信息(前提是如果事件有T extData列),另外,对于不同的事件,TextData显示的数据是不一样的。例如,对与RPC:Completed事件,TextData就显示了正在执行的存储过程的名称。对于一些事件,还可以显示执行计划的XML格式。

4. 在界面的最下面,还显示了“Trace is running”,显示当前Profiler的状态。

5. 通过点击工具栏的按钮,可以暂停此时跟踪,如图2-13所示:

6. 还可以停止跟踪,如图2-14:

保存一个跟踪

当Profiler运行了一段时间之后,就可以停止,并且将跟踪的数据保存。这里需要注意的是:因为我们之前采用了默认的设置,此时数据全部是在服务器的内存中的,如果跟踪的时间越长,那么数据量就会越多,会消耗很多的内存。

如图2-15,保存此次跟踪: 

然后为跟踪命名,如图2-16所示:

之后,数据就保存起来了!

如果要查看这个跟踪文件中的数据,可以再用Profiler加载,如图2-17所示:

加载之前我们创建的跟踪文件,这时候,我们就可以查看之前数据库中发生的活动,从而进行分析,如图2-18所示:

在进行性能诊断的时候,我们会采用DTA工具来加载和分析跟踪文件。具体的我们后文讲述,今天就到这里!

【编辑推荐】

  1. 误删SQL Server日志文件后怎样附加数据库
  2. SQL Server 2005数据库用户权限管理的设置
  3. MSSQL数据库跨表和跨数据库查询方法简介
  4. 浅析SQL Server数据库专用管理员连接DAC的使用
  5. T-SQL行列相互转换命令:PIVOT和UNPIVOT使用详解  

文章来源网络,作者:管理,如若转载,请注明出处:https://shuyeidc.com/wp/226361.html<

(0)
管理的头像管理
上一篇2025-04-17 08:15
下一篇 2025-04-17 08:16

相关推荐

  • 高防服务器的防御原理是什么,如何选择高防服务器?

    高防服务器的防御原理,简单说就是通过流量清洗、防火墙规则和黑洞路由等机制,在攻击流量到达业务服务器之前将其过滤或阻断,从而保障正常访问,流量清洗机制是核心防线高防服务器对抗DDoS攻击,靠的不是单一技术,而是一套组合动作,最常见的攻击类型是流量型攻击,比如UDP洪水、SYN洪水、ICMP放大等,核心思路是耗尽带……

    2026-07-26
    0
  • BGP线路到底是什么意思呢,有什么优势?

    BGP线路是一种通过边界网关协议实现多运营商网络互联的接入方式,能自动选择最优路径,极大提升跨网访问速度和稳定性,是解决国内南北网络瓶颈的核心方案,什么是BGP线路BGP,全称Border Gateway Protocol,边界网关协议,是互联网核心路由协议之一,它负责在自治系统之间交换网络可达性信息,BGP线……

    2026-07-26
    0
  • 增值电信业务经营许可证对IDC有多重要,如何办理?

    增值电信业务经营许可证是IDC服务商合法运营的核心凭证,它直接决定了机房能否接入骨干网、客户能否放心托管业务,以及服务商自身能否长期稳定发展,许可证是IDC进入市场的硬门槛互联网数据中心业务属于增值电信业务中的B1类,依据工信部《电信业务经营许可管理办法》,任何从事服务器托管、虚拟主机、云服务等业务的企业,必须……

    2026-07-26
    0
  • 站群服务器一个IP放几个网站合适?,怎么选

    站群服务器一个IP放3-5个网站是大多数情况下的最佳平衡点,但具体数量需根据网站权重、内容质量及IP资源成本灵活调整,这个结论基于搜索引擎对同IP站点的关联判定逻辑,以及站群运营的长期实践,如果你刚接触站群,可能会纠结于IP分配,但核心原则是:不要让搜索引擎轻易识别出这些网站属于同一实体,站群IP分配的底层逻辑……

    2026-07-26
    0
  • DDoS攻击和CC攻击有什么区别,怎么防御?

    DDoS攻击和CC攻击最核心的区别在于攻击目标不同:DDoS攻击主要消耗网络带宽和基础设施资源,而CC攻击专门针对应用层逻辑,耗尽服务器CPU和数据库连接数,两者从原理到防御手段完全不同,攻防视角下的本质差异攻击目标:一个砸门,一个撬锁DDoS攻击(分布式拒绝服务)瞄准的是网络层和传输层,通过大量伪造数据包或畸……

    2026-07-26
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注