WAPRO Mag – optymalizacja wydajności bazy danych

WAPRO Mag – optymalizacja wydajności bazy danych

Z upływem lat użytkowania WAPRO Mag baza danych SQL Server rośnie, indeksy ulegają fragmentacji, a statystyki stają się nieaktualne. Skutkuje to stopniowym spowolnieniem programu – długim ładowaniem listy dokumentów, wolnym generowaniem raportów czy opóźnieniami przy wystawianiu faktur. Optymalizacja bazy SQL Server przywraca pierwotną wydajność i poprawia komfort codziennej pracy bez konieczności zmiany sprzętu.

Diagnozowanie problemów z wydajnością

Przed optymalizacją należy zdiagnozować, co konkretnie jest przyczyną spowolnienia:

  • Fragmentacja indeksów – najczęstsza przyczyna spowolnień w starszych bazach. Sprawdź fragmentację zapytaniem: SELECT * FROM sys.dm_db_index_physical_stats(DB_ID(), NULL, NULL, NULL, 'LIMITED') WHERE avg_fragmentation_in_percent > 10;
  • Nieaktualne statystyki – SQL Server planuje zapytania na podstawie statystyk. Nieaktualne statystyki prowadzą do nieoptymalnychalnych planów wykonania.
  • Brakujące indeksy – zapytania mogą przeszukiwać tabele sekwencyjnie zamiast przez indeks. SQL Server może zasugerować brakujące indeksy w dynamicznych widokach zarządzania.
  • Przepełnienie logu transakcji – duże operacje bez odpowiedniego zarządzania logiem mogą blokować bazę.

Odbudowa i reorganizacja indeksów

Indeksy z fragmentacją powyżej 30% warto odbudować (REBUILD), a te z fragmentacją 10–30% zreorganizować (REORGANIZE):

  1. W SSMS wybierz bazę WAPRO Mag → Zadania → Przebuduj indeksy.
  2. Alternatywnie wykonaj skrypt SQL dla wszystkich indeksów:
EXEC sp_msforeachtable 'ALTER INDEX ALL ON ? REBUILD WITH (ONLINE = OFF)'

Operacja przebudowania indeksów powinna być wykonywana poza godzinami pracy (np. w nocy lub w weekendy), ponieważ chwilowo blokuje tabele.

Aktualizacja statystyk

  1. W SSMS: PPM na bazę → Zadania → Aktualizuj statystyki.
  2. Lub przez skrypt: EXEC sp_updatestats;

Zarządzanie logiem transakcji

Jeśli plik logu transakcji (.ldf) jest bardzo duży:

  1. Sprawdź model odtwarzania bazy: jeśli to Full, a nie robisz kopii logu transakcji, zmień na Simple (dla środowisk bez potrzeby point-in-time recovery): ALTER DATABASE WaproMag SET RECOVERY SIMPLE;
  2. Wykonaj zmniejszenie pliku logu: DBCC SHRINKFILE (WaproMag_log, 100);

Nasz serwis przeprowadza kompleksową optymalizację baz SQL Server dla WAPRO Mag, odbudowuje indeksy, aktualizuje statystyki i zarządza logami transakcji. Skontaktuj się z nami, jeśli WAPRO Mag działa wolniej niż powinien.