วิธีการใช้สคริปต์โดยทางโปรแกรมเปิดพอร์ตสำหรับ SQL Server ให้ใช้กับระบบที่ใช้ Windows XP Service Pack 2

การแปลบทความ การแปลบทความ
หมายเลขบทความ (Article ID): 839980 - ผลิตภัณฑ์ที่เกี่ยวข้องในบทความนี้
ขยายทั้งหมด | ยุบทั้งหมด

บทนำ

Microsoft Windows XP Service Pack 2 (SP2) มีไฟร์วอลล์ Windows windows Firewall คือ รุ่นปรับปรุงขึ้นของ Internet Connection Firewall (ICF) โดยค่าเริ่มต้น Windows Firewall ถูกเปิดใช้งานบนคอมพิวเตอร์ที่รัน Windows XP Service Pack 2 ไฟร์วอลล์ windows จะบล็อกการเชื่อมบางต่อเครือข่ายที่ใช้ TCP/IP ที่ใช้เนมไปป์ หรือที่ใช้ Multiprotocol ระยะไกลกระบวนงานเรียก (RPC) การบล็อคนี้อาจมีผลกับ Microsoft Data Engine (MSDE), Microsoft SQL Server 2000 และ Microsoft SQL Server 2005

ถ้าคุณมีโปรแกรมประยุกต์ที่จำเป็นต้องใช้ SQL Server หรือ MSDE การเข้าถึงเครือข่าย โดยใช้เนมไปป์ โดยใช้ TCP/IP หรือ โดยการใช้ RPC คุณสามารถใช้สคริปต์ที่มีให้ในส่วน "ข้อมูลเพิ่มเติม" เพื่อเปิดพอร์ตที่จำเป็นโดยทางโปรแกรมแทนการใช้ไฟร์วอลล์ Windows

สคริปต์ที่สองถูกรวมไว้ในบทความนี้ สคริปต์แรกโดยทางโปรแกรมสามารถกำหนดค่า Windows Firewall ให้อนุญาตให้ SQL Server เพื่อฟังบนเครือข่ายในโพรโทคอลทั้งหมด สคริปต์ที่สองโดยทางโปรแกรมกำหนดค่า Windows Firewall ให้อนุญาตให้ SQL Server เพื่อฟังบน TCP/IP เท่านั้น

หมายเหตุ:เราขอแนะนำให้ คุณเปิดพอร์ตในจำเป็นที่เป็นพื้นฐานเท่านั้น


สคริปต์ที่กล่าวถึงในบทความนี้ให้ Multiprotocol (RPC) ผ่านเนมไปป์เข้าเท่านั้น ถ้าคุณกำลังเรียกใช้ RPC ผ่าน TCP ดูบทความฐานความรู้ของ Microsoft ต่อไปนี้สำหรับข้อมูลเกี่ยวกับการใช้ TCP/IP:
841252วิธีการเปิดใช้งาน TCP/IP ใน Windows XP Service Pack 2 สำหรับ SQL Server 2000 ด้วยตนเอง

ข้อมูลเพิ่มเติม

สคริปต์ที่คุณสามารถใช้ในการเปิดพอร์ตต่าง ๆ ทั้งหมด

สคริปต์ที่มีสนทนาในส่วนนี้โดยทางโปรแกรมกำหนดค่า Windows Firewall ให้อนุญาตให้ SQL Server เพื่อฟังบนเครือข่ายในโพรโทคอลทั้งหมด

หมายเหตุที่สำคัญเกี่ยวกับสคริปต์นี้
  • สคริปต์นี้ควรจะรันบนคอมพิวเตอร์ที่รัน Windows XP Service Pack 2 เท่านั้น
  • สคริปต์นี้มีตัวเลือกเพิ่มเติม สำหรับการเปิดใช้เนมไปป์ และ สำหรับการเปิดใช้งาน Multiprotocol (RPC)
  • สคริปต์นี้ช่วยให้ Multiprotocol (RPC) เท่านั้นผ่านทางการตั้งชื่อเนมและเปิดเฉพาะพอร์ต 445
  • สคริปต์นี้ไม่มีฟังก์ชันการทำงานเมื่อต้องการระบุขอบเขต

เมื่อต้องการสร้างสคริปต์ ดำเนินการดังต่อไปนี้:
  1. เริ่มต้น Notepad
  2. คัดลอก และวางรหัสต่อไปนี้ลงในแผ่นจดบันทึก:
    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. บันทึกแฟ้มเป็นไฟล์.txt และกำหนดชื่อไฟล์ ConfigSQLPorts.txt
  4. เปลี่ยนชื่อแฟ้ม ConfigSQLPorts.txt ConfigSQLPorts.bat

