Profiler系列1-全面掌握SQL-原理与相关概念-Server (profile 什么意思)

教程大全 2025-07-17 10:59:00 浏览

【独家特稿】作者简介:汪洋(Richard Wang),资深架构师和.NET技术专家。一直战斗在一线,实践经验极其丰富。现就职于惠普公司,担任技术架构师和信息分析师。同时他还是上海益思研发管理咨询有限公司首席架构师、软件咨询组副组长。曾在世界500强的在华日企担任架构师,负责项目业务框架和平台设计,曾带领创业团队与国内外企业进行项目合作。、博客园、ITPUB、China Unix等IT社区的知名博客和技术专家。CSDN和InfoQ的特约技术作家。2011年曾多次应邀在架构师大会、亚太软件研发管理峰会和中国软件开发大会等技术盛会上担任演讲嘉宾,深受与会者欢迎。此外,他还在为国内多家软件企业开展软件架构与性能优化方面的培训。

说道SQL Server Profiler,相关很多朋友们都已经不陌生了。虽然说现在在网络上有很多的文章介绍它的使用,但是介绍的都不怎么系统与完整。因为笔者对SQL Server Profiler的使用也有些年了,并且常常在性能优化中使用,所以,借此机会,献出一整个介绍SQL Server Profiler的系列文章。

可以说说SQL Profiler是一个非常强大的工具,使用它,我们可以捕获和分析数据库中发生的相关的事件,例如,存储过程的执行等。而捕获的信息可以为我们在性能诊断中提供依据。

如果你对SQL Profiler不是很熟悉,那么,本篇文章将会带着你一步步的熟悉。在这篇文章中,我会讲述SQL Profiler的工作原理,还会解释在后面文章要常常要用的一些术语,同时也会讲述如何保持一个Profiler Traces跟踪文件。

通过本篇文章的越多,朋友们会清楚如下的问题

1.理解SQL Profiler是如何工作的

2.对Profiler的一些术语和概念有一个比较清楚的认识,例如事件,数据列,过滤器等

3.理解如何配置权限启动Profiler

4.可以创建基本的Profiler跟踪,并且保存。

在开始学习任何一门技能之前,我们需要知道:为什么要学习这门技能,学习完了之后,可以给我们带来什么好处?毕竟人的精力是有限的,不可能随随便便学习一门对自己毫无用处的知识。

可以这样说:区分一个有经验的DBA与一个新手DBA的区别就在于:有经验的DBA知道在核实充分利用何种工具可以快速的将问题搞定(其实我本身也是一个开发人员,通俗点说,就是写应用代码的,不算是真正DBA,因为很多的时候,在项目中,没有DBA,所以不得不扮演很多的角色,所以学习了不少的技能)。

如果熟练的掌握了SQL Profiler之后,有经验的DBA就可以对数据库的运行状况进行跟踪,并且利用跟踪的数据进行问题的分析与性能的诊断与优化,有时候,甚至可以再问题还

有发生之前发现潜在的问题。我们把掌握SQL Profiler的好处列下来:

1.可以监视SQL Server内部发生的各种活动:例如发生在数据库引擎中的活动,发生在Analysis Services以及Integration Services中的活动。

2.监控并且确认某些查询,事务相关的性能问题等。

3.可以对执行计划进行分析。

4.可以监视并且确认SQL Server内部的发生的一些错误和警告。

5.可以捕获数据库发生的数据,并且还可以对数据库的压力进行重放。

6.可以对数据库中用户的活动进行审计跟踪。

7.可以通过多种方式对数据进行分析与跟踪。

8.可以将跟踪的数据与系统的性能计数器关联起来,从而更加全面的检查发生的问题。

9.可以将跟踪的数据以DTA来进行分析

10.还可以对SQL Profiler进行编程,可以不使用它的GUI工具。

说了这么多,似乎已经把SQL Profiler说的天花乱坠了!其实SQL Profiler也不是万能的,也只是在SQL Server诊断与分析中常常使用的一种工具而已,至于决定到底是否在使用它,还是取决于DBA或者技术人员本身,通过本系列的学习,相信大家会有一个比较清楚的认识。

首先,我们来简要的看看SQL Server Profiler的工作原理。

SQL Server Profiler的工作原理

其实SQL Server Profiler这个工具是SQL Trace的一个GUI的版本,而SQL Trace是一组脚本,自SQL Server 2000就已经有了的,这一组脚本捕获和跟踪SQL Server内部发生一些事件,并且将跟踪的数据保存以便后续使用。

从本质上说,SQL Trace就是一个非常简单的工具,它的作用就是捕获客户端应用与SQL Server之前的通信的信息。它扮演中一个非常特殊的网络嗅探器的功能,用来捕获与SQL Server相关的网络活动,同时也允许我们查看客户端应用的请求触发了SQL Server的哪些事件。

另外,与我们熟悉的网络嗅探器不同的是:SQL Trace只是捕获发生在SQL Server内的相关的事件和活动,而不会获取网络上面传输的数据。

