SQL Server network configuration

Datamaze
06.07.22 10:57 AM Comment(s)

Introduzione ai network di SQL Server

La configurazione network di SQL Server è definita attraverso l'abilitazione dei protocolli che gestiscono la connessione a SQL Server stesso e dalla configurazione delle opzioni che questi protocolli di rete mettono a disposizione. Fornisce inoltre gli strumenti per crittografare la comunicazione tra l'istanza di SQL Server e le applicazioni client e nascondere l'esplorazione dell'istanza di SQL Server. Lo strumento che permette di gestire tale configurazione è il tool SQL Server Configuration Manager.


Descrizione dei protocolli di comunicazione

Di default SQL Server mette a disposizione tre principali protocolli di rete ma è necessario abilitarli (uno o più di essi) affinché siano fruibili dai client che li utilizzeranno per comunicare con l’istanza SQL. 


  • Protocollo Shared Memory 

Questo protocollo è utilizzato dai client per connettersi all'istanza SQL Server in esecuzione sulla stessa macchina. Non prevede configurazioni custom per poterlo utilizzare.


  • Protocollo TCP/IP

Questo è il protocollo di rete più comunemente utilizzato in SQL Server, permettendo di far comunicare tra loro computer con specifiche hardware e sistemi operativi differenti poiché include standard di instradamento del traffico di rete con protezione di sicurezza avanzata. Per impostazione predefinita, l'istanza di SQL Server è in ascolto sulla porta TCP 1433.


  • Protocollo Named Pipes

Questo protocollo è progettato per le reti locali, per consentire la comunicazione tra processi in esecuzione sulla stessa macchina o su un computer remoto nella stessa LAN, dove l'output di un processo è l'input del secondo, senza l’overhead introdotto dallo stack di rete.

Il valore predefinito del protocollo Named Pipes per l'istanza predefinita di SQL Server è \\.\pipe\sql\query e \\.\pipe\MSSQL$<nomeistanza>\sql\query per l'istanza named.


Configurazione dei protocolli

 

Segue una breve descrizione delle modalità di configurazione dei due protocolli TCP/IP e named pipes.

 

·  Configurazione Protocollo TCP/IP

 

Per configurare l’istanza SQL Server su una specifica porta TCP, aprire il SQL Server Configuration Manager ed espandere la voce SQL Server Network Configuration per visualizzare i Protocols for <instance Name>. Nella sezione di destra, right-click sul protocollo TCP/IP e quindi scegliere Properties:

 

TCP Properties

A questo punto scegliere il tab IP Addresses, dove è possibile vedere un nodo per ciascun indirizzo IP sul server, in aggiunta all’IP 127.0.0.1 localhost. Occorre innanzitutto assicurarsi che il box TCP Dynamic Ports sia vuoto al fine di evitare che l’istanza SQL Server usi porte TCP diverse ad ogni riavvio del server. Nel riquadro TCP Port sotto ciascun nodo IPn, definire il numero della porta TCP sulla quale si desidera che quell’IP sia in ascolto.


TCP/IP Properties

Sarà necessario riavviare il Servizio SQL Server affinché la nuova configurazione sia registrata e diventi quella effettivamente utilizzata. E’ possibile riavviare il servizio sempre dal SQL Server Configuration Manager.


NOTA - SQL Server Configuration Manager mostra tutti gli indirizzi IP che erano configurati sul server nel momento in cui è stato installato SQL Server. Gli IP disponibili possono cambiare quando si aggiungono o rimuovono schede di rete, quando un IP assegnato dinamicamente spira, quando la configurazione network viene modificata oppure quando il computer cambia la sua locazione fisica (ad esempio un laptop che si collega alla rete di un sito differente). Per modificare un indirizzo IP si editerà la casella IP Address e poi si riavvierà il SQL Server.

 

  • Configurazione Protocollo Named Pipes

 Per configurare l’istanza SQL Server su una specifica pipe aprire il SQL Server Configuration Manager ed espandere la voce SQL Server Network Configuration per visualizzare i Protocols for <instance Name>. Nella sezione di destra assicurarsi che sia abilitato il protocollo Named Pipe e quindi right-click sul protocollo e scegliere Properties:


Named Pipes

Nel tab Protocol all’interno della finestra Named Pipes Properties specificare in Pipe Name il valore della pipe su cui si desidera che l’istanza SQL Server ascolti e quindi premere OK.


Sarà necessario riavviare il Servizio SQL Server affinché il nuovo valore sia registrato e diventi quello effettivamente utilizzato. E’ possibile riavviare il servizio sempre dal SQL Server Configuration Manager.


Named Pipes Protocol SQL Server

Conclusioni

Se si dispone di una connessione LAN veloce, sia i client TCP/IP che Named Pipes avranno buone prestazioni. Con reti più lente, come WAN o reti remote, il protocollo Named Pipes può essere molto costoso e causare un traffico di rete eccessivo, poiché le comunicazioni di rete Named Pipes sono più interattive. Utilizzando il protocollo TCP/IP, le trasmissioni di dati sono più snelle con meno sovraccarico, il che rende il TCP/IP molto utile nelle connessioni di rete lente. In generale, il protocollo TCP/IP è migliore in una rete LAN, WAN o remota lenta. Il protocollo Named Pipes può essere una scelta migliore quando la velocità della rete è elevata, poiché offre più funzionalità, più facile da usare e dispone di più opzioni in fase di configurazione.


di Anna  Bruno, pubblicato il 6 luglio 2022