เมื่อคุณเรียกใช้สคริปต์ในแฟ้ม ConfigSQLPorts.bat คุณต้องใช้คอมพิวเตอร์ที่บันทึกไว้ในสคริปต์ เมื่อต้องการเรียกใช้สคริปต์ ดำเนินการดังต่อไปนี้:
  1. คลิกเริ่มการทำงานคลิกเรียกใช้ประเภท:cmdแล้ว คลิกตกลง.
  2. ในหน้าต่างคำสั่ง ใช้คำสั่ง "ซีดี" เพื่อเปลี่ยนโฟลเดอร์จนกระทั่งคุณอยู่ในโฟลเดอร์เดียวกันที่บันทึกไว้ในแฟ้ม ConfigSQLPorts.bat ตัวอย่างเช่น ถ้ามีบันทึกแฟ้ม ConfigSQLPorts.bat ใน C:\Myfiles พิมพ์myfiles ซีดีที่พร้อมรับคำสั่ง แล้วกด ENTER ซึ่งจะเปลี่ยนโฟลเดอร์ของคุณเพื่อ C:\Myfiles
  3. เมื่อต้องการเรียกใช้สคริปต์ ConfigSQLPorts.bat พิมพ์ConfigSQLPorts.batที่พร้อมรับคำสั่ง แล้วกด ENTER




สคริปต์ที่คุณสามารถใช้เพื่อเปิดพอร์ต TCP/IP เท่านั้น

สคริปต์ที่กล่าวถึงในส่วนนี้กำหนดค่า Windows Firewall ให้อนุญาตให้ SQL Server เพื่อฟังบน TCP/IP เท่านั้น

เมื่อต้องการสร้างสคริปต์ ดำเนินการดังต่อไปนี้:
  1. เริ่มต้น Notepad
  2. คัดลอก และวางรหัสต่อไปนี้ลงในแผ่นจดบันทึก:

    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. บันทึกแฟ้มเป็นไฟล์.txt และกำหนดชื่อไฟล์ SetupSqlServerPort.txt
  4. เปลี่ยนชื่อแฟ้ม SetupSqlServerPort.txt SetupSqlServerPort.bat


เมื่อคุณเรียกใช้สคริปต์ SetupSqlServerPort.bat คุณต้องใช้คอมพิวเตอร์ที่บันทึกไว้ในสคริปต์ เมื่อต้องการเรียกใช้สคริปต์ ดำเนินการดังต่อไปนี้:
  1. คลิกเริ่มการทำงานคลิกเรียกใช้ประเภท:cmdแล้ว คลิกตกลง.
  2. ในหน้าต่างคำสั่ง ใช้คำสั่ง "ซีดี" เพื่อเปลี่ยนโฟลเดอร์จนกระทั่งคุณอยู่ในโฟลเดอร์เดียวกันที่บันทึกไว้ในแฟ้ม SetupSqlServerPort.bat ตัวอย่างเช่น ถ้ามีบันทึกแฟ้ม SetupSqlServerPort.bat ใน C:\Myfiles พิมพ์myfiles ซีดีที่พร้อมรับคำสั่ง แล้วกด ENTER ซึ่งจะเปลี่ยนโฟลเดอร์ของคุณเพื่อ C:\Myfiles
  3. การรันสคริปต์ SetupSqlServerPort.bat เมื่อชนิดพร้อมรับคำสั่งsetupSqlServerPort.batแล้ว กด ENTER


ข้อมูลอ้างอิง

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการตั้งค่าคอนฟิก SQL Server 2000 และ Windows XP Service Pack 2 คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:
841249วิธีการกำหนดค่า Windows XP Service Pack 2 (S) สำหรับใช้กับ SQL Server

คุณสมบัติ

หมายเลขบทความ (Article ID): 839980 - รีวิวครั้งสุดท้าย: 14 มกราคม 2554 - Revision: 3.0
ใช้กับ
  • Microsoft SQL Server 7.0 Standard Edition
  • Microsoft Windows XP Embedded
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL 2005 Server Enterprise
  • Microsoft SQL Server 2005 Express Edition
  • Microsoft SQL 2005 Server Workgroup
  • Microsoft SQL Server 2000 Standard Edition
Keywords: 
kbfirewall kbinfo kbmt KB839980 KbMtth
แปลโดยคอมพิวเตอร์
ข้อมูลสำคัญ: บทความนี้แปลโดยซอฟต์แวร์การแปลด้วยคอมพิวเตอร์ของ Microsoft แทนที่จะเป็นนักแปลที่เป็นบุคคล Microsoft มีบทความที่แปลโดยนักแปลและบทความที่แปลด้วยคอมพิวเตอร์ เพื่อให้คุณสามารถเข้าถึงบทความทั้งหมดในฐานความรู้ของเรา ในภาษาของคุณเอง อย่างไรก็ตาม บทความที่แปลด้วยคอมพิวเตอร์นั้นอาจมีข้อบกพร่อง โดยอาจมีข้อผิดพลาดในคำศัพท์ รูปแบบการใช้ภาษาและไวยากรณ์ เช่นเดียวกับกรณีที่ชาวต่างชาติพูดผิดเมื่อพูดภาษาของคุณ Microsoft ไม่มีส่วนรับผิดชอบต่อความคลาดเคลื่อน ความผิดพลาดหรือความเสียหายที่เกิดจากการแปลเนื้อหาผิดพลาด หรือการใช้บทแปลของลูกค้า และ Microsoft มีการปรับปรุงซอฟต์แวร์การแปลด้วยคอมพิวเตอร์อยู่เป็นประจำ
ต่อไปนี้เป็นฉบับภาษาอังกฤษของบทความนี้:839980

ให้ข้อเสนอแนะ

 

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