Optymalizacja SQL Server dla szybszego działania systemu ERP

Zauważyłeś, że Twój system ERP, np. COMARCH ERP OPTIMA, działa wolniej niż zwykle? Z czasem systemy ERP mogą spowolnić, a przyczyną tego często jest nieoptymalizowany serwer SQL. Ostatnio mieliśmy przyjemność przeprowadzić kompleksową optymalizację serwera SQL dla klienta, co zaowocowało 5-gwiazdkową opinią. W tym artykule pokażemy, jak samodzielnie zoptymalizować serwer SQL, by przyspieszyć działanie systemu ERP.

Najczęstsze przyczyny wolnego działania systemu ERP

Zanim przejdziemy do optymalizacji, warto zrozumieć, dlaczego systemy ERP działają wolniej z czasem:

  • Zbyt duża fragmentacja indeksów – Indeksy są kluczowe dla szybkiego dostępu do danych. Jeśli są zbyt pofragmentowane, zapytania SQL stają się coraz wolniejsze.
  • Brak regularnych aktualizacji serwera SQL – Nieaktualizowany serwer może działać mniej efektywnie, a także stwarzać problemy z bezpieczeństwem.
  • Zasoby serwera są przeciążone – Niewystarczająca ilość pamięci RAM, zbyt wolne dyski czy przeciążony CPU mogą wpłynąć na działanie systemu.
  • Złe zapytania SQL – Nieoptymalne zapytania SQL mogą znacząco obciążać serwer.
  • Brak planów konserwacyjnych – Regularna konserwacja, taka jak reorganizacja indeksów czy czyszczenie logów, to podstawa długoterminowej wydajności serwera.

Jak zoptymalizować SQL Server krok po kroku?Dlaczego system ERP działa wolno? Samodzielna optymalizacja SQL Server krok po kroku.

1. Analiza fragmentacji indeksów

Fragmentacja indeksów to jeden z najczęstszych powodów spowolnienia serwera SQL. Można ją sprawdzić za pomocą poniższego zapytania:

SELECT
dbschemas.[name] AS [SchemaName],
dbtables.[name] AS [TableName],
dbindexes.[name] AS [IndexName],
indexstats.avg_fragmentation_in_percent AS [FragmentationPercent],
indexstats.page_count * 8.0 / 1024 AS [IndexSizeMB]
FROM
sys.dm_db_index_physical_stats(DB_ID(), NULL, NULL, NULL, 'LIMITED’) AS indexstats
INNER JOIN sys.tables dbtables ON indexstats.[object_id] = dbtables.[object_id]
INNER JOIN sys.schemas dbschemas ON dbtables.[schema_id] = dbschemas.[schema_id]
INNER JOIN sys.indexes dbindexes ON indexstats.[object_id] = dbindexes.[object_id]
WHERE
indexstats.page_count > 100
ORDER BY
indexstats.avg_fragmentation_in_percent DESC;

2. Reorganizacja i przebudowa indeksów SQL

Jeśli fragmentacja indeksów wynosi poniżej 30%, zalecamy reorganizację indeksów. Gdy przekracza 30%, należy je przebudować.

Polecenie wykonujące reorganizację wskazanego indeksu na danej tabeli:

ALTER INDEX [nazwa_indeksu] ON [schema].[tabela] REORGANIZE;

Przebudowa indeksów:

ALTER INDEX [nazwa_indeksu] ON [schema].[tabela] REBUILD;

Przebudowa wszystkich indeksów na danej tabeli na przykładzie tabeli COMARCH ERP OPTIMA CDN.TwrIlości odpowiadającej za szybkość wyświetlania stanów magazynowych:

ALTER INDEX ALL ON CDN.TwrIlosci REBUILD;

Przykład wyników zapytania zwracającego fragmentację indeksów Przed przebudową i po przebudowie na przykładzie COMARCH ERP OPTIMA tabela CDN.TwrIlosci odpowiadająca za wyświetlanie stanów magazynu:

Przyśpieszenie COMARCH ERP OPTIMA - przebudowa indeksów wyniki

Przebudowanie indeksów w COMARCH ERP OPTIMA w Tabeli CDN.TwrIlosci u naszego klienta (Opinia klienta) skróciła czas wyświetlania listy zasobów z 5 sekund na 1sekundę (5x szybciej)

(Opinia klienta)

Dołącz do naszej grupy na FB dotyczącej COMARCH ERP OPTIMA , aby na bieżąco dowiadywać się o nowościach i proponowanych rozwiązaniach:

Dołącz do Grupy COMARCH ERP OPTIMA na FB

3. Regularne aktualizacje SQL Server

Nieaktualizowane serwery SQL mogą działać mniej wydajnie. Regularne aktualizacje są kluczowe, aby zapewnić serwerowi najnowsze poprawki i funkcje. W naszym przypadku zainstalowaliśmy najnowsze aktualizacje (CU28 i GDR).
Informacje o najnoowszych aktualizacjach MSSQL znajdziesz na stronie:
https://learn.microsoft.com/pl-pl/troubleshoot/sql/releases/download-and-install-latest-updates

Pamiętaj aby wybrać aktualizację MSSQL odpowiadającą twojej wersji serwera.

Jak sprawdzić jaką wersję MSSQL posiadam?

Jeżeli posiadasz COMARCH ERP OPTIMA to informację o wersji MSSQL znajdziesz w Informacjach technicznych (MENU POMOC -> O PROGRAMIE -> INFORMACJE TECHNICZNE):

Jak sprawdzić wersję MSSQL w COMARCH OPTIMA

 

4. Optymalizacja zapytań SQL

Źle napisane zapytania SQL mogą przeciążać serwer. Optymalizacja zapytań to jedno z kluczowych działań, które poprawiają wydajność systemu ERP.

Jak optymalizować zapytania SQL?

  • Używaj odpowiednich indeksów, aby przyspieszyć wyszukiwanie danych.
  • Unikaj zapytań, które zwracają więcej danych, niż to konieczne.
  • Monitoruj zapytania za pomocą SQL Server Profiler.

5. Plany konserwacyjne w SQL Server

Regularna konserwacja serwera jest kluczowa dla utrzymania jego wydajności na wysokim poziomie. Plany konserwacyjne powinny obejmować reorganizację indeksów, kopie zapasowe oraz czyszczenie logów.

Jak skonfigurować plan konserwacji (wymagana pełna wersja MSSQL )?

  1. W SQL Server Management Studio (SSMS) przejdź do „Management” i utwórz nowy Maintenance Plan.
  2. Skonfiguruj zadania takie jak reorganizacja indeksów, kopie zapasowe i czyszczenie danych.

Jakie kroki możesz podjąć, aby przyspieszyć system ERP?

Warto zaznaczyć, że przedstawione w tym artykule kroki dotyczą tylko części obszaru optymalizacji serwera SQL. Aby przeprowadzić pełną optymalizację, niezbędne jest wykonanie dodatkowych analiz, takich jak badanie opóźnień na serwerze, monitorowanie wydajności systemu dyskowego czy sprawdzenie wykorzystania zasobów serwera w szczytowych momentach. Wszystkie te elementy mają istotny wpływ na ogólną wydajność serwera i działanie systemu ERP.

Zajmujemy się pełną analizą i optymalizacją serwerów SQL, oferując kompleksowe usługi obejmujące nie tylko optymalizację fragmentacji indeksów i zapytań SQL, ale również szczegółowe badanie infrastruktury serwerowej, takich jak dyski, pamięć oraz przepustowość sieci. Dzięki naszym usługom możesz mieć pewność, że Twój system ERP działa optymalnie, a wszelkie problemy wydajnościowe zostaną zidentyfikowane i rozwiązane.

Jesteś zainteresowany/a przyśpieszeniem systemu ERP , skontaktuj się (czat):

Połącz z agentem

Połącz z agentem

Opinia Klienta

Opinia klienta po przeprowadzonej optymalizacji SQL Server, która poprawiła wydajność systemu ERP COMARCH OPTIMA.
Klient docenił profesjonalizm oraz skuteczność działań, dzięki którym system ERP działa szybciej i bez opóźnień.

Profesjonalna optymalizacja serwera SQL!
Mieliśmy problem z wydajnością systemu COMARCH ERP OPTIMA, który okazał się nie wynikać z samego oprogramowania, lecz z braku optymalizacji serwera MSSQL. Firma SystemyIT.pl błyskawicznie zdiagnozowała problem i przeprowadziła kompleksową optymalizację serwera SQL. Po wykonanych działaniach system działa teraz zdecydowanie szybciej i bez żadnych opóźnień. Zespół wykazał się dużym profesjonalizmem i techniczną wiedzą, a komunikacja była bez zarzutu. Serdecznie polecam każdemu, kto potrzebuje wsparcia w zakresie optymalizacji infrastruktury IT!”


Opinia klienta po przeprowadzonej optymalizacji SQL Server, która poprawiła wydajność systemu ERP COMARCH OPTIMA. Klient docenił profesjonalizm oraz skuteczność działań, dzięki którym system ERP działa szybciej i bez opóźnień. Optymalizacja SQL Server dla szybszego działania systemu ERP

Optymalizacja SQL Server dla szybszego działania systemu ERP

5/5 - (9 votes)