Procedura: Configurazione del Motore di database per l'attesa su più porte TCP

Quando per SQL Server è attivato il protocollo TCP/IP, Motore di database resta in attesa di connessioni in ingresso su un punto di connessione costituito da un indirizzo IP e un numero di porta TCP. Nelle procedure seguenti viene creato un endpoint TDS (Tabular Data Stream) in modo che SQL Server resti in attesa su una porta TCP aggiuntiva.

Possibili motivi per la creazione di un secondo endpoint TDS:

  • Aumentare la protezione 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). Per ulteriori informazioni sulla configurazione di una porta TCP/IP su un nodo NUMA, vedere Modifiche che consentono il supporto NUMA in SQL Server.

[!NOTA]

La creazione di un nuovo endpoint 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].

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 ulteriori 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 Configurazione di 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
    

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 <instance_name>.

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

  3. Nel riquadro di destra, fare clic con il pulsante destro del mouse sugli indirizzi IP disattivati che si desidera attivare e quindi scegliere Attiva.

  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 desidera che Motore di database resti in attesa, separate da virgole. Nell'esempio, se è elencata la porta predefinita 1433, digitare ,1500 in modo che nella casella si legga 1433,1500 e quindi fare clic su OK.

    [!NOTA]

    Se non si sta attivando la porta su tutti gli indirizzi IP, configurare la porta aggiuntiva nella casella delle proprietà per il solo indirizzo desiderato. Quindi, nel riquadro della console, fare 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 destro, fare clic con il pulsante destro del mouse su SQL Server<instance_name> e quindi scegliere Riavvia.

    Dopo il riavvio di Motore di database, il log degli errori conterrà l'elenco delle porte sulle quali SQL Server è in attesa.

Per eseguire la connessione al nuovo endpoint

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

    sqlcmd -SACCT,1500