C#/ SqlServer内存泄漏

时间:2019-04-24 09:14:12

标签: c# sql sql-server linq

我的服务器(Windows Server 2012 r2)遇到一些问题。内存总是占使用率的80%左右,有时还会占用CPU,并且托管的应用程序随机崩溃(OutOfMemoryException)。

IIS上约有110个应用程序,SQL Server上有95个数据库。

SqlServer计算机具有〜6500MB的RAM,而IIS计算机具有〜1400MB的RAM。

没有理由因为不经常请求应用而导致内存如此之高。我想知道我在sql server上请求的方式是否正确。

这是我的功能:

public static DataSet SQLServerRequest(string SQL, clsDatabase database)
{
    SqlConnection myConnection = null;
    DataSet toReturn = new DataSet();
    try
    {
        using (myConnection = new SqlConnection(database.DBConnectionString))
        {
            myConnection.Open();
            using (SqlDataAdapter da = new SqlDataAdapter(SQL, myConnection))
            {
                da.Fill(toReturn);
            }
        }
        return toReturn;
    }
    catch (Exception ex)
    {
        log.Error(SQL + " / Exception : " + ex.Message);
        return null;
    } 
}

因为我可以在SQL Server上看到:

这是一个大问题吗?转移到Adhoc或LinqSql查询会帮助内存减少吗?我在朝正确的方向看吗?

0 个答案:

没有答案