Nie mogę się połączyć z serwerem SQL – co zrobić ?

Należy sprawdzić:

Czy została podana prawidłowa nazwa serwera SQL?

W kreatorze Przygotowanie do uruchomienia systemu w polu Serwer MS SQL należy wpisać  prawidłową nazwę serwera bazy danych (domyślna nazwa to nazwa_komputera\optima, w wersji 17 Comarch ERP Optima i wcześniejszych domyślną nazwą serwera bazy danych była nazwa_komputera\cdn_optima)

Czy serwer bazy danych jest uruchomiony?

W celu sprawdzenia, czy uruchomiony jest serwer bazy danych Microsoft SQL Server należy uruchomić narzędzie konfiguracyjne SQL Server Configuration Manager
Start \ Wszystkie programy \ Microsoft SQL Server \ Configuration Tools \ SQL Server Configuration Manager

Należy sprawdzić, czy są uruchomione poniższe usługi:

    • SQL Server (nazwa_instancji) domyślnie SQL Server (OPTIMA)
    • SQL Server Browser

Czy serwer bazy danych jest udostępniony do pracy w sieci?

Jeśli łączymy się z końcówki do serwera należy upewnić się, że na serwerze istnieją wyjątki w zaporze sieciowej dla programów uruchamiających usługi SQL Server oraz SQL Server Browser. Odpowiednie wyjątki w

systemowej zaporze sieciowej mogą zostać dodane poprzez instalację Comarch ERP Menadżer Kluczy, patrz: W jaki sposób zainstalować Comarch ERP Menadżer Kluczy?. Jeżeli Menadżer Kluczy nie jest zainstalowany dla instancji SQL Server, na której znajdują się bazy danych Comarch ERP Optima, należy ręcznie dodać wyjątki dla programów sqlserver.exe oraz sqlbrowser.exe. Należy również pamiętać o wyjątku umożliwiającym rozwiązywanie nazw (w tym celu należy udostępnić port UDP/137).

Oprócz tego należy upewnić się, czy w systemie nie działają dodatkowe zapory innych producentów – należy wtedy dodać w nich odpowiednie wyjątki.

Serwer powinien posiadać także włączony protokół TCP/IP. Można to sprawdzić wybierając opcję Protocols for OPTIMA.

Czy w sieci działa rozwiązywanie nazw na adresy IP?

Można to sprawdzić za pomocą systemowego polecenie ping. Jego wywołanie z linii komend powinno mieć postać: ping nazwa_komputera. Wynikiem takiego polecenia powinien być adres IP podanego komputera. Jeżeli nie jest zwracany adres IP, wtedy konieczne jest ustawienie aliasu.
W celu utworzenia aliasu należy przejść do odpowiedniego katalogu i uruchomić program:
C:\Windows\system32\cliconfg.exe – systemy 32 bitowe
C:\Windows\SysWow64\cliconfg.exe – systemy 64 bitowe
Typ systemu operacyjnego można sprawdzić we właściwościach komputera.

 

Uwaga
Wpisując komendę cliconfg w wierszu poleceń systemu Windows (Start / Uruchom / cliconfg) domyślnie uruchamiany jest program z katalogu C:\Windows\system32
Po uruchomieniu odpowiedniego programu przechodzimy na zakładkę alias i ustawiamy powiązanie między nazwą komputera, a jego adresem IP. W polu „Alias serwera” podajemy pełną nazwę instancji silnika SQL (nazwa_hosta\nazwa_instancji). Zaznaczamy biblioteki sieciowe TCP/IP, natomiast w polu „Nazwa serwera” w miejsce nazwy hosta podajemy jego adres IP. Adres IP możemy sprawdzić wpisując komendę ipconfig w wierszu poleceń systemu Windows (Start/ Uruchom/ cmd).
Uwaga
W przypadku gdy problem z połączeniem występuje w obrębie tego samego komputera można podać lokalny adres IP 127.0.0.1 (interfejs loopback).
 
Zadaniem aliasu jest więc pomoc w odnalezieniu odpowiedniego adresu IP serwera, gdy rozwiązywanie nazw w sieci nie działa prawidłowo.
Czasem problemem w ustanawianiu połączenia do serwera SQL jest także nie odnalezienie odpowiedniego portu, na którym nasłuchuje serwer SQL. Wówczas warto odznaczyć parametr 'Określ port dynamicznie’ i wpisać numer portu, na którym nasłuchuje serwer SQL. Numer portu możemy sprawdzić w errorlogu serwera SQL. Domyślnie plik znajduje się w lokalizacji:

C:\Program Files (x86)\Microsoft SQL Server\MSSQL16.OPTIMA\MSSQL\Log\ERRORLOG – lokalizacja dla serwera SQL 2022
Plik można otworzyć za pomocą notatnika. Informacja o numerze portu (xxxx) występuje po słowach Server is listening on [ 'any’ <ipv4> xxxx]

Uwaga
Jeśli alias zostanie nazwy inaczej niż nazywa się serwer SQL należy pamiętać, aby w programie Comarch ERP Optima konfigurując połączenie do serwera SQL podać w polu Server MS SQL nazwę aliasu.