Comment faire pour utiliser un script pour ouvrir par programmation des ports pour SQL Server à utiliser sur les systèmes qui exécutent Windows XP Service Pack 2

Traductions disponibles Traductions disponibles
Numéro d'article: 839980 - Voir les produits auxquels s'applique cet article
Agrandir tout | Réduire tout

INTRODUCTION

Microsoft Windows XP Service Pack 2 (SP2) comprend le Pare-feu Windows. Le pare-feu Windows est une version améliorée du pare-feu de connexion Internet (ICF). Par défaut, Windows pare-feu est activé sur les ordinateurs qui exécutent Windows XP Service Pack 2. Le pare-feu Windows bloque certains réseau connexion qui utilisent TCP/IP, qui utilisent des canaux nommés (Named Pipes), ou qui utilisent service appel de procédure distante (RPC) multiprotocole. Ce blocage peut affecter Microsoft Data Engine (MSDE), Microsoft SQL Server 2000 et Microsoft SQL Server 2005.

Si vous avez une application qui requiert SQL Server ou MSDE pour avoir accès au réseau en utilisant les canaux nommés (Named Pipes), à l'aide de TCP/IP ou à l'aide de RPC, vous pouvez utiliser les scripts qui sont fournies dans la section « Plus informations » pour ouvrir les ports requis par programme au lieu d'utiliser le Pare-feu Windows.

Deux scripts sont inclus dans cet article. Le premier script configure par programmation Windows pare-feu pour autoriser les SQL Server pour écouter sur le réseau sur tous les protocoles. Le second script configure par programmation le pare-feu Windows pour autoriser SQL Server pour écouter sur TCP/IP uniquement.

note Nous vous recommandons que vous ouvrez ports sur une en fonction des besoins uniquement.


Les scripts qui sont abordées dans cet article fournissent service (RPC) multiprotocole sur Canaux nommés (Named Pipes) l'accès uniquement. Si vous exécutez RPC sur TCP, consultez l'article Base de connaissances Microsoft suivant pour plus d'informations sur l'utilisation de TCP/IP :
841252 Comment faire pour activer manuellement TCP/IP sur Windows XP Service Pack 2 pour SQL Server 2000

Plus d'informations

Un script que vous pouvez utiliser pour ouvrir tous les ports

Le script qui est décrit dans cette section par programmation configure le pare-feu Windows pour autoriser SQL Server pour écouter sur le réseau sur tous les protocoles.

Remarques importantes relatives à ce script
  • Ce script doit uniquement être exécuté sur les ordinateurs qui exécutent Windows XP Service Pack 2.
  • Ce script contient des options supplémentaires pour l'activation de canaux nommés et pour activer le service (RPC) multiprotocole.
  • Ce script permet service (RPC) multiprotocole uniquement sur nom canaux et ouvre uniquement port 445.
  • Ce script ne fournit pas les fonctionnalités pour spécifier l'étendue.

Pour créer le script, procédez comme suit :
  1. Démarrez le Bloc-notes.
  2. Copiez et collez le code suivant dans le Bloc-notes :
    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. Enregistrez le fichier en tant que fichier .txt et attribuez un nom au fichier ConfigSQLPorts.txt.
  4. Renommez le fichier ConfigSQLPorts.txt ConfigSQLPorts.bat.

Lorsque vous exécutez le script dans le fichier ConfigSQLPorts.bat, vous devez utiliser le script est enregistré sur l'ordinateur. Pour exécuter le script, procédez comme suit :
  1. Cliquez sur Démarrer , cliquez sur Exécuter , tapez cmd et cliquez sur OK .
  2. Dans la fenêtre de commande, utilisez la commande « cd » pour modifier les dossiers jusqu'à ce que vous dans le même dossier que le fichier ConfigSQLPorts.bat est enregistré dans. Par exemple, si le fichier ConfigSQLPorts.bat est enregistré dans C:\Myfiles, vous devez tapez myfiles CD à l'invite de commandes et appuyez sur ENTRÉE. Cela devient le dossier C:\Myfiles.
  3. Pour exécuter le script ConfigSQLPorts.bat, tapez ConfigSQLPorts.bat à l'invite de commandes et appuyez sur ENTRÉE.




Un script que vous pouvez utiliser pour ouvrir uniquement les ports TCP/IP

Le script qui est décrit dans cette section configure Windows pare-feu pour autoriser SQL Server pour écouter sur TCP/IP uniquement.

Pour créer le script, procédez comme suit :
  1. Démarrez le Bloc-notes.
  2. Copiez et collez le code suivant dans le Bloc-notes :

    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. Enregistrez le fichier en tant que fichier .txt et attribuez un nom au fichier SetupSqlServerPort.txt.
  4. Renommez le fichier SetupSqlServerPort.txt SetupSqlServerPort.bat.


Lorsque vous exécutez le script SetupSqlServerPort.bat, vous devez utiliser le script est enregistré sur l'ordinateur. Pour exécuter le script, procédez comme suit :
  1. Cliquez sur Démarrer , cliquez sur Exécuter , tapez cmd et cliquez sur OK .
  2. Dans la fenêtre de commande, utilisez la commande « cd » pour modifier les dossiers jusqu'à ce que vous dans le même dossier que le fichier SetupSqlServerPort.bat est enregistré dans. Par exemple, si le fichier SetupSqlServerPort.bat est enregistré dans C:\Myfiles, vous devez tapez myfiles CD à l'invite de commandes et appuyez sur ENTRÉE. Cela devient le dossier C:\Myfiles.
  3. Pour exécuter le script SetupSqlServerPort.bat, à l'invite de commande tapez setupSqlServerPort.bat , puis appuyez sur ENTRÉE.


Références

Pour plus d'informations sur la configuration SQL Server 2000 et Windows XP Service Pack 2, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :
841249 Comment faire pour configurer Windows XP Service Pack 2 (S) pour une utilisation avec SQL Server

Propriétés

Numéro d'article: 839980 - Dernière mise à jour: mercredi 11 janvier 2006 - Version: 3.5
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft SQL Server 2000 Desktop Engine (Windows)
  • Microsoft SQL Server 7.0 Standard
  • 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
Mots-clés : 
kbmt kbfirewall kbinfo KB839980 KbMtfr
Traduction automatique
IMPORTANT : Cet article est issu du système de traduction automatique mis au point par Microsoft (http://support.microsoft.com/gp/mtdetails). Un certain nombre d?articles obtenus par traduction automatique sont en effet mis à votre disposition en complément des articles traduits en langue française par des traducteurs professionnels. Cela vous permet d?avoir accès, dans votre propre langue, à l?ensemble des articles de la base de connaissances rédigés originellement en langue anglaise. Les articles traduits automatiquement ne sont pas toujours parfaits et peuvent comporter des erreurs de vocabulaire, de syntaxe ou de grammaire (probablement semblables aux erreurs que ferait une personne étrangère s?exprimant dans votre langue !). Néanmoins, mis à part ces imperfections, ces articles devraient suffire à vous orienter et à vous aider à résoudre votre problème. Microsoft s?efforce aussi continuellement de faire évoluer son système de traduction automatique.
La version anglaise de cet article est la suivante: 839980
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.

Envoyer des commentaires

 

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