SQL 事件探查器使用介绍
SQL 事件探查器是SQL Server提供的一个图形工具,通过该工具主要可以实现如下功能:
l 监视 SQL Server 实例的性能。
2 调试 Transact-SQL 语句和存储过程。
3 识别执行慢的查询。
4 在工程开发阶段,通过单步执行语句测试 SQL 语句和存储过程,以确认代码按预期运行。
5 通过捕获生产系统中的事件并在测试系统中重播它们来解决 SQL Server 中的问题。这对测试和调试很有用,并使得用户可以不受干扰地继续使用生产系统。
6 审核和复查在 SQL Server 实例中发生的活动。这使得安全管理员得以复查任何审核事件,包括登录尝试的成功与失败,以及访问语句和对象的权限成功与失败。
需要注意的是,运行 SQL 事件探查器时,必须确保系统至少有10 MB 的可用空间,否则SQL 事件探查器的所有功能都将停止。
一、建立跟踪
从“开始”菜单中的“Microsoft SQL Server”菜单中选择“事件探查器”即可进入事件探查器主界面。我们可通过点击工具条上的“新跟踪”按钮或选择“文件”菜单下“新建”中的“跟踪”来开始一个新跟踪。此时,系统会提示我们输入要跟踪的数据库所在的服务器名、对应得账号和密码。这儿需要特别说明的是执行跟踪的账号必须是“system admin”角色成员。点“确定”后,系统便弹出如下对话框(图一).
在该对话框的上部有四个选项卡,默认是“常规”选项,在该选项中我们可以设定跟踪名和跟踪模版,作为初学者我们这儿使用默认设置。
单击“事件”选项卡进入图二,在图二中我们可以看到有很多供监视的事件。一般情况下,使用默认的事件即可,除非真的需要,不建议选择所有的事件来监视。
在接下来的“数据列”选项中(图三),我们可以选择所捕获的每个事件所需要保存的信息,同样系统提供的默认信息基本上就够用了。如果系统只有一个用户,象ApplicationName,LoginName这些信息甚至都可以从默认的选项中移除。
二、准备测试代码
为了演示SQL 事件探查器的功能,我先用C#写一个小的Windows应用程序。在这个小程序的主界面上我们放一个文本框和两个按钮,点击“显示”按钮时,应用程序会将Customers表中CustomerID 为“ALFKI”的公司名显示在文本框中。点“保存”按钮时,应用程序则会保存修改后的新公司名,下面就是该小程序的主要代码:
//载入信息
private void btnLoad_Click(object sender, System.EventArgs e)
{
//数据库连接信息,数据库是微软提供的Northwind数据库,服务器、用户名和密码视实际情况修改
string strCon="server=james;database=Northwind;Uid=sa;Pwd=";
SqlConnection cn = new SqlConnection(strCon);
SqlCommand cmd = new SqlCommand("SELECT CompanyName FROM Customers WHERE CustomerID='ALFKI'", cn);
cn.Open();
SqlDataReader dr = cmd.ExecuteReader();
if (dr.Read())
{
//在文本框中显示公司名
txtCustomer.Text=dr.GetString(0).Trim();
}
}