Insert Gratyfikant nexo – naprawa komunikacji z SQL Server

Insert Gratyfikant nexo – naprawa komunikacji z SQL Server

W środowisku wielostanowiskowym Insert Gratyfikant nexo korzysta z Microsoft SQL Server jako silnika bazy danych. Komunikacja między aplikacją kliencką, usługą nexo.Serwis a SQL Server opiera się na protokole TCP/IP lub named pipes. Gdy ta komunikacja zostaje zaburzona – użytkownicy widzą błędy połączenia, programy zawiesza się przy otwieraniu bazy lub nexo.Serwis nie może ustanowić połączenia z instancją SQL Server. Problemy z SQL Server są bardziej złożone technicznie niż problemy z Firebird (używanym w Gratyfikant GT), gdyż SQL Server to pełnoprawny serwer bazodanowy z własnym zarządzaniem usługami, instancjami i portami.

Nasz serwis diagnozuje i naprawia wszelkie problemy komunikacyjne Gratyfikant nexo z SQL Server, zarówno w środowiskach lokalnych, jak i domenowych.

Architektura połączenia Gratyfikant nexo – SQL Server

Połączenie z SQL Server w środowisku nexo przebiega wielowarstwowo:

  1. Aplikacja kliencka Gratyfikant nexo → nexo.Serwis (lokalnie lub przez sieć)
  2. nexo.Serwis → SQL Server (connection string z konfiguracją SQL Server)
  3. SQL Server → pliki bazy danych (.mdf i .ldf) na dysku serwera

Connection string w nexo.Serwis określa: nazwę serwera SQL, nazwę instancji, nazwę bazy danych, metodę uwierzytelnienia (Windows Auth lub SQL Auth) oraz timeout połączenia.

Typowe przyczyny problemów z SQL Server w nexo

Usługa SQL Server zatrzymana

Usługa SQL Server (MSSQLSERVER lub MSSQL$SQLEXPRESS) może zatrzymać się po restarcie serwera lub aktualizacji Windows. Sprawdzamy w services.msc i ustawiamy autostart.

Błędna nazwa instancji w konfiguracji nexo.Serwis

SQL Server Express domyślnie instaluje się jako instancja nazwana (KOMPUTERSERVER\SQLEXPRESS). Jeśli w konfiguracji nexo.Serwis wpisano tylko KOMPUTERSERVER (bez nazwy instancji) – połączenie nie powiedzie się.

Port dynamiczny vs. statyczny

SQL Server Express domyślnie korzysta z portów dynamicznych (losowy port przy każdym starcie), co komplikuje konfigurację zapory sieciowej. Dla nexo zalecamy przypisanie statycznego portu (np. 1433) w SQL Server Configuration Manager i otwarcie tego portu w zaporze.

Zapora sieciowa blokuje port 1433

Analogicznie do Firebird i portu 3050 – SQL Server wymaga otwartego portu TCP 1433 (lub wybranego portu statycznego) na serwerze SQL. Po aktualizacji Windows reguły zapory mogą zostać zresetowane.

Naprawa konfiguracji połączenia

Aktualizacja connection string nexo.Serwis

W pliku konfiguracyjnym nexo.Serwis (%ProgramData%\Insert\nexo.Serwis\nexo.Serwis.exe.config lub przez panel konfiguracyjny nexo.Serwis) aktualizujemy string połączenia z SQL Server: właściwa nazwa serwera i instancji, metoda uwierzytelnienia, nazwa bazy danych.

Diagnostyka przez SSMS lub sqlcmd

Testujemy połączenie z SQL Server bezpośrednio na maszynie z nexo.Serwis:
sqlcmd -S NazwaSerwera\SQLEXPRESS -E -Q "SELECT @@VERSION"
Jeśli sqlcmd połączy się, problem jest w konfiguracji nexo.Serwis lub sieci, nie w SQL Server.