Утечка памяти в C # / SqlServer - PullRequest
0 голосов
/ 24 апреля 2019

У меня есть некоторые проблемы на моем сервере (Windows Server 2012 r2). Память всегда занимает около 80% использования, а иногда и процессор, и размещенные приложения аварийно завершают работу (OutOfMemoryException).

Существует около 110 приложений в IIS и 95 баз данных в SQL Server.

Машина SqlServer имеет ~ 6500 МБ ОЗУ, а машина IIS имеет ~ 1400 МБ ОЗУ.

Нет причин, по которым память так велика, потому что приложения не запрашиваются постоянно. Мне интересно, правильный ли способ запроса на сервере sql.

Это моя функция:

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? Я смотрю в правильном направлении?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...