Abilitare o disabilitare un protocollo di rete del serverEnable or Disable a Server Network Protocol

In questo argomento si applica a: SìSQL ServernonDatabase SQL di AzurenonAzure SQL Data Warehouse non Parallel Data WarehouseTHIS TOPIC APPLIES TO: yesSQL ServernoAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse Tutti i protocolli di rete vengono installati dal programma di installazione di SQL ServerSQL Server, ma è possibile abilitarli o meno. All network protocols are installed by SQL ServerSQL Server Setup, but may or may not be enabled. In questo argomento viene descritto come abilitare o disabilitare un protocollo di rete del server in SQL Server 2017SQL Server 2017 tramite Gestione configurazione SQL ServerSQL Server o PowerShell.This topic describes how to enable or disable a server network protocol in SQL Server 2017SQL Server 2017 by using SQL ServerSQL Server Configuration Manager or PowerShell. Per rendere effettive le modifiche, è necessario arrestare e riavviare il Motore di databaseDatabase Engine .The Motore di databaseDatabase Engine must be stopped and restarted for the change to take effect.

Importante

Durante l'installazione di SQL Server ExpressSQL Server Express viene aggiunto un account di accesso per il gruppo BUILTIN\Users.During setup of SQL Server ExpressSQL Server Express a login is added for the BUILTIN\Users group. In questo modo, tutti gli utenti autenticati del computer possono accedere all'istanza di SQL Server ExpressSQL Server Express come un membro del ruolo pubblico.This allows all authenticated users of the computer to access the instance of SQL Server ExpressSQL Server Express as a member of the public role. L'account di accesso BUILTIN\Users può essere rimosso in sicurezza per limitare l'accesso del Motore di databaseDatabase Engine agli utenti di computer che dispongono di account di accesso singoli o sono membri di altri gruppi di Windows con account di accesso.The BUILTIN\Users login can be safely removed to restrict Motore di databaseDatabase Engine access to computer users who have individual logins or are members of other Windows groups with logins.

Avviso

SQL ServerSQL Server e i provider di dati MicrosoftMicrosoft per SQL ServerSQL Server fino alla versione SQL Server 2014SQL Server 2014 supportano solo TLS 1.0 e SSL 3.0 per impostazione predefinita. and MicrosoftMicrosoft data providers for SQL ServerSQL Server up to SQL Server 2014SQL Server 2014 only support TLS 1.0 and SSL 3.0 by default. Se si applica un protocollo diverso, ad esempio TLS 1.1 o TLS 1.2, apportando modifiche nel livello SChannel del sistema operativo, le connessioni a SQL ServerSQL Server potrebbe avere esito negativo se non è stato installato l'aggiornamento appropriato per aggiungere il supporto per TLS 1.1 e 1.2 in SQL ServerSQL Server come descritto qui.If you enforce a different protocol (such as TLS 1.1 or TLS 1.2) by making changes in the operating system SChannel layer, your connections to SQL ServerSQL Server might fail unless you have installed the appropriate update to add support for TLS 1.1 and 1.2 to SQL ServerSQL Server which is listed here. A partire da SQL Server 2016SQL Server 2016, tutte le versioni di rilascio di SQL Server includono il supporto di TLS 1.2 e non richiedono aggiornamenti aggiuntivi.Starting from SQL Server 2016SQL Server 2016, all release versions of SQL Server include TLS 1.2 support without further updates required.

Contenuto dell'argomentoIn This Topic

Utilizzo di Gestione configurazione SQL ServerUsing SQL Server Configuration Manager

Per abilitare un protocollo di rete del serverTo enable a server network protocol

  1. Nel riquadro della console di Gestione configurazione SQL ServerSQL Server espandere Configurazione di rete SQL Server.In SQL ServerSQL Server Configuration Manager, in the console pane, expand SQL Server Network Configuration.

  2. Nel riquadro della console fare clic su Protocolli per <nome istanza>.In the console pane, click Protocols for <instance name>.

  3. Nel riquadro dei dettagli fare clic con il pulsante destro del mouse sul protocollo da modificare e quindi scegliere Abilita o Disabilita.In the details pane, right-click the protocol you want to change, and then click Enable or Disable.

  4. Nel riquadro della console fare clic su Servizi di SQL Server.In the console pane, click SQL Server Services.

  5. Nel riquadro dei dettagli fare clic con il pulsante destro del mouse su SQL Server (<nome istanza>), quindi scegliere Riavvia per arrestare e riavviare il servizio SQL ServerSQL Server.In the details pane, right-click SQL Server (<instance name>), and then click Restart, to stop and restart the SQL ServerSQL Server service.

Utilizzo di SQL Server PowerShellUsing SQL Server PowerShell

