Comarch ERP Altum jest ściśle zależny od ciągłości połączenia z SQL Server. Zakłócenia komunikacji – timeout zapytań, błędy autoryzacji konta serwisowego, problemy sieciowe – bezpośrednio przekładają się na błędy w pracy użytkowników i ryzyko utraty danych.
Diagnostyka błędów połączenia z SQL Server
Przy błędach połączenia z SQL Server diagnostykę należy przeprowadzić w trzech warstwach: sieciowej (czy SQL Server jest dostępny sieciowo), autoryzacyjnej (czy konto serwisowe ma odpowiednie uprawnienia), i aplikacyjnej (czy ciąg połączeniowy w konfiguracji Altum jest aktualny). Narzędzie sqlcmd z serwera aplikacji Altum pozwala przetestować połączenie z SQL: sqlcmd -S NazwaSerwera\Instancja -U login -P hasło -Q "SELECT @@VERSION".
Konfiguracja protokołów sieciowych SQL Server
W SQL Server Configuration Manager sprawdź, czy protokół TCP/IP jest włączony dla instancji używanej przez Altum. Dla instancji domyślnej port TCP to 1433. Dla instancji nazwanych port jest dynamiczny – SQL Server Browser musi być uruchomiony, aby klienci mogli odnaleźć instancję po nazwie. Zapora Windows na serwerze SQL musi mieć regułę zezwalającą na ruch TCP na porcie 1433 (lub dynamicznym) i UDP na porcie 1434 (SQL Server Browser).
Konto serwisowe Altum – uprawnienia do SQL Server
Konto serwisowe, przez które aplikacja Altum łączy się z SQL Server, musi mieć w SQL Server: login z prawem do logowania do instancji, uprawnienie db_owner do bazy danych Altum, oraz uprawnienia systemowe wymagane przez konkretną wersję Altum (np. VIEW SERVER STATE do monitorowania). Po zmianie hasła konta domenowego, przez które uruchamia się serwis Altum lub SQL Server, połączenie może się zerwać – hasło musi być zaktualizowane w services.msc lub SQL Server Configuration Manager.
Timeout zapytań SQL
Timeout zapytań (komunikat „Timeout expired" po stronie Altum) pojawia się przy długo trwających operacjach lub przy blokadach tabeli. Wartość timeout zapytań konfiguruje się w pliku konfiguracyjnym serwera aplikacji Altum (parametr CommandTimeout lub QueryTimeout). Zwiększenie timeout jest tymczasowym rozwiązaniem – właściwą naprawą jest identyfikacja i optymalizacja wolnych zapytań lub usunięcie blokad w Activity Monitor SQL Server.
High Availability dla SQL Server w środowisku Altum
W środowiskach wymagających ciągłości działania wdrożenie SQL Server Always On Availability Groups lub Failover Clustering zapewnia automatyczne przełączanie awaryjne przy awarii węzła. Konfiguracja Altum z Always On wymaga skonfigurowania listener AG (Virtual Network Name) jako docelowego serwera SQL w konfiguracji – po failover Altum automatycznie połączy się z nowym węzłem głównym przez listener, bez potrzeby zmiany konfiguracji po stronie aplikacji.