2、调试Transact-SQL
语句和存储过程。3、识别执行慢的查询。4、在工程开发阶段,通过单步执行语句测试SQL语句和存储过程,以确认代码按预期运行。5、通过捕捉生产系统中的
事件并在测试系统中重播它们来解决SQL Server中的问题。这对测试和调试很有用,并使得用户可以不受干扰地继续使用生产系统。6、审核和复查在SQL Server实例中发生的活动。这使得安全管理员得以复查任何的审核事件,包括登录尝试的成功与失败,以及访问语句和对象的权限成功与失败。需要注意的是:运行SQL 事件探查器时,必须确保系统至少有10MB的可用空间,否则SQL 事件探查器的所有功能都将停止。我们可以看到这个SQL的事件探查器的确很强大,SQL Server里面的执行的每一个动作,都可以在SQL事件探查器里看的一清二楚,这对于性能调剂,后期维护等等都是有非常大的帮助的。但是,问题也就来了,在你的软件开发完毕后,作为软件的开发方而言并不希望使用软件的使用者通过SQL事件探查器来跟踪SQL语句。那么这种情况该怎么办呢?有没有什么办法不能让SQL事件探查器跟踪到呢?下面我们来探索这个问题:假设你数据库里面有一张表:Organization,里面有一个字段是password,那么当你执行下面的SQL语句的时候: SELECT [Password] FROM [Organization] 那么你会吃惊的发现,在SQL事件探查器里面显示如下内容:— 在该事件文本中找到“password”。— 出于安全原因,已用该注释替换此文本。这样,就看不到你执行的SQL语句的内容了。但是,你可以会说,如果在我的Organization里面没有password字段的话还不是要显示出来?确认如此,但是官方介绍说:只要在查询的过程中,任意地方出现关键词:password,encryption,sp_setapprole之一,整个查询过程都将被隐藏,任意地方,当然也包括注释中。例如执行下面的语句: --Password /*保护SQL语句*/ SELECT 1 FROM [Organization1] 同样的我们在SQl事件探查器里面看到的是: 总结:这样就很清楚的明白:如果要避免SQL语句在SQL事件探查器里面被跟踪的话,只需要添加一个关键词的注释就可以把SQL语句保护起来了。可喜的是,我开发的系统所依赖的第三方系统软件并没有对此SQL语句做保护,故可以通过SQL事件探查器分析软件对数据库进行了那些 *** 作,进一步分析数据库表的结构。工具/材料
SQL SERVER 2008
01
首先打开SQL SERVER Management管理工具,如下图所示,选择工具菜单下面的SQL SERVER Profiler选项
02
然后管理工具会自动跳出数据库连接的界面,这里填写好要跟踪的数据库,然后点击连接,如下图所示
03
接下来就进入到跟踪属性的设置界面,如下图所示,在这个界面需要给跟踪起名字,选择跟踪模板
04
然后切换到事件选择的页卡,如下图所示,在这里设置需要跟踪哪些类型的SQL语句
05
接下来我们在SQL SERVER的管理工具执行一个SQL语句,如下图所示,下面就需要跟踪这个SQL语句的执行过程
06
然后我们就会在SQL SERVER Profiler工具中看到这个SQL执行的过程,跟踪工具中显示了SQL对资源的消耗情况,读写次数等信息,如下图所示
07
最后执行完了以后,记住暂停或者停止跟踪,否则跟踪等到停止时间才会停止,如下图所示
评论列表(0条)