为了使得大家对SQL Trace有一个更加清楚的认识,我们来看看下面的一个图1-1:

那么对于上面的图1:

1.SQL Server事件是指由SQL Server本身内部触发的活动,或者由客户端与SQL Server进行连接时在SQL Server内部触发的活动。事件包含很多不同的种类,我们将会在后续文章中详解介绍。

2.因为事件发生在SQL Server的内部,SQL Trace的任务就是根据Filter来捕获自己感兴趣的事件。

3.一旦事件被SQL Trace捕获,那么发生的事件与相关的事件信息就会被保存在内存的队列中。

4.SMO(Server Management Objects),是可以直接的访问SQL Server的对象模型。其实,SQL Trace对于我们而言,就可以将之看成是一个黑盒,我们能做的就是通过一些方式和工具去与这个黑盒交互,SQL Profiler和系统的存储过程就是这样的工具。

为了后续的理解方便,也为了保证我们的理解一致,我们下面介绍一些常见的概念和术语。

SQL Profiler中常用的术语概念

这里主要介绍下面四个术语:事件(Events)数据列(Data Columns)过滤器(Filters)跟踪(Trace)

事件

全面掌握SQL

相信熟悉微软技术的朋友对“事件”这个概念已经不陌生了,简而言之就是发生的活动,例如一个存储过程的执行,就是一个活动,也是发生了一个事件。SQL Profiler允许我们捕获大约170多种不同的与SQL Server有关的时间。另外,在SQL Profiler中,使用Event Category这个概念,对不同的事件进行了一个大致的分类,使得为我们的监控更加的方便,例如所有与存储过程相关的事件都被划分在一个分类中。

数据列

这个概念理解起来非常简单,简而言之就是描述事件发生的一些信息。这个概念和我们在.NET编程中的事件信息的概念是一样的。如图1-2所示,可以看到事件发生的时候,包含了一些实事件信息,即数据列。

图1-2中列出了很多事件的数据列,例如,对于RPC:Completed事件而言,包含了TextData,ApplicationName等。同时,还可以看出 ,不是所有事件都有相同的数据列。过滤器

顾名思义,过滤器主要是SQL Profiler用来对发生的事件进行过滤的,只捕获感兴趣的事件。可以根据很多的来创建灵活的过滤,如图1-3所示:

过滤器在使用SQL Profiler中非常有用,因为它可以决定我们收集到的数据的正确性,更加对收集到的数据的量产生很多的影响。

跟踪

请注意:这里的跟踪,不是个动词,而是一个名词!每一个跟踪包含了发生的事件以及相关的数据列信息,并且我们常常将这些信息保存在物理的文件中。其实,我们常常所说的跟踪,就是一个保存SQL Profiler数据的跟踪文件。

跟踪文件可以以很多的方式保存:保存在内存中,以特定的格式导出,保存在数据库中,保存为XML文件等。如图1-4所示,就现在SQL Profiler中直接显示了跟踪信息,即跟踪信息保存在内存中:本篇就暂时介绍到这里,下一篇,就和大家一起来看看,如何快速的使用SQL Profiler。

【编辑推荐】


管家婆怎样恢复被覆盖的数据

展开全部最佳答案检举你的大部分操作没错,只是选择本地恢复时错了,要选服务恢复.注意:恢复数据将完全覆盖下在使用帐套中所有数据,因此应慎重。 ■ 直接恢复 同样数据恢复也有两种方法,一种是直接在管家婆里进行数据恢复,要注意采用这种方法系统恢复数据的路径是管家婆服务器安装目录下的backup目录,如c:\graspns\backup。 在管家婆“系统维护”的下拉菜单中点击“数据恢复”,进入以下对话框: 选择从服务器恢复,则弹出服务器中备份数据列表,我们从中进行选择,双击一个帐套,则与之对应的备份文件名就出现在输入框中,或者手动录入备份文件名,如此,点击“服务器恢复”就行。 注意:如果是我们从其它账套拷贝而来的文件,则将其放到安装目录下的backup文件夹,然后在文件名录入框录入那个备份文件的名称,然后服务器恢复就行。 选择从本地恢复,则出现如下窗体。 我们需要输入服务器名,服务器端backup文件夹共享名,以及本地备份文件所在位置。 然后点击“本地恢复”就行。 对于单独一台计算机是不能使用本地恢复的,本地恢复必须在局域网内使用。 服务器名:即局域网内备份文件所在计算机名称;共享名:即安装辉煌2008系列程序的目录下backup共享名称;本地恢复文件:即备份时保存于本地的那个文件的名称;■ 在数据库SQL SERVER里进行恢复 同备份数据一样,首先单击“开始—-程序—-Microsoft SQL Server 7.0---Enterprise Manager”程序,进入“SQL Server Enterprise Manager”程序窗口。 在“Console Root/Microsoft SQL Servers”窗口中,单击“Microsoft SQL Servers”前面的“+”号以打开树。 打开后再单击“SQL Server Group”前面的“+”号。 这时你会看到以你本计算机名的数据库组。 再打开它,再在下一层打开“Databases”树进入,选择你要用来恢复数据的数据库,鼠标右键点击该数据库,选择“所有任务---Restore Database…”打开数据恢复“Restore Database”窗口。 点第三个选项“from device”, 点击在参数选择框右边的 “Select Devices”按钮进入选择窗口。 点击“Add”按钮,在窗口中选择需要恢复的数据,点击确定后,回到上图菜单中在左上角点“options”,选择“force restore over existing database”,点确定按钮,数据即开始恢复。

