Entra

View Full Version : Connessione remota a database SQL SERVER EXPRESS 2008


jeremy.83
30-05-2017, 14:16
Buongiorno a tutti,

Faccio una piccola premessa per descrivere il contesto.
Ho realizzato una piccola applicazione di integrazione dati che va a leggere da un database sql server express 2008 installato in locale e va a scrivere sulla mia applicazione remota.
L'applicazione è scritta in java ed è funzionante se lanciata da un computer che appartiene alla stessa sottorete del server microsoft.

Se lanciata nella sottorete il tempo di esecuzione è di circa 10 minuti, molto probabilmente perchè spedisce i dati in upload, mentre se eseguita dal server della mia applicazione remota i tempi si abbassano a una 30ina di secondi circa.

Ovviamente eseguivo questa applicazione dal mio server remoto, prima che aggiornassero il server locale a Windows Server 2016, se non erro.

Dato che il manutentore del server SQL EXPRESS non è tanto esperto in configurazioni mi ha lasciato l'incombenza di sistemare porte e quant'altro per ottenere una connessione remota funzionante.

Ho seguito perciò questa guida: https://blogs.msdn.microsoft.com/walzenbach/2010/04/14/how-to-enable-remote-connections-in-sql-server-2008/

Ovviamente mi sono fatto aprire le porte 1433 e 1434 UDP dal gestore del router (hanno EOLO)

Il risultato è che in locale accedo e funziona tutto, in remoto niente. Nemmeno con SQL Server Management Studio riesco a collegarmi.

L'unica differenza tra la guida che ho linkato e la configurazione del server è che sul server sono abilitati sia Named Pipe che VIA.

Io sono veramente poco esperto in server windows, dato che maneggio solo server linux, quindi chiedo a voi se avete qualche suggerimento

Grazie in anticipo
Ciao

Kaya
30-05-2017, 15:07
LA butto lì...
1) Le porte se non sbaglio devono essere TCP e non UDP.
2) Oltre alle named pipe, va abilitato anche al trasporto TCP-IP ma questo dovrebbe già esserlo (sempre che mi confermi che in lan funziona tutto).

Aggiungo un punto per il quale suggerisco di filtrare con firewall le connessioni solo dal tuo ip, evitando di lasciare esposto al pubblico sql server

jeremy.83
30-05-2017, 15:49
LA butto lì...
1) Le porte se non sbaglio devono essere TCP e non UDP.
2) Oltre alle named pipe, va abilitato anche al trasporto TCP-IP ma questo dovrebbe già esserlo (sempre che mi confermi che in lan funziona tutto).

Aggiungo un punto per il quale suggerisco di filtrare con firewall le connessioni solo dal tuo ip, evitando di lasciare esposto al pubblico sql server

Ciao
Anche la 1434 TCP?

Sono d'accordo per il firewall, però la cosa non dipende da me, per ora mi interessa collegarmi

Dane
30-05-2017, 16:13
Ciao
Anche la 1434 TCP?

https://docs.microsoft.com/en-us/sql/sql-server/install/configure-the-windows-firewall-to-allow-sql-server-access


Sono d'accordo per il firewall, però la cosa non dipende da me, per ora mi interessa collegarmi

se non la bloccano perimetralmente, se non riuscite a tirare su una vpn e rimani tu con il cerino in mano, configura il firewall locale e accetta connessioni solo da IP che hai consentito.
Se non lo fai riceverai parecchi tentativi di bruteforce.

jeremy.83
30-05-2017, 16:31
https://docs.microsoft.com/en-us/sql/sql-server/install/configure-the-windows-firewall-to-allow-sql-server-access




se non la bloccano perimetralmente, se non riuscite a tirare su una vpn e rimani tu con il cerino in mano, configura il firewall locale e accetta connessioni solo da IP che hai consentito.
Se non lo fai riceverai parecchi tentativi di bruteforce.

Io ne so veramente poco di SQL SERVER, e di mestiere faccio il programmatore. Hanno già un sistemista + un sistemista per il router, sinceramente poco mi importa se subiscono bruteforce, io voglio solo collegarmi.
Quel server non è mio e chi l'ha messo in piedi sa fare e ha fatto solo Avanti Avanti Installa.

Comunque ti ringrazio per il link, se vedrò collaborazione dall'altra parte, proverò a seguire quella guida, che effettivamente non ero riuscito a trovare.

Grazie ancora

mmiat
31-05-2017, 10:38
ricordo di aver letto che MSSQL usa porte dinamiche (un'altra follia MS....), quindi bisogna configurarlo per usare solo le TCP 1433 e UDP 1434

jeremy.83
31-05-2017, 13:22
ricordo di aver letto che MSSQL usa porte dinamiche (un'altra follia MS....), quindi bisogna configurarlo per usare solo le TCP 1433 e UDP 1434

si si, quello l'ho fatto, se vedi la guida nel primo post suggerisce di mettere il valore delle porte dinamiche vuoto, anzichè zero, e così ho fatto.

Mi ha fatto specie il fatto che per attivare qualcosa si usi zero... :muro: