Como usar um script para abrir programaticamente portas para o SQL Server usar em sistemas que estejam executando o Windows XP Service Pack 2

Traduções deste artigo Traduções deste artigo
ID do artigo: 839980 - Exibir os produtos aos quais esse artigo se aplica.
Expandir tudo | Recolher tudo

INTRODUÇÃO

Microsoft Windows XP Service Pack 2 (SP2) inclui o Firewall do Windows. Firewall do Windows é uma versão aprimorada do Internet Connection Firewall (ICF). Por padrão, o Windows Firewall está ativado em computadores que executam o Windows XP Service Pack 2. Firewall do Windows bloqueará algumas conexões de rede que usam TCP/IP, que usam pipes nomeados, ou que usam multiprotocolo (RPC). Esse bloqueio pode afetar Microsoft Data Engine (MSDE), Microsoft SQL Server 2000 e Microsoft SQL Server 2005.

Se você tiver um aplicativo que requer o SQL Server ou MSDE tenham acesso à rede usando pipes nomeados, TCP/IP, ou usando a RPC, você pode usar os scripts que são fornecidos na seção "Mais informações" para abrir as portas necessárias através de programação em vez de usando o Firewall do Windows.

Dois scripts são incluídos neste artigo. O primeiro script programaticamente configura o Windows Firewall para permitir que o SQL Server para escutar na rede em todos os protocolos. Segundo script programaticamente configura o Firewall do Windows para permitir o SQL Server ouvir somente em TCP/IP.

Observação Recomendamos que você abra portas em uma base conforme necessidade somente.


Os scripts descritos neste artigo fornecem multiprotocolo (RPC) sobre o apenas acesso de pipes nomeados. Se você estiver executando o RPC sobre TCP, consulte o seguinte artigo Base de dados de Conhecimento Microsoft para obter informações sobre como usar o TCP/IP:
841252Como ativar manualmente o TCP/IP no Windows XP Service Pack 2 para o SQL Server 2000

Mais Informações

Um script que você pode usar para abrir todas as portas

O script que é abordado nesta seção programaticamente configura o Firewall do Windows para permitir que o SQL Server para escutar na rede em todos os protocolos.

Observações importantes sobre esse script
  • Esse script deve ser executado somente em computadores que executam o Windows XP Service Pack 2.
  • Esse script possui opções adicionais para a ativação de pipes nomeados e para habilitar o multiprotocolo (RPC).
  • Este script habilita multiprotocolo (RPC) somente por nome pipes e abre somente porta 445.
  • Esse script não fornece funcionalidade para especificar o escopo.

Para criar o script, execute essas etapas:
  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. Salve o arquivo como um arquivo .txt e nomeie o arquivo ConfigSQLPorts.txt.
  4. Renomeie o arquivo ConfigSQLPorts.txt para ConfigSQLPorts.bat.

Quando você executa o script no arquivo ConfigSQLPorts.bat, você deve usar o computador que o script é salvo em. Para executar o script, execute essas etapas:
  1. Clique em Iniciar , clique em Executar , digite cmd e, em seguida, clique em OK .
  2. Na janela de comando, use o comando "cd" para alterar pastas até que estejam na mesma pasta que o arquivo ConfigSQLPorts.bat é salvo na. Por exemplo, se o arquivo ConfigSQLPorts.bat for salvo no C:\Myfiles, você poderia digite CD myfiles no prompt de comando e pressione ENTER. Isso irá alterar a pasta para C:\Myfiles.
  3. Para executar o script ConfigSQLPorts.bat, digite ConfigSQLPorts.bat no prompt de comando e pressione ENTER.




Um script que você pode usar para abrir somente a portas TCP/IP

O script que é abordado nesta seção configura o Windows Firewall para permitir o SQL Server ouvir somente em TCP/IP.

Para criar o script, execute essas etapas:
  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. Salve o arquivo como um arquivo .txt e nomeie o arquivo SetupSqlServerPort.txt.
  4. Renomeie o arquivo SetupSqlServerPort.txt para SetupSqlServerPort.bat.


Quando você executa o script SetupSqlServerPort.bat, você deve usar o computador que o script é salvo em. Para executar o script, execute essas etapas:
  1. Clique em Iniciar , clique em Executar , digite cmd e, em seguida, clique em OK .
  2. Na janela de comando, use o comando "cd" para alterar pastas até que estejam na mesma pasta que o arquivo SetupSqlServerPort.bat é salvo na. Por exemplo, se o arquivo SetupSqlServerPort.bat for salvo no C:\Myfiles, você poderia digite CD myfiles no prompt de comando e pressione ENTER. Isso irá alterar a pasta para C:\Myfiles.
  3. Para executar o script SetupSqlServerPort.bat, no prompt de comando, digite setupSqlServerPort.bat e, em seguida, pressione 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 abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
841249Como configurar o Windows XP Service Pack 2 (SP1) para uso com o SQL Server

Propriedades

ID do artigo: 839980 - Última revisão: quarta-feira, 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 Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Express Edition
  • Microsoft SQL Server 2005 Workgroup Edition
  • 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 traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes 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