Cómo utilizar una secuencia de comandos mediante programación abrir puertos para SQL Server utilizar en sistemas que ejecutan Windows XP Service Pack 2

Seleccione idioma Seleccione idioma
Id. de artículo: 839980 - Ver los productos a los que se aplica este artículo
Expandir todo | Contraer todo

INTRODUCCIÓN

Microsoft Windows XP Service Pack 2 (SP2) incluye Firewall de Windows. Firewall de Windows es una versión mejorada de Firewall de conexión a Internet (ICF). De forma predeterminada, Windows Firewall está habilitado en los equipos que ejecutan Windows XP Service Pack 2. Firewall de Windows se bloquea algunas conexiones de red usan TCP/IP, que utilice canalizaciones con nombre, o que utilice llamada a procedimiento remoto (RPC) multiprotocolo. Este bloqueo puede afectar a Microsoft Data Engine (MSDE), Microsoft SQL Server 2000 y Microsoft SQL Server 2005.

Si tiene una aplicación que requiere SQL Server o MSDE tener acceso a la red utilizando canalizaciones con nombre, TCP/IP, o mediante RPC, puede utilizar las secuencias de comandos que se proporcionan en la sección "Más información" para abrir los puertos necesarios mediante programación en lugar de utilizar Firewall de Windows.

En este artículo se incluyen dos secuencias de comandos. La primera secuencia de comandos configura mediante programación Windows Firewall para permitir que SQL Server para escuchar en la red en todos los protocolos. Firewall de Windows para permitir que SQL Server escucha en TCP/IP sólo configura mediante programación con la segunda secuencia de comandos.

Nota Recomendamos que abrir puertos en sólo una base según sea necesario.


Las secuencias de comandos que se tratan en este artículo se proporcionan (RPC) multiprotocolo a través de acceso de canalizaciones con nombre sólo. Si está ejecutando RPC a través de TCP, consulte el siguiente artículo de Knowledge Base para obtener información acerca del uso de TCP/IP:
841252Cómo habilitar manualmente TCP/IP en el Service Pack 2 de Windows XP para SQL Server 2000

Más información

Una secuencia que se puede utilizar para abrir todos los puertos

La secuencia de comandos que se describe mediante programación en esta sección configura Firewall de Windows para permitir que SQL Server escuchar en la red en todos los protocolos.

notas importantes acerca de esta secuencia de comandos
  • Sólo se debe ejecutar esta secuencia de comandos en equipos que ejecutan Windows XP Service Pack 2.
  • Esta secuencia de comandos tiene opciones adicionales para habilitar canalizaciones y para habilitar (RPC) multiprotocolo.
  • Esta secuencia de comandos permite (RPC) multiprotocolo sólo a través de nombre canalizaciones y sólo se abre el puerto 445.
  • Esta secuencia de comandos no proporciona funcionalidad para especificar el ámbito.

Para crear la secuencia de comandos, siga estos pasos:
  1. Inicie el Bloc de notas.
  2. Copie y pegue el código siguiente en el Bloc de notas:
    echo off
    
    if "%1"=="-np" goto HandleNp
    if "%1"=="-rpc" goto HandleRpc
    if "%1"=="-tcp" goto HandleTcp
    if "%1"=="-browser" goto HandleBrowser
    
    rem Usage
    :Usage
    
    echo "Usage: setupSqlServerPortAll -[np | rpc | tcp | browser] -port [portnum] -[enable | disable]
    echo "-np : Setup SQLServer to listen on Named Pipe connections for local subnet only"
    echo "-rpc : Setup SQLServer to listen on RPC multiprotocol for local subnet only"
    echo "-tcp : Setup SQLServer to listen on TCP connections for local subnet only"
    echo "       Must specify a port if -tcp option is chosen."
    echo "-browser :  Setup SQLServer to provide SSRP service to support named instances"
    echo "-port : Applies only for tcp"
    echo " One of the following options MUST be specified"
    echo "-enable: Enables a port"
    echo "-disable: Disables a port"
    
    goto Exit
    
    :HandleTcp
    echo %2
    if "%2"=="-port" goto cont
    goto Usage
    :cont
    if "%3"=="" goto Usage
    if "%4"=="-enable" goto EnableTcp
    if "%4"=="-disable" goto DisableTcp
    goto Usage
    
    :EnableTcp
    echo "Enabling SQLServer tcp access for port %3 local subnet only"
    netsh firewall set portopening tcp %3 SQL%3 ENABLE subnet
    goto Exit
    
    :DisableTcp
    echo Disabling SQLServer tcp access for port %3 local subnet only"
    netsh firewall set portopening tcp %3 SQL%3 disable subnet 
    goto Exit
    
    :HandleNp
    if "%2"=="-enable" goto EnableNp
    if "%2"=="-disable" goto DisableNp
    goto Usage
    
    :EnableNp
    echo "Enabling SQLServer named pipe access for local subnet only"
    netsh firewall set portopening tcp 445 SQLNP ENABLE subnet
    goto Exit
    
    :DisableNp
    echo Disabling SQLServer named pipe access for local subnet only"
    netsh firewall set portopening tcp 445 SQLNP DISABLE subnet
    goto Exit
    
    :HandleRpc
    if "%2"=="-enable" goto EnableRpc
    if "%2"=="-disable" goto DisableRpc
    goto Usage
    
    :EnableRpc
    echo "Enabling SQLServer multiprotocol access for local subnet only"
    netsh firewall set portopening tcp 445 SQLNP enable subnet
    goto Exit
    
    :DisableRpc
    echo Disabling SQLServer multiprotocol access for local subnet only"
    netsh firewall set portopening tcp 445 SQLNP disable subnet
    goto Exit
    
    :HandleBrowser
    if "%2"=="-enable" goto EnableBrowser
    if "%2"=="-disable" goto DisableBrowser
    goto Usage
    
    :EnableBrowser
    echo "Enabling SQLServer SSRP service for local subnet only"
    netsh firewall set portopening udp 1434 SQLBrowser enable subnet
    goto Exit
    
    :DisableBrowser
    echo "Enabling SQLServer SSRP service for local subnet only"
    netsh firewall set portopening udp 1434 SQLBrowser disable subnet
    goto Exit
    
    :Exit
    endlocal
    
    
  3. Guarde el archivo como un archivo .txt y nombre del archivo ConfigSQLPorts.txt.
  4. Cambie el nombre del archivo ConfigSQLPorts.txt ConfigSQLPorts.bat.

