L'utilizzo di uno script per aprire a livello di programmazione le porte per SQL Server utilizzare su sistemi che eseguono Windows XP Service Pack 2

Traduzione articoli Traduzione articoli
Identificativo articolo: 839980 - Visualizza i prodotti a cui si riferisce l?articolo.
Espandi tutto | Chiudi tutto

INTRODUZIONE

Microsoft Windows XP Service Pack 2 (SP2) è disponibile Windows Firewall. Windows Firewall è una versione avanzata di Internet Connection Firewall (ICF). Per impostazione predefinita, Windows Firewall è attivato sul computer che eseguono Windows XP Service Pack 2. Windows Firewall bloccherà alcune connessioni di rete utilizzano il protocollo TCP/IP, che utilizzano named pipe, o che utilizzano Multiprotocol RPC (Remote Procedure Call). Questo blocco può interessano Microsoft Data Engine (MSDE), Microsoft SQL Server 2000 e Microsoft SQL Server 2005.

Se si dispone di un'applicazione che richiede SQL Server o MSDE per avere accesso alla rete utilizzando named pipe, utilizzando TCP/IP o tramite RPC, è possibile utilizzare gli script disponibili nella sezione "Ulteriori informazioni" per aprire le porte richieste a livello di codice anziché utilizzare Windows Firewall.

Due script sono inclusi in questo articolo. Il primo script configura a livello di programmazione di Windows Firewall per consentire a SQL Server per l'ascolto sulla rete in tutti i protocolli. Il secondo script a livello di codice consente di configurare Windows Firewall per consentire a SQL Server per l'ascolto su TCP/IP solo.

Nota Si consiglia di aprire le porte solo una base alle esigenze.


Gli script descritti in questo articolo consentono multiprotocollo (RPC) tramite Named Pipes solo l'accesso. Se si utilizza RPC su TCP, vedere il seguente articolo della Microsoft Knowledge Base per informazioni sull'utilizzo di TCP/IP:
841252Istruzioni per attivare manualmente il TCP/IP in Windows XP Service Pack 2 per SQL Server 2000

Informazioni

Uno script che è possibile utilizzare per aprire tutte le porte

Lo script descritti in questa sezione a livello di codice consente di configurare Windows Firewall per consentire a SQL Server per l'ascolto sulla rete in tutti i protocolli.

note importanti su questo script
  • Questo script deve essere eseguito solo su computer che eseguono Windows XP Service Pack 2.
  • Questo script presenta altre opzioni per l'attivazione di named pipe e per l'attivazione multiprotocollo (RPC).
  • Questo script consente multiprotocollo (RPC) solo su named pipe e verrà visualizzata solo la porta 445.
  • Questo script non fornisce funzionalità per specificare l'ambito.

Per creare lo script, attenersi alla seguente procedura:
  1. Avviare il Blocco note.
  2. Copiare e incollarvi il codice riportato di seguito:
    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. Salvare il file come file con estensione txt e denominare il file ConfigSQLPorts.txt.
  4. Rinominare il file ConfigSQLPorts.txt ConfigSQLPorts.bat.

Quando si esegue lo script nel file ConfigSQLPorts.bat, è necessario utilizzare tale lo script viene salvato sul computer. Per eseguire lo script, attenersi alla seguente procedura:
  1. Fare clic su Start , scegliere Esegui , digitare cmd e quindi fare clic su OK .
  2. Nella finestra di comando, è necessario utilizzare il comando "cd" per modificare le cartelle finché non si è nella stessa cartella salvato il file ConfigSQLPorts.bat in. Ad esempio, se il file ConfigSQLPorts.bat viene salvato in C:\Myfiles, digitare CD mieifile al prompt dei comandi e quindi premere INVIO. La cartella verrà modificato per C:\Myfiles.
  3. Per eseguire lo script ConfigSQLPorts.bat, digitare ConfigSQLPorts.bat al prompt dei comandi e premere INVIO.




Uno script che è possibile utilizzare per aprire solo le porte TCP/IP

Lo script descritti in questa sezione consente di configurare Windows Firewall per consentire a SQL Server per l'ascolto su TCP/IP solo.