oracle数据库中有哪些字符集,字符集之间的子集和超集关系是怎么样的?

oracle数据库的字符集有很多的,具体的也不能一一详细地列举出来了,但是,建库的时候,会有选择字符集的界面,点开下拉条,将会列出oracle所支持的所有字符集(10/12)。 超集与子集是包含和被包含的关系,超集兼容子集。

怎么设置无线网络

无线网络界面可能出现PCI,USB和PC卡格式。 USB设备应该直接将计算机连接到强力的hub上,PCI和PC卡设备应该被安装到插槽上,为天线提供最大的暴露空间。 注意移动的电缆远离天线,使RF冲突最小化。 在可能的地方使用防护电缆和扬声器。 电子冲突将减少最大带宽。 客户端设置当设置无线客户端,注意看看你是否应该保存默认的设置。 这些设置将使你的系统运行的更快,而且可以比较妥协的解决安全问题。 有一些设置需要在接入结点中配置。 确认它们是一样的。 客户端设置如下:AdHoc,orPeer-To-PeerNetworking:有些无线设备不使用接入结点就可以进行通讯。 这个能力增加了客户系统的弹性,但是它可能会危急一个中央管理网络的安全策略。 EncryptionKeys:这些钥匙对加密数据起到作用。 客户端和接入结点的设置必需相配。 默认的钥匙是:对于允许的客户端可以轻易的被加入网络,为了安全,钥匙应该被有规律的改变,来阻止入侵者破解密码。 MobileIP:细胞无线网络允许客户端从一个无线结点漫步到另一个。 在一个足够大的网络里,可以引起客户端进入不同的子网。 一般情况下,会引起IP冲突,但是,使用移动IP创建一系列的转寄地址,可以使接入结点重新定为数据穿过子网。 MobileIP:不适宜在特殊的连续无线网络以外的网络里使用。 RateControl:RateControl允许定义通讯的速度。 减少最大带宽,增加漫游的范围,减少能量的消耗,但得到最有价值的特性。 默认设置是通常的最佳设置。 在不同的区段将允许与之相适应的配置。 WEP:无线标准(802.11b)使用的加密计划称之为WiredEquivalentProtection(WEP),它将补偿物理方面的安全漏洞。 并不是所有的无线系统提供加密。 默认的802.11b是国际可输出的40位加密,但是一些US模式也支持128位的加密。 有时,默认设置中的加密是disable的,这个选项可以改为enable。 WLANServiceArea:这个值类似网络工作组,除了同样工作区域的客户端能够和其它结点通讯,配置不同的WLAN服务区域允许同种类型的多种无线网络在同样的物理区域交迭。 有的时候,一个服务区域数量是默认的,比如101。 如果你想改变它的设置,将冒一定的安全危险。 你是否需要多个networkprofile由于无线设备总是使用在不同的网络上,卖主网络设备总是将无线产品打包。 尤其是WINDOWS9x的膝上型电脑,它不支持多种网络配置。 使用的简易是非常重要的,尤其是小型办公室和家庭无线设置。 最小的网络也具备为同样的设备存储多个网络配置的能力。 最先进的甚至可以转换默认打印机,modem设置,区域代码,远程代码和共享网络配置。 这些功能提供了弹性,但是如果转换太复杂会导致配置的失败。 提醒你小心的评测网络的网络profiler,以确保用户网络的可用性。 即使硬件是稳定的,如果最终用户不喜欢这种应用,你将受到指责。 AccessPoint的特性对于网络的设计,AccessPoint是最重要的组件;它决定了可支持多少客户端,加密的水平,接入控制,登陆,网络管理,客户端管理,它管理全部的家当。 要象选择路由器那样小心选择接入结点。 AccessPoint的网络能力,检测了它的物理特性。 3Com的AccessPoint包括一个“PowerBase-T”连接器,能够CAT-5线发挥作用。 这个设施安装在电不易被获取的地方。 这个设备包括一系列端口,可配置或者可连接扩展的modem。 虽然这样做看起来和物理网络是对立的,但它允许定制路由包和过虑,甚至设置暂时网络(比如在网络带宽不够的贸易中)。 其它的组件包括一个USB或者蓝牙接口

本文版权声明本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请联系本站客服,一经查实,本站将立刻删除。

发表评论

热门推荐