2.0中获取数据库连接统计数据
.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
總結
以上是生活随笔為你收集整理的2.0中获取数据库连接统计数据的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ADO.NET 2.0中的SqlComm
- 下一篇: 获取远程网卡MAC地址