Habilitar ou desabilitar um protocolo de rede de servidor

Aplica-se a: SQL Server (todas as versões com suporte)

Todos os protocolos de rede são instalados pela Instalação do SQL Server , mas podem ou não ser habilitados. Este tópico descreve como habilitar ou desabilitar um protocolo de rede de servidor no SQL Server usando o SQL Server Configuration Manager ou o PowerShell. O Mecanismo de Banco de Dados deve ser interrompido e reiniciado para que a alteração entre em vigor.

Importante

Durante instalação do SQL Server Express , é adicionado um logon para o grupo BUILTIN\Users. Assim, todos os usuários autenticados do computador podem acessar a instância do SQL Server Express como membros da função pública. O logon BUILTIN\Users pode ser removido com segurança para restringir o acesso a Mecanismo de Banco de Dados aos usuários do computador que têm logons individuais ou que são membros de outros grupos do Windows com logons.

Aviso

Os provedores de dados SQL Server e Microsoft do SQL Server até o SQL Server 2014 (12.x) somente dão suporte para TLS 1.0 e para SSL 3.0 por padrão. Se você impor um protocolo diferente (como o TLS 1.1 ou o TLS 1.2) fazendo alterações na camada SChannel do sistema operacional, as conexões ao SQL Server poderão falhar, a menos que você tenha instalado a atualização apropriada para adicionar suporte para TLS 1.1 e 1.2 ao SQL Server que está listada aqui. A começar no SQL Server 2016 (13.x), todas as versões de lançamento do SQL Server incluem suporte para TLS 1.2 sem a necessidade de atualizações adicionais.

Neste tópico

Usando o SQL Server Configuration Manager

Para habilitar um protocolo de rede de servidor

  1. No SQL Server Configuration Manager, no painel de console, expanda Configuração de Rede do SQL Server.

  2. No painel do console, clique em Protocolos de<nome da instância>.

  3. No painel de detalhes, clique com o botão direito do mouse no protocolo que você quer alterar e clique em Habilitar ou Desabilitar.

  4. No painel do console, clique em Serviços do SQL Server.

  5. No painel de detalhes, clique com botão direito do mouse em SQL Server (<nome da instância>) e, em seguida, clique em Reiniciar para parar e reiniciar o serviço do SQL Server.

Usando o SQL Server PowerShell

Para habilitar um protocolo de rede de servidor usando o PowerShell

  1. Usando as permissões de administrador, abra um prompt de comando.

  2. Inicie o Windows PowerShell na barra de tarefas ou clique em Iniciar, Todos os Programas, Acessórios, Windows PowerShell e Windows PowerShell.

  3. Importe o módulo sqlps inserindo Import-Module "sqlps"

  4. Execute as instruções a seguir para habilitar os protocolos TCP e de pipes nomeados. Substitua <computer_name> pelo nome do computador que está executando o SQL Server. Se estiver configurando uma instância nomeada, substitua MSSQLSERVER pelo nome da instância.

    Para desabilitar protocolos, defina as propriedades IsEnabled como $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  
    

Para configurar os protocolos para o computador local

  • Quando o script é executado localmente e configura o computador local, o SQL Server PowerShell pode tornar o script mais flexível determinando o nome do computador local dinamicamente. Para recuperar o nome de computador local, substitua a linha que define a variável $uri pela linha a seguir.

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

Para reiniciar o Mecanismo de Banco de Dados usando o SQL Server PowerShell

  • Depois de habilitar ou desabilitar os protocolos, você deve parar e reiniciar o Mecanismo de Banco de Dados para que a alteração entre em vigor. Execute as instruções a seguir para parar e iniciar a instância padrão usando o SQL Server PowerShell. Para parar e iniciar uma instância nomeada, substitua 'MSSQLSERVER' por '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