Pomoc maszfakture.pl

5.1.2 Błąd z połączeniem do bazy danych

Przyczyna:
Brak dostępu do serwera SQL z sieci (zły oraz/lub zablokowany port, bądź zła nazwa serwera)
Rozwiązanie:
Rozwiązaniem problemu jest poprawne skonfigurowanie portu oraz (w niektórych przypadkach) dodanie odpowiedniej reguły w zaporze systemu Windows (ang. Windows Firewall). Robimy to na serwerze lub komputerze, na którym zainstalowana jest baza danych lub podanie poprawnej nazwy serwera lub komputera:

    • Poprawne skonfigurowanie portu 1433

Z poziomu okna [Uruchom] wpisujemy jedno z poniższych poleceń:

[SQLServerManager10.msc] jeśli na serwerze zainstalowany jest SQL Server 2008 / 2008 R2
[SQLServerManager11.msc] jeśli na serwerze zainstalowany jest SQL Server 2012
[SQLServerManager12.msc] jeśli na serwerze zainstalowany jest SQL Server 2014
[SQLServerManager13.msc] jeśli na serwerze zainstalowany jest SQL Server 2016

Następnie z listy rozwijamy pozycję [SQL Server Network Configuration] i wybieramy [Protocols for nazwaserweraSQL]. Włączamy protokół [TCP/IP].

Następnie uruchamiamy właściwości protokołu [TCP/IP], klikamy zakładkę [IP Addresses], a następnie przechodzimy na sam dół listy do pozycji [IPALL]. Usuwamy wpis w polu [TCP Dynamic Ports], a w polu [TCP Port] wpisujemy wartość [1433]. Poniższa grafika przedstawia poprawne ustawienie.

Na koniec restartujemy serwer SQL z poziomu okna SQL Server Configuration Manager`a lub usług systemu Windows.

    • Reguła w zaporze systemu Windows (ang. Windows Firewall) zezwalająca na dostęp po porcie 1433

W niektórych konfiguracjach wymagane może być dodanie reguły zezwalającej na dostęp do serwera SQL w zaporze systemu Windows. W tym celu uruchamiamy na serwerze lub komputerze wiersz poleceń z uprawnieniami administratora. Następnie wykonujemy poniższe polecenie, które doda i włączy regułę przychodzącą o nazwie SQL, zezwalającą na dostęp po porcie 1433 do serwera SQL:

netsh advfirewall firewall add rule name="SQL" dir=in protocol=tcp localport=1433 action=allow

Efekt naszych działań powinien być zbliżony do tego pokazanego na poniższym obrazku.

Odpowiednią regułę zezwalającą należy skonfigurować z poziomu tego programu lub sprzętu w przypadku:

– jeśli na serwerze lub komputerze zainstalowana jest zapora sieciowa firmy trzeciej (np. ESET, Symantec, Comodo, Kaspersky, Kerio, Bitdefender, Emsisoft, F-Secure itd.),

– serwer lub komputer jest podłączony do sprzętowej zapory sieciowej takiej firmy jak np. NETGEAR, Cisco, Juniper, Fortinet, MikroTik, DELL SonicWALL itd.

    • Poprawna nazwa serwera SQL

W niektórych przypadkach może zdarzyć się potrzeba zweryfikowania poprawnej nazwy serwera SQL. W tym celu należy zalogować się na serwer lub komputer, na którym zainstalowany jest program Microsoft SQL Server. Następnie z poziomu okna [Uruchom] wpisujemy polecenie [services.msc]. Po uruchomieniu okna [Usługi] należy znaleźć na liście pozycje związane z serwerem SQL. Poniższa grafika przedstawia wspomniane usługi.

W tym przypadku nazwa serwera SQL to MSSQLSERVER, która jest nazwą domyślną.
Jeśli wyświetlana jest inna nazwa serwera, np.:

W tym przypadku nazwa serwera SQL to nazwa serwera\SQLEXPRESS.

Po wykonaniu w/w czynności z powodzeniem połączymy się przez sieć z serwerem SQL za pośrednictwem programu maszfakture.pl.