Configurare il motore di database per l'attesa su più porte TCP

Si applica a:SQL Server

Questo argomento illustra come configurare il motore di database per l'ascolto su più porte TCP in SQL Server usando Gestione configurazione SQL Server. Quando TCP/IP è abilitato per SQL Server, il motore di database è in attesa delle connessioni in ingresso su un punto di connessione composto da un indirizzo IP e dal numero di porta TCP. Le procedure riportate di seguito consentono di creare un endpoint del flusso TDS, in modo che SQL Server possa essere in ascolto su una porta TCP aggiuntiva.

Possibili motivi per la creazione di un secondo endpoint TDS:

  • Aumentare la sicurezza configurando il firewall in modo da limitare l'accesso all'endpoint predefinito ai computer client locali in una subnet specifica. Mantenere l'accesso tramite Internet a SQL Server per il personale di supporto tecnico, creando un nuovo endpoint che il firewall espone a Internet e autorizzando la connessione all'endpoint al solo personale di supporto tecnico del server.

  • Impostare l'affinità fra connessioni e processori specifici quando si utilizza la configurazione NUMA (Non-Uniform Memory Access).

La configurazione di un endpoint TDS include i passaggi seguenti, che possono essere eseguiti in qualsiasi ordine:

  • Creare l'endpoint TDS per la porta TCP e ripristinare l'accesso all'endpoint predefinito, ove appropriato.

  • Concedere l'accesso all'endpoint alle entità del server desiderate.

  • Specificare il numero della porta TCP per l'indirizzo IP selezionato.

Per altre informazioni sulle impostazioni predefinite di Windows Firewall e per una descrizione delle porte TCP che interessano il motore di database, Analysis Services, Reporting Services e Integration Services, vedere Configurare Windows Firewall per consentire l'accesso a SQL Server.

Per creare un endpoint TDS

  • Eseguire l'istruzione seguente per creare un endpoint denominato CustomConnection per la porta 1500 per tutti gli indirizzi TCP disponibili nel server.

    USE master;  
    GO  
    CREATE ENDPOINT [CustomConnection]  
    STATE = STARTED  
    AS TCP  
       (LISTENER_PORT = 1500, LISTENER_IP =ALL)  
    FOR TSQL() ;  
    GO  
    

La creazione di un nuovo endpoint di Transact-SQL comporta la revoca delle autorizzazioni di connessione public nell'endpoint TDS predefinito. Se per l'endpoint predefinito è necessario l'accesso al gruppo public , riapplicare l'autorizzazione utilizzando l'istruzione GRANT CONNECT ON ENDPOINT::[TSQL Default TCP] to [public]; .

Per concedere l'accesso all'endpoint

  • Eseguire l'istruzione seguente per concedere l'accesso all'endpoint CustomConnection al gruppo SQLSupport nel dominio aziendale.

    GRANT CONNECT ON ENDPOINT::[CustomConnection] to [corp\SQLSupport] ;  
    GO  
    

Per configurare il Motore di database di SQL Server per l'attesa su una porta TCP aggiuntiva

  1. In Gestione configurazione SQL Server espandere Configurazione di rete SQL Server e quindi fare clic su Protocolli per<nome_istanza>.

  2. Espandere Protocolli per<nome_istanza> e quindi fare clic su TCP/IP.

  3. Nel riquadro di destra, fare clic con il pulsante destro del mouse sugli indirizzi IP disabilitati da attivare, quindi scegliere lita.

  4. Fare clic con il pulsante destro del mouse su IPAlle quindi scegliere Proprietà.

  5. Nella casella Porta TCP digitare le porte sulle quali si vuole che il motore di database resti in attesa, separate da virgole. Nell'esempio, se è elencata la porta predefinita 1433, digitare ,1500 in modo che il valore nella casella sia 1433,1500e quindi fare clic su OK.

    Nota

    Se non si sta abilitando la porta su tutti gli indirizzi IP, configurare la porta aggiuntiva nella casella delle proprietà per il solo indirizzo desiderato. Nel riquadro della console fare quindi clic con il pulsante destro del mouse su TCP/IP, scegliere Proprietàe nella casella Attesa su tutti selezionare No.

  6. Nel riquadro di sinistra fare clic su Servizi di SQL Server.

  7. Nel riquadro di destra fare clic con il pulsante destro del mouse su SQL Server<nome_istanza> e quindi scegliere Riavvia.

    Dopo il riavvio del motore di database, nel log degli errori verranno elencate le porte su cui SQL Server è in ascolto.

Per eseguire la connessione al nuovo endpoint

  • Per eseguire la connessione all'endpoint CustomConnection dell'istanza predefinita di SQL Server nel server ACCT, usando una connessione trusted e supponendo che l'utente sia membro del gruppo [corp\SQLSupport], eseguire questa istruzione.

    sqlcmd -SACCT,1500  
    

Vedi anche

CREATE ENDPOINT (Transact-SQL)
DROP ENDPOINT (Transact-SQL)
Autorizzazioni per endpoint GRANT (Transact-SQL)
Eseguire il mapping delle porte TCP/IP ai nodi NUMA (SQL Server)