Cuando se ejecuta la secuencia de comandos en el archivo ConfigSQLPorts.bat, debe utilizar el equipo que se guarda la secuencia de comandos. Para ejecutar la secuencia de comandos, siga estos pasos:
  1. Haga clic en Inicio , haga clic en Ejecutar , escriba cmd y, a continuación, haga clic en Aceptar .
  2. En la ventana de comandos, utilice el comando "cd" para cambiar las carpetas hasta que esté en la misma carpeta que se guarda el archivo ConfigSQLPorts.bat en. Por ejemplo, si se guarda el archivo ConfigSQLPorts.bat en C:\Myfiles, sería escriba myfiles CD en el símbolo del sistema y presione ENTRAR. Esto cambiará la carpeta de C:\Myfiles.
  3. Para ejecutar la secuencia de comandos ConfigSQLPorts.bat, escriba ConfigSQLPorts.bat en el símbolo del sistema y, a continuación, presione ENTRAR.




Una secuencia que se puede utilizar para abrir sólo los puertos TCP/IP

La secuencia de comandos que se describe en esta sección configura Windows Firewall para permitir que SQL Server para escuchar sólo en TCP/IP.

Para crear la secuencia de comandos, siga estos pasos:
  1. Inicie el Bloc de notas.
  2. Copie y pegue el código siguiente en el Bloc de notas:

    echo off
    setlocal
    
    if "%1"=="-port" goto HandleTcp
    
    rem Usage
    :Usage
    
    echo "Usage: setupSqlServerPort -port [portnum] -[enable | disable] [ALL | SUBNET]"
    echo -port : Specifies the port to be enabled or disabled. Port is not optional.
    echo -enable: Enables a port
    echo -enable ALL:  enables access for ALL
    echo -enable SUBNET:  enables access for SUBNET
    echo -disable: Disables a port
    echo  one of -enable or -disable must be specified
    echo  the default scope is SUBNET only
    
    goto Exit
    
    :HandleTcp
    if "%2"=="" goto Usage
    if "%3"=="-enable" goto EnableTcp
    if "%3"=="-disable" goto DisableTcp
    goto Usage
    
    
    :EnableTcp
    set SCOPE="%4"
    if "%4"=="ALL" echo "Enabling SQLServer tcp access for port %2 ALL access" 
    if "%4"=="SUBNET" echo "Enabling SQLServer tcp access for port %2 subnet only access"
    if "%4"=="" set SCOPE="SUBNET"
    
    netsh firewall set portopening tcp %2 SQL_PORT_%2 ENABLE %SCOPE%
    goto Exit
    
    :DisableTcp
    echo Disabling SQLServer tcp access for port %2"
    netsh firewall set portopening tcp %2 SQL_PORT_%2 disable 
    goto Exit
    
    :Exit
    endlocal
    
    
  3. Guarde el archivo como un archivo .txt y nombre del archivo SetupSqlServerPort.txt.
  4. Cambie el nombre del archivo SetupSqlServerPort.txt SetupSqlServerPort.bat.


Cuando se ejecuta la secuencia de comandos SetupSqlServerPort.bat, debe utilizar el equipo que se guarda la secuencia de comandos. Para ejecutar la secuencia de comandos, siga estos pasos:
  1. Haga clic en Inicio , haga clic en Ejecutar , escriba cmd y, a continuación, haga clic en Aceptar .
  2. En la ventana de comandos, utilice el comando "cd" para cambiar las carpetas hasta que esté en la misma carpeta que se guarda el archivo SetupSqlServerPort.bat en. Por ejemplo, si se guarda el archivo SetupSqlServerPort.bat en C:\Myfiles, sería escriba myfiles CD en el símbolo del sistema y presione ENTRAR. Esto cambiará la carpeta de C:\Myfiles.
  3. Para ejecutar la secuencia de comandos SetupSqlServerPort.bat, en el símbolo del sistema escriba setupSqlServerPort.bat y, a continuación, presione ENTRAR.


Referencias

Para obtener información adicional acerca de cómo configurar SQL Server 2000 y Windows XP Service Pack 2, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
841249Cómo configurar Windows XP Service Pack 2 (S) para su uso con SQL Server

Propiedades

Id. de artículo: 839980 - Última revisión: miércoles, 11 de enero de 2006 - Versión: 3.5
La información de este artículo se refiere a:
  • Microsoft SQL Server 2000 Desktop Engine (Windows)
  • Microsoft SQL Server 7.0 Standard Edition
  • Microsoft SQL Server, Desktop Edition
  • Microsoft Windows XP Embedded
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Express Edition
  • Microsoft SQL Server 2005 Workgroup Edition
  • Microsoft SQL Server 2000 Standard Edition
Palabras clave: 
kbmt kbfirewall kbinfo KB839980 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 839980

Enviar comentarios

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com