Sql Server: Come fissare una porta TCP in una named instance

Non è una cosa universalemente conosciuta, ma M$ Sql Server NON usa sempre la porta 1433/TCP.

A parte configurazioni “strane” che potete fare (come quella che Vi mostrerò nel seguito), quanto indicato sopra è il comportamento di default: non fidatevi di chi Vi dice il contrario.

Più in dettaglio se l’istanza è “nominata” la porta usata da Sql Server è dinamica.

Oss.: Per capire se un’istanza di Sql Server è nominata o meno basta “vedere” come Vi connettete ad essa: se dovete usare un qualcosa del genere servername\SQLExpress allora l’instanza è nominata, mentre se invece usate soltanto servername allora siamo in presenza di un’istanza NON nominata.

Quindi come dicevamo la famosa porta 1433/TCP viene usata solo dalle instanze NON nominate.

Per le istanze nominate la porta è dinamica, generalmente superiore alla 50000, e sopratutto cambia ad ogni riavvio.

Il motivo di questo è molto lungo da esporre, e potrebbe essere oggetto di un post futuro, ma per ora fidatemi di me: le cose stanno così.

Per diverse ragioni può essere necessario fissare questo comportamento di default, e obbligare l’istanza a usare una porta fissa.

Per fare occorre fare una operazione abbastanza semplice, che però non è così scontata, e Ve la riporto nel seguito.

  • Aprire il Sql Server Configuration Manager
  • Aprire il nodo Configurazione di rete di Sql Server
  • Aprire con il tasto destro la voce TCP/IP
  • Aprire la tab Indirizzi IP
  • In prossimità della voce Porta TCP/IP impostare la Vs porta (nel caso in figura 1450)
  • In prossimità della voce Porthe dinamiche TCP cancellare ogni valore

La figura nel seguito direi che dovrebbe essere abbastanza esplicativa.

Spero che questa informazione Vi sia utile !