如何监视C#中的SQL客户端连接号码



在C#客户端,我们可以基于连接字符串打开SQL Connections。连接池用于改善客户端的性能。

我们想监视有多少连接活动的连接以及有多少可免费使用,这对于客户侧健康检查非常重要。不幸的是,我找不到任何方法来获取此类信息。有人可以告诉我吗?还是我必须自己实施?

您需要拥有带有count variable的包装程序类,以监视连接计数,以1的connection.Open()增量为1,而connetion.Close()减少1。

public static DataTable GetActiveConnections()
        {
            DataTable objResult = new DataTable();
            try
            {
                using (SqlConnection conection = new SqlConnection("ConnectionSetting"))
                {
                    conection.Open();
                    using (SqlCommand cmd = new SqlCommand("sp_who", conection))
                    {
                        cmd.CommandType = CommandType.StoredProcedure;
                        using (SqlDataAdapter adpter = new SqlDataAdapter())
                        {
                            adpter.SelectCommand = cmd;
                            adpter.Fill(objResult);
                        }
                    }
                }
            }
            catch (Exception)
            {
                throw;
            }
            return objResult;
        }

我没有在C#应用程序中检查它,但我在SQL Server Management Studio

中对其进行了测试。

最新更新