Wie Sie ein Skript, um programmgesteuert geöffnete Ports für SQL Server auf Systemen mit Windows XP Service Pack 2 verwenden

SPRACHE AUSWÄHLEN SPRACHE AUSWÄHLEN
Artikel-ID: 839980 - Produkte anzeigen, auf die sich dieser Artikel bezieht
Alles erweitern | Alles schließen

EINFÜHRUNG

Microsoft Windows XP Service Pack 2 (SP2) enthält Windows-Firewall. Windows-Firewall ist eine erweiterte Version der Internetverbindungsfirewall (ICF). Standardmäßig ist Windows-Firewall ist auf Computern mit Windows XP Service Pack 2 aktiviert. Windows-Firewall blockiert einige Netzwerkverbindungen, TCP/IP, Named Pipes verwenden, oder die Multiprotokoll (RPC) verwenden. Diese Blockierung kann Microsoft Data Engine (MSDE), Microsoft SQL Server 2000 und Microsoft SQL Server 2005 auswirken.

Wenn Sie eine Anwendung, die SQL Server- oder MSDE Zugriff auf das Netzwerk haben mithilfe von Named Pipes, mithilfe von TCP/IP oder mithilfe von RPC haben erfordert, können Sie die Skripts, die bereitgestellt werden im Abschnitt "Weitere Informationen" in der die erforderlichen Ports programmgesteuert anstelle von Windows-Firewall zu öffnen.

Zwei Skripts sind in diesem Artikel enthalten. Das erste Skript programmgesteuert konfiguriert Windows-Firewall für SQL Server im Netzwerk auf alle Protokolle abfragt. Wird das zweite Skript programmgesteuert Windows Firewall so konfiguriert SQL Server zum Abhören von TCP/IP nur zulassen, dass.

Hinweis: Es wird empfohlen, auf einer Basis bei Bedarf nur Ports zu öffnen.


Skripts, die in diesem Artikel erläuterten ermöglichen Multiprotokoll (RPC) über nur Named Pipes-Zugriff. Wenn Sie RPC über TCP ausführen, finden Sie im folgenden Knowledge Base-Artikel Informationen zur Verwendung von TCP/IP:
841252Manuelles Aktivieren von TCP/IP unter Windows XP Service Pack 2 für SQL Server 2000

Weitere Informationen

Ein Skript, das Sie alle Ports zu öffnen verwenden können

Das Skript, das in diesem Abschnitt, programmgesteuert beschrieben wird wird die Windows-Firewall zu SQL Server im Netzwerk auf alle Protokolle konfiguriert.

wichtige Hinweise zu diesem Skript
  • Dieses Skript sollte nur auf Computern ausgeführt werden, auf denen Windows XP Service Pack 2 ausgeführt wird.
  • Dieses Skript enthält zusätzliche Optionen für Aktivierung Named Pipes und Multiprotokoll (RPC) aktivieren.
  • Dieses Skript ermöglicht Multiprotokoll (RPC) nur über Named Pipes und nur öffnet port 445.
  • Dieses Skript bietet keine Funktionen zum Bereich angeben.

Gehen Sie folgendermaßen vor um das Skript zu erstellen:
  1. Starten Sie den Editor.
  2. Kopieren Sie den folgenden Code, und fügen Sie ihn im Editor ein:
    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. Speichern Sie die Datei als TXT-Datei, und benennen Sie die Datei ConfigSQLPorts.txt.
  4. Benennen Sie die ConfigSQLPorts.txt-Datei ConfigSQLPorts.bat.

