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

Si applica a:SQL Server

Questo articolo descrive come configurare il motore di database per l'ascolto su più porte TCP in SQL Server tramite Gestione configurazione SQL Server. Quando TCP/IP è abilitato per SQL Server, il motore di database rimane in ascolto delle connessioni in ingresso in un punto di connessione costituito da un indirizzo IP e un numero di porta TCP. Le procedure seguenti creano un endpoint TDS (Tabular Data Stream), in modo che SQL Server sia in ascolto su un'altra porta TCP.

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.

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]; .

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

Configurare il motore di database di SQL Server per l'ascolto su un'altra porta TCP

  1. In Gestione Configurazione di SQL Server, espandere Configurazione di rete di SQL Server e quindi selezionare Protocolli per<instance_name>.

  2. Espandere Protocolli per<instance_name> e quindi selezionare TCP/IP.

  3. Nel riquadro destro fare clic con il pulsante destro del mouse su ogni indirizzo IP disabilitato che si vuole abilitare e quindi scegliere Abilita.

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

  5. Nella casella Porta TCP, digitare le porte sulle quali si vuole che il motore di database ascolti, separate da virgole. In questo esempio, se la porta predefinita 1433 è elencata, digitare ,1500 in modo che la casella legge 1433.1500 e quindi selezionare OK.

    Nota

    Se non si abilita la porta in tutti gli indirizzi IP, configurare l'altra porta nella casella delle proprietà solo per l'indirizzo desiderato. Quindi, nel riquadro della console fare clic con il pulsante destro del mouse su TCP/IP, scegliere Proprietà e nella casella Ascolta tutto selezionare No.

  6. Nel riquadro sinistro selezionare Servizi di SQL Server.

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

    Quando il motore di database viene riavviato, il log degli errori elenca le porte in cui è in ascolto SQL Server.

Connettersi 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