Habilitar o deshabilitar un protocolo de red de servidor

Todos los protocolos de red se instalan con el programa de instalación de SQL Server, pero se pueden habilitar o deshabilitar. En este tema se describe cómo habilitar o deshabilitar un protocolo de red de servidor en SQL Server 2012 mediante el administrador de configuración de SQL Server o PowerShell. Es preciso detener y reiniciar el Motor de base de datos para que el cambio surta efecto.

Nota de seguridadNota de seguridad

Durante la instalación de SQL Server Express se agrega un inicio de sesión para el grupo BUILTIN\Users. Esto permite que todos los usuarios autenticados del equipo tengan acceso a la instancia de SQL Server Express como un miembro del rol public. El inicio de sesión BUILTIN\Users se pueden quitar de manera segura para restringir el acceso del Motor de base de datos a los usuarios de equipos que tienen inicios de sesión individuales o son miembros de otros grupos de Windows con inicios de sesión.

En este tema

  • Para habilitar o deshabilitar un protocolo de red de servidor mediante:

    Administrador de configuración de SQL Server

    PowerShell

Usar el Administrador de configuración de SQL Server

Para habilitar un protocolo de red de servidor

  1. En el Administrador de configuración de SQL Server, en el panel de la consola, expanda Configuración de red de SQL Server.

  2. En el panel de la consola, haga clic en Protocolos de <instance name>.

  3. En el panel de detalles, haga clic con el botón secundario en el protocolo que desea cambiar y, a continuación, haga clic en Habilitar o Deshabilitar.

  4. En el panel de la consola, haga clic en Servicios de SQL Server.

  5. En el panel de detalles, haga clic con el botón secundario en SQL Server (<instance name>) y, a continuación, haga clic en Reiniciar para detener y reiniciar el servicio de SQL Server.

Icono de flecha usado con el vínculo Volver al principio[Top]

Usar SQL Server PowerShell

Para habilitar un protocolo de red de servidor mediante PowerShell

  1. Abra un símbolo del sistema utilizando permisos de administrador.

  2. Inicie Windows PowerShell 2.0 desde la barra de tareas, o haga clic en Inicio, en Todos los programas, en Accesorios, en Windows PowerShell y, por último, en Windows PowerShell.

  3. Importe el módulo sqlps escribiendo Import-Module “sqlps”

  4. Ejecute las siguientes instrucciones para habilitar los protocolos TCP y de canalizaciones con nombre. Reemplace <computer_name> por el nombre del equipo que ejecuta SQL Server. Si va a configurar una instancia con nombre, sustituya MSSQLSERVER por el nombre de la instancia.

    Para deshabilitar los protocolos, establezca las propiedades IsEnabled en $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 los protocolos en el equipo local

  • Cuando el script se ejecuta localmente y configura el equipo local, SQL Server PowerShell puede hacer que el script sea más flexible al determinar dinámicamente el nombre del equipo local. Para recuperar el nombre del equipo local, reemplace la línea donde se establece la variable $uri por la línea siguiente.

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

Para reiniciar el motor de base de datos mediante SQL Server PowerShell

  • Después de habilitar o deshabilitar protocolos, deberá detener y reiniciar Motor de base de datos para que se aplique el cambio. Ejecute las instrucciones siguientes para detener e iniciar la instancia predeterminada mediante SQL Server PowerShell. Para detener e iniciar una instancia con nombre, sustituya '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
    

Icono de flecha usado con el vínculo Volver al principio[Top]