Como utilizar um script programaticamente abrir portas para o SQL Server utilizar em sistemas que executem o Windows XP Service Pack 2

Traduções de Artigos Traduções de Artigos
Artigo: 839980 - Ver produtos para os quais este artigo se aplica.
Expandir tudo | Reduzir tudo

INTRODUÇÃO

Microsoft Windows XP Service Pack 2 (SP2) inclui o Firewall do Windows. Firewall do Windows é uma versão melhorada do Firewall de ligação À Internet (ICF). Por predefinição, o Windows Firewall está activado em computadores com o Windows XP Service Pack 2. Firewall do Windows irá bloquear algumas ligações de rede utilizam TCP/IP, que utiliza pipes nomeados ou que utilizam multiprotocolo chamada de procedimento remoto (RPC). Este bloqueio pode afectar o Microsoft Data Engine (MSDE), Microsoft SQL Server 2000 e Microsoft SQL Server 2005.

Se tiver uma aplicação que requer o SQL Server ou MSDE ter acesso à rede utilizando Named Pipes, TCP/IP, ou utilizando RPC, pode utilizar os scripts são fornecidos na secção "Mais informação" para abrir as portas necessárias por programação em vez de utilizar a Firewall do Windows.

Este artigo inclui dois scripts. O primeiro script programaticamente configura o Windows Firewall para permitir que o SQL Server para escutar a rede em todos os protocolos. O script segundo programaticamente configura a Firewall do Windows para permitir o SQL Server para escutar apenas o TCP/IP.

Nota Recomendamos que abrir portas apenas numa base conforme for necessário.


Os scripts que são discutidos neste artigo facultar multiprotocolo (RPC, Remote Procedure Call) apenas acesso de pipes nomeados. Se o RPC sobre TCP, consulte o seguinte artigo da base de dados de conhecimento da Microsoft para obter informações sobre como utilizar o TCP/IP:
841252Como activar manualmente o TCP/IP no Windows XP Service Pack 2 para o SQL Server 2000

Mais Informação

Um script que pode utilizar para abrir todas as portas

O script descrita nesta secção programaticamente configura a Firewall do Windows para permitir o SQL Server para escutar a rede em todos os protocolos.

notas importantes sobre este script
  • Este script só deve ser executado em computadores que executem o Windows XP Service Pack 2.
  • Este script tem opções adicionais para activar pipes nomeados e para activar multiprotocolo (RPC, Remote Procedure Call).
  • Este script permite multiprotocolo (RPC, Remote Procedure Call) apenas em com o nome encaminhamentos (pipes) e apenas abre a porta 445.
  • Este script não fornece funcionalidade para especificar o âmbito.

Para criar o script, siga estes passos:
  1. Inicie o bloco de notas.
  2. Copie e cole o seguinte código no bloco 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 o ficheiro como um ficheiro .txt e nomeie o arquivo ConfigSQLPorts.txt.
  4. Mudar o nome do ficheiro ConfigSQLPorts.txt para ConfigSQLPorts.bat.

Quando executar o script no ficheiro ConfigSQLPorts.bat, tem de utilizar o computador que o script é guardado no. Para executar o script, siga estes passos:
  1. Clique em Iniciar , clique em Executar , escreva cmd e, em seguida, clique em OK .
  2. Na janela de comandos, utilize o comando "cd" para alterar pastas até que estejam na mesma pasta que o ficheiro ConfigSQLPorts.bat é guardado. Por exemplo, se guardar o ficheiro ConfigSQLPorts.bat em C:\Myfiles, seria escreva CD myfiles na linha de comandos e, em seguida, prima ENTER. Isto irá alterar a pasta para C:\Myfiles.
  3. Para executar o script ConfigSQLPorts.bat, escreva ConfigSQLPorts.bat na linha de comandos e, em seguida, prima ENTER.




Um script que pode utilizar para abrir portas de TCP/IP

O script descrita nesta secção configura o Windows Firewall para permitir que o SQL Server para escutar apenas o TCP/IP.

Para criar o script, siga estes passos:
  1. Inicie o bloco de notas.
  2. Copie e cole o seguinte código no bloco 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 o ficheiro como um ficheiro .txt e nomeie o arquivo SetupSqlServerPort.txt.
  4. Mudar o nome do ficheiro SetupSqlServerPort.txt para SetupSqlServerPort.bat.


Quando executa o script SetupSqlServerPort.bat, tem de utilizar o computador que o script é guardado no. Para executar o script, siga estes passos:
  1. Clique em Iniciar , clique em Executar , escreva cmd e, em seguida, clique em OK .
  2. Na janela de comandos, utilize o comando "cd" para alterar pastas até que estejam na mesma pasta que o ficheiro SetupSqlServerPort.bat é guardado. Por exemplo, se guardar o ficheiro SetupSqlServerPort.bat em C:\Myfiles, seria escreva CD myfiles na linha de comandos e, em seguida, prima ENTER. Isto irá alterar a pasta para C:\Myfiles.
  3. Para executar o script SetupSqlServerPort.bat, na linha de comandos, escreva setupSqlServerPort.bat e, em seguida, prima ENTER.


Referências

Para obter informações adicionais sobre como configurar o SQL Server 2000 e Windows XP Service Pack 2, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
841249Como configurar o Windows XP Service Pack 2 (SP2) para utilização com o SQL Server

Propriedades

Artigo: 839980 - Última revisão: 11 de janeiro de 2006 - Revisão: 3.5
A informação contida neste artigo aplica-se 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 2005 Server Enterprise
  • Microsoft SQL Server 2005 Express Edition
  • Microsoft SQL 2005 Server Workgroup
  • Microsoft SQL Server 2000 Standard Edition
Palavras-chave: 
kbmt kbfirewall kbinfo KB839980 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 839980

Submeter comentários

 

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