文章作者 100test 发表时间 2009:04:10 02:33:06
来源 100Test.Com百考试题网
不管是为了分析应用程序的性能还是以数据流量计费,当我们要粗略地监控数据库前端应用程序的执行状况时,以往大都只能通过 Windows 系统提供的性能监视器及其相关的计数器来获得数据。ADO.NET 2.0 的 SqlClient 内置提供每条连接的访问数据统计,可以让我们简单地记录一些执行时的状态。但因为要记录与取得这些统计信息需要额外的资源,默认这项功能是关闭的,以节省资源。若要启动记录,需通过 SqlConnection 的 Statistics- Enabled 属性来打开执行。我们所设计的范例程序画面如图12-6所示:
在范例中,我们简单测试执行某句 T-SQL 语法后,将取回的统计信息显示在下方的窗口中。同时测试若某条连接不通过 ResetStatistics 方法重置(Reset)统计信息,则历次执行的统计数据会累加,就算调用了Connection 的 Close 方法,统计数据在重用连接时依然是继续累加。范例程序代码如列表12-6所示:
图12-6 查看执行 SQL 命令时相关的统计信息
程序代码列表12-6 通过 SqlConnection 对象的 RetrieveStatistics 方法取回相关统计数据
Public Class Statistics
Dim cnn As SqlConnection
Dim dt As New datatable
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) _
Handles Button1.Click
If cnn Is Nothing Then
cnn = New SqlConnection( _
"Data Source=..Initial Catalog=AdventureWorks.Integrated Security=SSPI")