Per abilitare un protocollo di rete del server utilizzando PowerShellTo Enable a Server Network Protocol Using PowerShell

  1. Aprire un prompt dei comandi con autorizzazioni di amministratore.Using administrator permissions open a command prompt.

  2. Avviare Windows PowerShell dalla barra delle applicazioni oppure fare clic su Start, Tutti i programmi, Accessori, Windows PowerShell e quindi Windows PowerShell.Start Windows PowerShell from the taskbar, or click Start, then All Programs, then Accessories, then Windows PowerShell, then Windows PowerShell.

  3. Importare il modulo sqlps immettendo Import-Module "sqlps"Import the sqlps module by entering Import-Module “sqlps”

  4. Eseguire le seguenti istruzioni per abilitare i protocolli TCP e Named Pipes.Execute the following statements to enable both the TCP and named pipes protocols. Sostituire <computer_name> con il nome del computer in cui è in esecuzione SQL ServerSQL Server.Replace <computer_name> with the name of the computer that is running SQL ServerSQL Server. Se si configura un'istanza denominata, sostituire MSSQLSERVER con il nome dell'istanza.If you are configuring a named instance, replace MSSQLSERVER with the instance name.

    Per disabilitare i protocolli, impostare le proprietà IsEnabled su $false.To disable protocols, set the IsEnabled properties to $false.

    $smo = 'Microsoft.SqlServer.Management.Smo.'  
    $wmi = new-object ($smo + 'Wmi.ManagedComputer').  
    
    # List the object properties, including the instance names.  
    $Wmi  
    
    # Enable the TCP protocol on the default instance.  
    $uri = "ManagedComputer[@Name='<computer_name>']/ ServerInstance[@Name='MSSQLSERVER']/ServerProtocol[@Name='Tcp']"  
    $Tcp = $wmi.GetSmoObject($uri)  
    $Tcp.IsEnabled = $true  
    $Tcp.Alter()  
    $Tcp  
    
    # Enable the named pipes protocol for the default instance.  
    $uri = "ManagedComputer[@Name='<computer_name>']/ ServerInstance[@Name='MSSQLSERVER']/ServerProtocol[@Name='Np']"  
    $Np = $wmi.GetSmoObject($uri)  
    $Np.IsEnabled = $true  
    $Np.Alter()  
    $Np  
    

Per configurare i protocolli per il computer localeTo configure the protocols for the local computer

  • Quando lo script viene eseguito localmente e configura il computer locale, SQL ServerSQL Server PowerShell offre una maggiore flessibilità per lo script determinando dinamicamente il nome del computer locale.When the script is run locally and configures the local computer, SQL ServerSQL Server PowerShell can make the script more flexible by dynamically determining the local computer name. Per recuperare il nome del computer locale, sostituire la riga che imposta la variabile $uri con la riga seguente.To retrieve the local computer name, replace the line setting the $uri variable with the following line.

    $uri = "ManagedComputer[@Name='" + (get-item env:\computername).Value + "']/ServerInstance[@Name='MSSQLSERVER']/ServerProtocol[@Name='Tcp']"  
    

Per riavviare il Motore di database tramite SQL Server PowerShellTo restart the Database Engine by using SQL Server PowerShell

  • Dopo aver disabilitato o abilitato i protocolli, è necessario arrestare e riavviare il Motore di databaseDatabase Engine per rendere effettiva la modifica.After you enable or disable protocols, you must stop and restart the Motore di databaseDatabase Engine for the change to take effect. Eseguire le istruzioni seguenti per arrestare e avviare l'istanza predefinita tramite SQL ServerSQL Server PowerShell.Execute the following statements to stop and start the default instance by using SQL ServerSQL Server PowerShell. Per arrestare e avviare un'istanza denominata, sostituire 'MSSQLSERVER' con 'MSSQL$<instance_name>'.To stop and start a named instance replace 'MSSQLSERVER' with 'MSSQL$<instance_name>'.

    # Get a reference to the ManagedComputer class.  
    CD SQLSERVER:\SQL\<computer_name>  
    $Wmi = (get-item .).ManagedComputer  
    # Get a reference to the default instance of the Database Engine.  
    $DfltInstance = $Wmi.Services['MSSQLSERVER']  
    # Display the state of the service.  
    $DfltInstance  
    # Stop the service.  
    $DfltInstance.Stop();  
    # Wait until the service has time to stop.  
    # Refresh the cache.  
    $DfltInstance.Refresh();   
    # Display the state of the service.  
    $DfltInstance  
    # Start the service again.  
    $DfltInstance.Start();  
    # Wait until the service has time to start.  
    # Refresh the cache and display the state of the service.  
    $DfltInstance.Refresh(); $DfltInstance