使用 SQL Server Profiler 的實例
使用 SQL Server 事件探查器的方案
使用 SQL Server Profiler的第一步是确定监视 SQL Server 实例的原因。本主题讨论使用 SQL Server Profiler收集跟踪信息的典型方案。
使用 SQL Server Profiler的典型方案包括:
查找执行情况最差的查询。
例如,可以创建一个捕获与 TSQL 和 Stored Procedure 事件类(RPC:Completed 和 SQL:BatchCompleted)相关的事件的跟踪。在此跟踪中包括所有数据列,按 Duration 分组并指定事件准则。例如,如果指定事件的 Duration 必须至少为 10000 微秒,则可以从跟踪中清除持续时间较短的事件。可以根据需要增大 Duration 的最小值。如果希望一次仅监视一个数据库,请指定 Database ID 事件标准的值。
确定死锁的原因。
例如,可以创建一个捕获与 TSQL 和 Stored Procedure 事件类(RPC:Starting 和 SQL:BatchStarting)和 Locks 事件类(Deadlock graph、Lock:Deadlock 或 Lock:Deadlock Chain)相关的事件的跟踪。在此跟踪中包括所有数据列并按 Event Class 分组。如果希望一次仅监视一个数据库,请指定 Database ID 事件标准的值。如果指定 Deadlock graph 事件类,SQL Server Profiler将生成图形化表示形式的死锁。有关详细信息,请参阅使用 SQL Server Profiler 分析死锁。
若要查看死锁中涉及的连接,请执行下列操作之一:
打开包含捕获的数据的跟踪,按 ClientProcessID 对数据进行分组并展开死锁中涉及的两个连接。
将捕获的数据保存到跟踪文件中,然后两次打开此跟踪文件,使其出现在两个单独的 SQL Server Profiler窗口中。按 ClientProcessID 对捕获的数据进行分组,然后展开死锁中涉及的客户端进程 ID;每个死锁的连接将出现在一个单独的窗口中。平铺这两个窗口以查看导致死锁的事件。如果要将特定死锁图形数据保存到文件,请右键单击死锁事件并选择“提取事件数据”。
监视存储过程性能。
例如,可以创建一个捕获与 Stored Procedure 事件类(SP:Completed、SP:Starting、SP:StmtCompleted 和 SP:StmtStarting)和 TSQL 事件类(SQL:BatchStarting 和 SQL:BatchCompleted)相关的事件的跟踪。在此跟踪中包括所有必要的数据列并按 ClientProcessID 分组。如果希望一次只监视一个数据库,请使用数据库 ID 筛选器为“数据库 ID”事件标准指定一个值。同样,如果希望一次只监视一个存储过程,请使用对象 ID 筛选器为“对象 ID”事件标准指定一个值。
审核 SQL Server
相关文档:
随着B/S模式应用开发的发展,使用这种模式编写应用程序的程序员也越来越多。但是由于程序员的水平及经验也参差不齐,相当大一部分程序员在编写代码的时候,没有对用户输入数据的合法性进行判断,使应用程序存在安全隐患。用户可以提交一段数据库查询代码,根
据程序返回的结果,获得某些他想得知的数据,这就是所谓的S ......
ibatis作为一个轻量级的orm工具现在非常流行,我在使用中发现,有时仅仅希望返回一个类型为map的list就可以了,
比如简单的查询统计之类的,没有必要定义太多的pojo,因此想能不能在ibatis中直接传入sql语句来执行,然后返回map呢?
从网上搜了一下,还真有,实验成功后总结一下,大家共同进步。 其实很简单,就 ......
using System.Data; // Use ADO.NET namespace
using System.Data.SqlClient;
SqlConnection thisConnection = new SqlConnection(
&nbs ......
前几天做一个关于数据表优化的程序,由于数据库里面的字段的关系非常复杂,操作起来比较麻烦,刚用的时候还好,运行时间一长,生成的事务日志很大,占用了10几G,磁盘都快用完了。
到网上搜了一下,方法下面两种:
1.分离数据库,直接删除事务日志文件,再附加数据库,系统 ......