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