1.  Připojení klienta IMES k serveru

Jméno serveru a databáze se nastavuje při spouštění programu IMES pod záložkou nastavení.

Je možné zadávat jméno serveru nebo IP adresu serveru.

Pokud spojení nefunguje, tak je problém:

a)    Přihlašujete se k nesprávnému serveru/ databázi – zkontrolujte, případně zkuste zadat místo názvu serveru IP adresu

b)    Zapnut firewall, který komunikaci zamezí – zkuste nejdříve firewall vypnout a posléze zadat výjimku na konkrétní port defaultně 1433 (podrobně viz. bod 2)

c)     jiný port než 1433 - nutno zjistit v TCP/IP (viz. bod 2) a v nastavení jména serveru zadat -  IPadresa,port    

d)    zakázán protokol TCP-IP na klientovi nebo serveru – v nastavení TCP/IP (na serveru Start/Všechny Programy/Microsoft SQL Server 2005/Configuration Tools/SQL Server Configuration Manager  - na klientovi CMD à cliconfg.exe) povolit TCP/IP protokol (enabled),

který je někdy po instalaci PC zakázán (disabled)

 

Možno dále vyzkoušet příkazy cmd – ping serverIP ,  telnet serverIP 1433  -  tyto příkazy ukazují na nejnižší úrovni (bez ovlivnění protokoly) jestli server odpovídá.

 

2.  IS IMES - SQL server – komunikace při zapnutém firewallu (povolení portu)

Aplikace komunikují s SQL Serverem pomocí portů. Ty mohou být dynamické a stálé. Standardně běží SQL Server na portu 1433. Pokud však na daném serveru běží nějaká další instalace SQL Serveru, je mu v lepším případě přiděleno náhodně další číslo portu. Aby to však nebylo příliš jednoduché, ty porty mohou být dynamicky přidělovány a při případném restartu vlastního serveru jim mohou být přiděleny porty zcela jiné. Jiná čísla portů též představují jakousi ochranu proti případným narušitelům. Navíc to ještě komplikují firewally na straně serveru, které filtrují přístupy na server a standardně na něj nic moc nepustí. Abychom dokázali zajistit bezproblémový provoz našich aplikací při zapnutém firewallu, je potřeba zajistit následující:

      1. nastavit porty serveru, na kterých běží IMES, jako pevné

      2. na firewallu na tyto porty zajistit výjimku (pro TCP port - příchozí)

      3. na klientovi směřovat požadavek na připojení na vybraný pevný port

 

      Přikládám několik obrázků jak toho dosáhnout:

      Ad 1, na serveru spusťte přes Start/Všechny Programy/Microsoft SQL Server 2005/Configuration Tools/SQL Server Configuration Manager  (na klientovi CMD à cliconfg.exe). V tomto správci nastavte pro TCP/IP protokol a všechna definovaná síťová připojení pevný port (buď 1433 nebo jakýkoliv jiný do čísla 4072 - běžně dáváme 1450). Nové nastavení uložte a SQL

 

 

Server je poté nutno restartovat:

 

 

 

      Ad 2, nastavte výjimku pro definovaný pevný port (v našem případě 1450):

 

 

      Ad3, při připojení na server je potřeba zadat jednu z následujících variant připojení (záleží na situaci ve Vaší síti):

 

            nazevServeru\nazev instance        (např. LADAS\SOFTOK)

            nazevServeru\nazev instance,port (např. LADAS\SOFTOK,1450)

            IP adresu\nazev instance              (např. 192.168.100.10\SOFTOK)

            IP adresu\nazev instance,port       (např. 192.168.100.10\SOFTOK,1450)

            IP adresu,číslo portu                    (např. 192.168.100.10,1450)

            nazevServeru,číslo portu              (např. LADAS,1450)

 

 

      A nakonec ještě jedna utilita. Pokud v příkazovém řádku spustíte příkaz netstat, netstat –a, netstat –a –n můžete sledovat, jaké porty máte otevřené (naslouchají) pro komunikaci zvenku, popř. které se využívají (komunikace je navázána). Názorně je to vidět na následujícím příkladu, který nastal po spuštění příkazu netstat –a –n na mém počítači:

 

             

      Je vidět, že mám povolen port 1490 (bod 1) a přes tento port jsou aktuálně volána 3 připojení na SQL Serveru (v tomto případě z toho samého počítače).