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

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
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 offif "%1"=="-np" goto HandleNpif "%1"=="-rpc" goto HandleRpcif "%1"=="-tcp" goto HandleTcpif "%1"=="-browser" goto HandleBrowserrem Usage:Usageecho "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:HandleTcpecho %2if "%2"=="-port" goto contgoto Usage:contif "%3"=="" goto Usageif "%4"=="-enable" goto EnableTcpif "%4"=="-disable" goto DisableTcpgoto Usage:EnableTcpecho "Enabling SQLServer tcp access for port %3 local subnet only"netsh firewall set portopening tcp %3 SQL%3 ENABLE subnetgoto Exit:DisableTcpecho Disabling SQLServer tcp access for port %3 local subnet only"netsh firewall set portopening tcp %3 SQL%3 disable subnet goto Exit:HandleNpif "%2"=="-enable" goto EnableNpif "%2"=="-disable" goto DisableNpgoto Usage:EnableNpecho "Enabling SQLServer named pipe access for local subnet only"netsh firewall set portopening tcp 445 SQLNP ENABLE subnetgoto Exit:DisableNpecho Disabling SQLServer named pipe access for local subnet only"netsh firewall set portopening tcp 445 SQLNP DISABLE subnetgoto Exit:HandleRpcif "%2"=="-enable" goto EnableRpcif "%2"=="-disable" goto DisableRpcgoto Usage:EnableRpcecho "Enabling SQLServer multiprotocol access for local subnet only"netsh firewall set portopening tcp 445 SQLNP enable subnetgoto Exit:DisableRpcecho Disabling SQLServer multiprotocol access for local subnet only"netsh firewall set portopening tcp 445 SQLNP disable subnetgoto Exit:HandleBrowserif "%2"=="-enable" goto EnableBrowserif "%2"=="-disable" goto DisableBrowsergoto Usage:EnableBrowserecho "Enabling SQLServer SSRP service for local subnet only"netsh firewall set portopening udp 1434 SQLBrowser enable subnetgoto Exit:DisableBrowserecho "Enabling SQLServer SSRP service for local subnet only"netsh firewall set portopening udp 1434 SQLBrowser disable subnetgoto Exit:Exitendlocal
  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 offsetlocalif "%1"=="-port" goto HandleTcprem Usage:Usageecho "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 portecho -enable ALL:  enables access for ALLecho -enable SUBNET:  enables access for SUBNETecho -disable: Disables a portecho  one of -enable or -disable must be specifiedecho  the default scope is SUBNET onlygoto Exit:HandleTcpif "%2"=="" goto Usageif "%3"=="-enable" goto EnableTcpif "%3"=="-disable" goto DisableTcpgoto Usage:EnableTcpset 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:DisableTcpecho Disabling SQLServer tcp access for port %2"netsh firewall set portopening tcp %2 SQL_PORT_%2 disable goto Exit:Exitendlocal
  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
error de conexión Springboard secuencia de comandos

Advertencia: este artículo se tradujo automáticamente

Propiedades

Id. de artículo: 839980 - Última revisión: 01/11/2006 21:34:09 - Revisión: 3.5

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

  • kbmt kbfirewall kbinfo KB839980 KbMtes
Comentarios