I protocolli di rete di Sql Server

Giorgio Borelli

Microsoft Sql Server è un motore di database basato sull'architettura client/server, e così come molti sistemi basati su questa infrastruttura, per comunicare è necessario un protocollo di rete che porti le richieste del client al server e le risposte di quest'ultimo. Sql Server consente di utilizzare più di un protocollo di rete per consentire la comunicazione client server.

Quando il client cerca di comunicare con il server, usa un solo protocollo, tuttavia è possibile configurarli (i client) in modo che siano disponibili una serie di protocolli abilitati alla comunicazione secondo una sequenza preimpostata.

Quindi se per un qualche motivo il protocollo abilitato come predefinito non dovesse funzionare, il client può provare ad usare i protocolli abilitati secondo la sequenza definita.

Andiamo a scoprire quali protocolli di rete possono essere abilitati su Sql Server e quali sono le loro caratteristiche.

I protocolli di rete definiti in Sql Server sono quattro, e sono:

    • Shared Memory (memoria condivisa)
    • Named Pipes
    • TCP/IP
    • VIA (Virtual Interface Adapter, adattatore di rete virtuale)

Questi protocolli possono essere abilitati o meno sul server ed impostati secondo un ordine con il quale il client cercherà di usarli, esaminiamoli adesso un po più nel dettaglio.

Shared Memory: è il primo e più semplice dei protocolli che Sql Server tenta di far usare (se abilitato), infatti l'utilizzo di questo protocollo di rete è previsto quando la richiesta al server viene eseguita da un client che risiede sullo stesso computer del server, in parole povere quando facciamo una richiesta in locale sulla stessa macchina. Il protocollo a memoria condivisa a differenza degli altri non possiede alcuna proprietà e non può essere spostato dalla prima posizione dell'ordine di utilizzo.

Named Pipes: è un protocollo alternativo al TCP/IP usato da Sql Server per ambienti LAN (Local Area Network) che si basano su piattaforme Windows, esso sfrutta anche la memoria condivisa per la comunicazione tra processi in locale e quelli in rete.

TCP/IP: è il protocollo che rappresenta lo standard de facto alla base di tutta l'infrastruttura internet e delle reti in genere, ed anche Sql Server non fà eccezioni, lo utilizza per la comunicazione tra client e server sia in ambienti LAN che in remoto su WAN (quindi con capacità di networking, instradamento dei pacchetti). Per la comunicazione vengono usati i sockets, che è la combinazione dell'IP di una macchina in rete più una determinata porta, ad es. 192.168.1.33:1433 (IP:Porta = Socket), e rimane a mio avviso la scelta più adatta nella stragrande maggioranza dei casi, a meno di non star facendo delle prove in locale nelle quali è più performante e conveniente usare il protocollo Shared Memory.

VIA: è un protocollo che sfrutta l'hardware VIA per particolari schede ethernet su reti ad alta velocità, questo protocollo risulta essere deprecato e dovrebbe essere rimosso nelle versioni future di Sql Server.

Per abilitare o disabilitare uno di questi protocolli basta aprire il Sql Server Configuration Manager (vedi prima figura in alto) e portarsi alla voce Configurazione Sql Client -> Protocolli Client nella lista dei protocolli della schermata di dx, selezionarne uno col tasto dx del mouse e scegliere Abilita o Disabilita dalla voce del menù contestuale. Se invece volessimo variare l'ordine di utilizzo (eccetto Shared Memory), facciamo click col tasto dex del mouse proprio sulla voce "Protocolli Client" della colonna di sx, e selezioniamo proprietà, si aprirà la finestra delle proprietà che vedete nella figura sottostante:

Finestra delle proprietà dei protocolli di rete client di Sql Server nella quale impostare l'ordine di utilizzo

l'uso è davvero intuitivo, spostiamo i protocolli che ci interessa usare nella finestra di quelli abilitati (o li rimuoviamo eventualmente) e poi con le freccette laterali li spostiamo per definirne l'ordine di utlizzo.

Bene, questa voleva solo essere una breve presentazione ai protocolli di rete usati nella comunicazione dai client di Sql Server, alla fine possono bastare anche queste poche nozioni per sapersi destreggiare nell'utilizzo e nella scelta del protocollo da usare nella configurazione del server di Microsoft SQL, ad ogni modo sia su MSDN che su TechNet potete trovare documentazione, approfondimenti ed esempi ulteriori, basterà fare qualche semplice ricerca.

Chiunque voglia aggiungere qualcosa o chiedere ulteriori chiarimenti su "I Protocolli di rete che consentono la comunicazione client/server in Microsoft Sql Server", può farlo tramite i commenti, ogni vostro contributo alla discussione sarà gradito e contribuirà ad un approfondimente per una crescita comune.

Categorie: Reti | Sql Server

Tags: ,

Aggiungi Commento

biuquote
Loading