Você está offline; aguardando reconexão

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

Extended support for SQL Server 2005 ends on April 12, 2016

If you are still running SQL Server 2005 after April 12, 2016, you will no longer receive security updates and technical support. We recommend upgrading to SQL Server 2014 and Azure SQL Database to achieve breakthrough performance, maintain security and compliance, and optimize your data platform infrastructure. Learn more about the options for upgrading from SQL Server 2005 to a supported version here.

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
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 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. 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 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. 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
Erro de conexão script Springboard

Propriedades

ID do Artigo: 839980 - Última Revisão: 01/11/2006 21:34:09 - Revisão: 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 KbMtpt
Comentários