Cześć wszystkim,
W sumie to nie wiedziałem, w której kategorii napisać - padło na bazy danych. Dlaczego? Już wyjaśniam.
Aplikacja, która stwarza problem służy do obsługi firmy. Napisana w C#, łączy się z Sql Serverem 2014. Kilka tabel, zapytania są proste - 2 joiny w najtrudniejszym zapytaniu. Aplikacja opiera się na komponencie DbGrid (crud inline). Wszystko niby fajnie, ale podczas korzystania z apki przez klienta pojawiają się losowe zwiechy np. po kilku godzinach pracy, potem po 15 minutach, itp. Nie można wyłapać schematu. Podpiąłem logowanie pod Entity Framework i sprawdziłem, faktycznie jedno zapytanie powoduje problem i trwa w momencie zwiechy około 13 sekund. Przerobiłem zapytanie, tak aby nie wykorzystywało EF, a jedynie SqlConnection
- efekt taki sam. Po wyczerpaniu się wszystkich pomysłów co do tego zapytania - raz się zwiesza, raz działa poprawnie - jedynie co się zmienia to parametry zapytania - postanowiłem podejść do sprawy trochę inaczej. Otóż zmieniłem ustawienia w Sql Serverze co do maksymalnego wykorzystania pamięci, ustawiłem na 1024MB. Wcześniej było ustawione na domyślne maksimum. Po zmianie aplikacja zaczęła działać zdecydowanie szybciej sama w sobie i co najważniejsze nie postawały zwiechy do momentu... no właśnie, do momentu ponownego uruchomienia komputera klienta, na którym stoi zarówno serwer bazy danych jak i aplikacja. W ustawieniach jest ustawione 1024, ale Sql Server, tak jakby tego nie widzi i do momentu ponownego wywołania:
sp_configure 'max server memory', 1024;
GO
RECONFIGURE;
sytuacja pozostaje beznadziejnie taka sama.
Czy ktoś ma jakiś pomysł na rozwiązanie problemu losowych zwiech? Proszę o jakieś wskazówki, na co można byłoby jeszcze zwrócić uwagę podczas diagnozy tego problemu.
Od strony kodu sprawdziłem (chyba) wszystko. Zapytanie przerobiłem na czysty sql, mapowanie z modelu bazowego na grid model jest wykonywane ręcznie. Pytanie jest również takie - gdzie szukać problemu, czy raczej w zapytaniu czy raczej po stronie ustawień samego serwera. Obstawiam to drugie, stąd kategoria Bazy danych.
Pozdrawiam
PS. Problemy występują (a jakżeby inaczej) tylko na wersji produkcyjnej, u klienta.