Per creare lo script, attenersi alla seguente procedura:
  1. Avviare il Blocco note.
  2. Copiare e incollarvi il codice riportato di seguito:

    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. Salvare il file come file con estensione txt e denominare il file SetupSqlServerPort.txt.
  4. Rinominare il file SetupSqlServerPort.txt SetupSqlServerPort.bat.


Quando si esegue lo script SetupSqlServerPort.bat, è necessario utilizzare tale lo script viene salvato sul computer. Per eseguire lo script, attenersi alla seguente procedura:
  1. Fare clic su Start , scegliere Esegui , digitare cmd e quindi fare clic su OK .
  2. Nella finestra di comando, è necessario utilizzare il comando "cd" per modificare le cartelle finché non si è nella stessa cartella salvato il file SetupSqlServerPort.bat in. Ad esempio, se il file SetupSqlServerPort.bat viene salvato in C:\Myfiles, digitare CD mieifile al prompt dei comandi e quindi premere INVIO. La cartella verrà modificato per C:\Myfiles.
  3. Per eseguire lo script SetupSqlServerPort.bat, al prompt dei comandi digitare setupSqlServerPort.bat e quindi premere INVIO.


Riferimenti

Per ulteriori informazioni sulla configurazione di SQL Server 2000 e Windows XP Service Pack 2, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito riportato:
841249Come configurare Windows XP Service Pack 2 (S) per l'utilizzo con SQL Server

Proprietà

Identificativo articolo: 839980 - Ultima modifica: mercoledì 11 gennaio 2006 - Revisione: 3.5
Le informazioni in questo articolo si applicano 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
Chiavi: 
kbmt kbfirewall kbinfo KB839980 KbMtit
Traduzione automatica articoli
Il presente articolo è stato tradotto tramite il software di traduzione automatica di Microsoft e non da una persona. Microsoft offre sia articoli tradotti da persone fisiche sia articoli tradotti automaticamente da un software, in modo da rendere disponibili tutti gli articoli presenti nella nostra Knowledge Base nella lingua madre dell?utente. Tuttavia, un articolo tradotto in modo automatico non è sempre perfetto. Potrebbe contenere errori di sintassi, di grammatica o di utilizzo dei vocaboli, più o meno allo stesso modo di come una persona straniera potrebbe commettere degli errori parlando una lingua che non è la sua. Microsoft non è responsabile di alcuna imprecisione, errore o danno cagionato da qualsiasi traduzione non corretta dei contenuti o dell?utilizzo degli stessi fatto dai propri clienti. Microsoft, inoltre, aggiorna frequentemente il software di traduzione automatica.
Clicca qui per visualizzare la versione originale in inglese dell?articolo: 839980
LE INFORMAZIONI CONTENUTE NELLA MICROSOFT KNOWLEDGE BASE SONO FORNITE SENZA GARANZIA DI ALCUN TIPO, IMPLICITA OD ESPLICITA, COMPRESA QUELLA RIGUARDO ALLA COMMERCIALIZZAZIONE E/O COMPATIBILITA' IN IMPIEGHI PARTICOLARI. L'UTENTE SI ASSUME L'INTERA RESPONSABILITA' PER L'UTILIZZO DI QUESTE INFORMAZIONI. IN NESSUN CASO MICROSOFT CORPORATION E I SUOI FORNITORI SI RENDONO RESPONSABILI PER DANNI DIRETTI, INDIRETTI O ACCIDENTALI CHE POSSANO PROVOCARE PERDITA DI DENARO O DI DATI, ANCHE SE MICROSOFT O I SUOI FORNITORI FOSSERO STATI AVVISATI. IL DOCUMENTO PUO' ESSERE COPIATO E DISTRIBUITO ALLE SEGUENTI CONDIZIONI: 1) IL TESTO DEVE ESSERE COPIATO INTEGRALMENTE E TUTTE LE PAGINE DEVONO ESSERE INCLUSE. 2) I PROGRAMMI SE PRESENTI, DEVONO ESSERE COPIATI SENZA MODIFICHE, 3) IL DOCUMENTO DEVE ESSERE DISTRIBUITO INTERAMENTE IN OGNI SUA PARTE. 4) IL DOCUMENTO NON PUO' ESSERE DISTRIBUITO A SCOPO DI LUCRO.

Invia suggerimenti

 

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