W jaki sposób zoptymalizować wydajność Microsoft SQL Server na przykładzie raportów BI Comarch ERP Optima

W wielu przypadkach, wydajność serwerów bazodanowych jest w dużej mierze ograniczona przez dostępność zasobów, czyli ilość rdzeni, taktowanie procesora oraz rozmiar wolnej pamięci RAM. Jednak w niektórych przypadkach problemem jest złe formułowanie zapytań bądź ich nieoptymalne wykonywanie przez aplikacje. W takim przypadku Microsoft w swoim rozwiązaniu serwerowym SQL pozwala nam na automatyczną optymalizację wykonywanych kwerend. W przypadku zastosowania takiej funkcji, czasy wykonywania niektórych zapytań mogą zmaleć nawet o ponad połowę.

Aby móc skorzystać z takiego rozwiązania, pierwszą rzeczą którą musimy zrobić jest pobranie programu Microsoft SQL Server Management Studio. Pozwoli on na połączenie się do silnika bazy danych i ustawienie odpowiednich parametrów. Poza tym musimy mieć dostęp do konta użytkownika z uprawnieniami administratora, najlepiej konto „sa”.

Po poprawnej instalacji programu, uruchamiamy go i łączymy się do silnika bazy danych.

Następnie, po podłączeniu wchodzimy w folder Bazy danych i klikamy prawym przyciskiem myszy na firmową bazę danych i wchodzimy w jej właściwości.

Po otwarciu okna wchodzimy w zakładkę Options i znajdujemy część oznaczoną jako „Database Scoped Configuration”.

To tutaj mamy możliwość zmiany interesujących nas ustawień. Pierwszą rzeczą którą chcemy włączyć jest „Legacy Cadinality Estimation” a drugą, „Query Optimizer Fixes”. Po włączeniu obu, należy zapisać zmiany klikając OK u dołu okna. Po wykonaniu zmian w konfiguracji, należy zrestartować serwer SQL aby nowe ustawienia zostały zastosowane dla naszej bazy danych.

Procedurę można powtórzyć dla każdej z baz którą chcemy przyspieszyć jednak należy pamiętać że nie w każdym przypadku, zmiany będą zauważalne. Jeżeli programiści tworzący aplikację utworzyli zapytania w poprawny i wydajny sposób, przyspieszenie może być na bardzo niskim poziomie.

Z naszych testów na kilku aplikacjach komercyjnych jak np. Comarch ERP Optima czy Sage Symfonia, takie zmiany powodują znaczące skrócenie czasu pobierania danych. Dotyczy to w szczególności aplikacji Business Inteligence, jak np. Optima BI.

Jeżeli korzystasz z tych aplikacji, sprawdź czy w serwerze SQL są włączone powyższe opcje gdyż może to zaoszczędzić wiele czasu użytkownikom podczas codziennej pracy.