2.0中获取数据库连接统计数据
发布日期:2021-06-30 19:16:16 浏览次数:2 分类:技术文章

本文共 1443 字,大约阅读时间需要 4 分钟。

作者:
.NET 2.0中的SqlConnection多了一个StatisticsEnabled属性和ResetStatistics()、RetrieveStatistics()两个方法,用于获取SQLServer的连接统计数据。当然,这样做是以性能损耗为代价的,但作为监控数据库状态的一种快捷实用手段未尝不可。

<%@ Import Namespace="System.Data" %>

<%@ Import Namespace="System.Data.SqlClient" %>
<%@ page language="C#" %>
<script runat="server">
   
void Page_Load(object sender, EventArgs e)
    {
        string connString
= "Northwind的连接串";
        SqlConnection conn
= new SqlConnection(connString);
        conn.StatisticsEnabled
= true;
        conn.ResetStatistics();
        conn.Open();
        SqlCommand cmd
= new SqlCommand("SELECT * FROM Orders", conn);
        SqlDataReader reader
= cmd.ExecuteReader();
        reader.Close();
        conn.Close();
        Hashtable ht
= (Hashtable)conn.RetrieveStatistics();
        foreach (string key
in ht.Keys)
        {
            Label1.Text
+= "Key: " + key + " = " + ht[key] + "<BR />";
        }
    }
</script>
<html>
<head id="Head1" runat="server">
   
<title>Untitled Page</title>
</head>
<body>
   
<form id="Form1" runat="server" autocomplete="on">
       
<asp:Label ID="Label1" Runat="server" Text=""></asp:Label>
   
</form>
</body>
</html>

运行后的结果就是SQLServer连接统计数据结果:

Key: NetworkServerTime = 0

Key: BytesReceived = 156913
Key: UnpreparedExecs = 1
Key: SumResultSets = 1
Key: SelectCount = 1
Key: PreparedExecs = 0
Key: ConnectionTime = 30
Key: ExecutionTime = 30
Key: Prepares = 0
Key: BuffersSent = 1
Key: SelectRows = 830
Key: ServerRoundtrips = 1
Key: CursorOpens = 0
Key: Transactions = 0
Key: BytesSent = 48
Key: BuffersReceived = 20
Key: IduRows = 0
Key: IduCount = 0

转载地址:https://linuxstyle.blog.csdn.net/article/details/164016 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:ASP.NET 2.0页面框架的几处变化
下一篇:ADO.NET 2.0中的SqlCommand.ExecutePageReader

发表评论

最新留言

网站不错 人气很旺了 加油
[***.192.178.218]2024年04月06日 04时16分49秒