Wenn Sie in der Datei ConfigSQLPorts.bat das Skript ausführen, müssen Sie den Computer verwenden, dem auf das Skript gespeichert ist. Gehen Sie folgendermaßen vor zum Ausführen des Skripts:
  1. Klicken Sie auf Start , klicken Sie auf Ausführen , geben Sie cmd ein und klicken Sie dann auf OK .
  2. Verwenden Sie im Befehlsfenster den Befehl "cd" Ordner ändern, bis Sie in demselben Ordner, der in die ConfigSQLPorts.bat-Datei gespeichert ist. Wenn die Datei ConfigSQLPorts.bat in C:\Myfiles gespeichert wird, würden Sie z. B. Geben Sie an der Eingabeaufforderung CD Myfiles und drücken Sie anschließend die [EINGABETASTE]. Dies ändert den Ordner zu C:\Myfiles.
  3. Das Skript ConfigSQLPorts.bat ausführen möchten, geben Sie ConfigSQLPorts.bat an der Eingabeaufforderung, und drücken Sie anschließend die [EINGABETASTE].




Ein Skript, das Sie nur TCP/IP Ports zu öffnen verwenden können

Das Skript, das in diesem Abschnitt beschrieben wird, konfiguriert Windows-Firewall für SQL Server nur auf TCP/IP abfragt.

Gehen Sie folgendermaßen vor um das Skript zu erstellen:
  1. Starten Sie den Editor.
  2. Kopieren Sie den folgenden Code, und fügen Sie ihn im Editor ein:

    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. Speichern Sie die Datei als TXT-Datei, und benennen Sie die Datei SetupSqlServerPort.txt.
  4. Benennen Sie die SetupSqlServerPort.txt-Datei SetupSqlServerPort.bat.


Wenn Sie das SetupSqlServerPort.bat-Skript ausführen, müssen Sie den Computer verwenden, dem auf das Skript gespeichert ist. Gehen Sie folgendermaßen vor zum Ausführen des Skripts:
  1. Klicken Sie auf Start , klicken Sie auf Ausführen , geben Sie cmd ein und klicken Sie dann auf OK .
  2. Verwenden Sie im Befehlsfenster den Befehl "cd" Ordner ändern, bis Sie in demselben Ordner, der in die SetupSqlServerPort.bat-Datei gespeichert ist. Wenn die Datei SetupSqlServerPort.bat in C:\Myfiles gespeichert wird, würden Sie z. B. Geben Sie an der Eingabeaufforderung CD Myfiles und drücken Sie anschließend die [EINGABETASTE]. Dies ändert den Ordner zu C:\Myfiles.
  3. Das Skript SetupSqlServerPort.bat ausführen möchten, an der Eingabeaufforderung Geben Sie setupSqlServerPort.bat , und drücken Sie anschließend die [EINGABETASTE].


Informationsquellen

Weitere Informationen zum Konfigurieren von SQL Server 2000 und Windows XP Service Pack 2 finden Sie die folgende KB-Artikelnummer:
841249Zum Konfigurieren von Windows XP Service Pack 2 (S) für die Verwendung mit SQL Server

Eigenschaften

Artikel-ID: 839980 - Geändert am: Mittwoch, 11. Januar 2006 - Version: 3.5
Die Informationen in diesem Artikel beziehen sich auf:
  • 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
Keywords: 
kbmt kbfirewall kbinfo KB839980 KbMtde
Maschinell übersetzter Artikel
Wichtig: Dieser Artikel wurde maschinell und nicht von einem Menschen übersetzt. Die Microsoft Knowledge Base ist sehr umfangreich und ihre Inhalte werden ständig ergänzt beziehungsweise überarbeitet. Um Ihnen dennoch alle Inhalte auf Deutsch anbieten zu können, werden viele Artikel nicht von Menschen, sondern von Übersetzungsprogrammen übersetzt, die kontinuierlich optimiert werden. Doch noch sind maschinell übersetzte Texte in der Regel nicht perfekt, insbesondere hinsichtlich Grammatik und des Einsatzes von Fremdwörtern sowie Fachbegriffen. Microsoft übernimmt keine Gewähr für die sprachliche Qualität oder die technische Richtigkeit der Übersetzungen und ist nicht für Probleme haftbar, die direkt oder indirekt durch Übersetzungsfehler oder die Verwendung der übersetzten Inhalte durch Kunden entstehen könnten.
Den englischen Originalartikel können Sie über folgenden Link abrufen: 839980
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.

Ihr Feedback an uns

 

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