คำอธิบายเกี่ยวกับการตั้งค่า TCP/IP ที่คุณอาจต้องการปรับปรุงเมื่อมีการเชื่อมต่อ SQL Server ถูกปิดใช้งาน

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

เนื้อหาบนหน้านี้

สรุป

เมื่อคุณใช้โปรแกรมควบคุม ODBC ของ SQL Server, SQL Server OLE DB ผู้ให้บริการ หรือผู้ให้บริการได้รับการจัดการ System.Data.SqlClient คุณสามารถปิดใช้งานการเชื่อมต่อร่วมกัน โดยใช้อินเตอร์เฟสแอพลิเคชันที่เกี่ยวข้องเขียนโปรแกรม (Api) เมื่อคุณปิดใช้งานร่วมกัน ปัญหาในไลบรารีเครือข่ายของเซิร์ฟเวอร์ SQL ต้นแบบที่อาจเพิ่มขึ้นถ้าโปรแกรมประยุกต์ของคุณบ่อย ๆ เปิด และปิดการเชื่อมต่อ บทความนี้อธิบายการตั้งค่า TCP/IP บางอย่างที่คุณอาจต้องการปรับปรุงภายใต้เงื่อนไขเหล่านี้

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

ปิดร่วมกันอาจทำให้โปรแกรมควบคุมเครือข่ายของ sql SERVER ที่อยู่ภายใต้เพื่อเปิด และปิดการเชื่อมต่อซ็อกเก็ตใหม่ไปยังคอมพิวเตอร์ที่กำลังเรียกใช้ SQL Server รวดเร็ว คุณอาจต้องเปลี่ยนการตั้งค่าซ็อกเก็ต TCP/IP ค่าเริ่มต้นสำหรับระบบปฏิบัติการและคอมพิวเตอร์ที่กำลังเรียกใช้ SQL Server เพื่อจัดการกับปัญหาระดับสูงกว่า

โปรดสังเกตว่า บทความนี้อธิบายการตั้งค่าที่มีผลต่อไลบรารีเครือข่ายของ SQL Server เมื่อคุณใช้โพรโทคอล TCP/IP เท่านั้น การปิดการร่วมกันทำให้เกิดปัญหาที่เกี่ยวข้องกับปัญหากับโพรโทคอล SQL Server อื่นเช่นไปป์ที่มีชื่อ แต่บทความนี้ไม่ได้กล่าวถึงหัวข้อนี้ บทความนี้มีไว้สำหรับผู้ใช้ขั้นสูงเท่านั้น ถ้าคุณไม่เข้าใจหัวข้อในบทความนี้ Microsoft แนะนำว่า คุณได้เห็นหนังสือดีเกี่ยวกับซ็อกเก็ต TCP/IP

โปรดสังเกตว่า Microsoft ขอแนะนำให้ คุณเสมอใช้ร่วมกันกับไดรเวอร์ของ sql SERVER เท่านั้น การใช้ร่วมกันได้อย่างมากช่วยปรับปรุงประสิทธิภาพโดยรวมทั้งฝั่งไคลเอ็นต์และฝั่งเซิร์ฟเวอร์ SQL เมื่อคุณใช้ไดรเวอร์ของ SQL Server ใช้ร่วมกัน.นอกจากนี้ช่วยลดปริมาณการใช้งานเครือข่ายไปยังคอมพิวเตอร์ที่กำลังเรียกใช้ SQL Server ตัวอย่างเช่น การทดสอบตัวอย่างที่ใช้ 20000 SQL Server การเชื่อมต่อเปิด และปิด ด้วยการใช้การเปิดใช้งานร่วม ใช้แพ็คเกจเครือข่าย TCP/IP ประมาณ 160 สำหรับผลรวมของกิจกรรมของเครือข่าย 23,520 ไบต์ ด้วยการร่วมกันถูกปิดใช้งาน การทดสอบตัวอย่างเดียวกันสร้าง 225,129 TCP/IP แพ็คเกจเครือข่าย สำหรับผลรวมของกิจกรรมของเครือข่าย 27,209,622 ไบต์

โปรดสังเกตว่า เมื่อคุณเห็นปัญหาซ็อกเก็ต TCP/IP ที่เกี่ยวข้องกับปัญหากับไลบรารีเครือข่ายของ sql SERVER คุณอาจได้รับข้อความแสดงข้อผิดพลาดต่อไปนี้อย่างน้อยหนึ่งอย่างเมื่อคุณพยายามเชื่อมต่อกับคอมพิวเตอร์ที่กำลังเรียกใช้ SQL Server:
ไม่มีเซิร์ฟเวอร์ SQL หรือการเข้าถึงถูกปฏิเสธ
หมดเวลาหมดอายุแล้ว
ข้อผิดพลาดของเครือข่ายทั่วไป
ผู้ให้บริการ TCP: ใช้เพียงหนึ่งของแต่ละที่อยู่ซ็อกเก็ต (โพรโทคอล/อยู่/พอร์ตเครือข่าย) โดยปกติแล้วจะอนุญาต
โปรดสังเกตว่า คุณยังสามารถรับข้อความแสดงข้อผิดพลาดเฉพาะเหล่านี้เมื่อมีการเกิดปัญหาอื่น ๆ กับ SQL Server ตัวอย่างเช่น คุณอาจได้รับข้อความแสดงข้อผิดพลาดเหล่านี้ ถ้าคอมพิวเตอร์ระยะไกลที่กำลังเรียกใช้ SQL Server ถูกปิดลง ถ้าคอมพิวเตอร์ระยะไกลที่กำลังเรียกใช้ SQL Server ไม่ฟังซ็อกเก็ต TCP/IP เลย ถ้ามีการเชื่อมต่อเครือข่ายไปยังคอมพิวเตอร์ที่กำลังเรียกใช้ SQL Server จะใช้งานไม่ได้เนื่องจากถูกดึงสายเคเบิลเครือข่าย หรือ ถ้าคุณกำลังมีปัญหาเกี่ยวกับการแก้ปัญหา DNS โดยมูลฐานแล้วอะไรก็ได้ที่อาจเป็นสาเหตุให้ไคลเอ็นต์ล้มเหลวเมื่อต้องเปิดซ็อกเก็ต TCP/IP ไปยังคอมพิวเตอร์ที่กำลังเรียกใช้ SQL Server ทำให้เกิดข้อผิดพลาด อย่างไรก็ตาม มีประเด็นที่เกี่ยวข้องกับปัญหาซ็อกเก็ต ปัญหาเกิดขึ้นเป็นระยะ ๆ ในขณะที่ปัญหา rises และอยู่ คอมพิวเตอร์อาจทำงานสำหรับชั่วโมงที่ไม่มีข้อผิดพลาด แล้วข้อผิดพลาดเกิดขึ้นครั้งหนึ่ง หรือสอง และคอมพิวเตอร์ นั้นทำงานสำหรับหลายชั่วโมงเพิ่มเติม โดยไม่มีข้อผิดพลาด ยัง เมื่อคุณพบปัญหานี้ ทั่วไปการเชื่อมต่อกับ SQL Server ทำงานโต้ตอบแบบทันทีที่หนึ่ง ล้มเหลวถัดไป แล้วใช้ได้อีกในการโต้ตอบแบบทันทีถัดไป กล่าว การตัดสินค้าจากคลังที่เกี่ยวข้องกับปัญหาซ็อกเก็ตโดยทั่วไปเกิด sporadically แต่ปัญหาการเชื่อมต่อเครือข่ายจริงกับ SQL Server โดยทั่วไปจะไม่เกิดขึ้น sporadically

สองหลักที่เกี่ยวข้องกับปัญหาปัญหาปกติจะเกิดขึ้นเมื่อคุณปิดใช้งานร่วมกันในขณะที่คุณใช้โพรโทคอล TCP/IP ของเซิร์ฟเวอร์ SQL: คุณอาจไม่เพียงพอพอร์ตแบบไม่ระบุชื่อบนคอมพิวเตอร์ไคลเอนต์ หรือคุณอาจเกินWinsockListenBacklogเริ่มต้นการตั้งค่าบนคอมพิวเตอร์ที่กำลังเรียกใช้ SQL Server

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับพอร์ตแบบไม่ระบุชื่อ คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:
319502 PRB: 'WSAEADDRESSINUSE' ข้อผิดพลาดเมื่อคุณพยายามที่เชื่อมต่อผ่านพอร์ตที่มีแบบไม่ระบุชื่อหลังจากที่คุณเพิ่มขีดจำกัดการเชื่อมต่อ IMAP

ปรับการตั้งค่า MaxUserPort และ TcpTimedWaitDelay

โปรดสังเกตว่าการตั้งค่าMaxUserPortและTcpTimedWaitDelayใช้ได้เฉพาะสำหรับคอมพิวเตอร์ไคลเอนต์ที่รวดเร็วเปิด และปิดการเชื่อมต่อกับคอมพิวเตอร์ระยะไกลที่กำลังเรียกใช้ SQL Server และที่ กำลังใช้การเชื่อมต่อร่วมกัน ตัวอย่างเช่น การตั้งค่าเหล่านี้จะสามารถใช้ได้บนเซิร์ฟเวอร์ Internet Information Services (IIS) ที่กำลังให้บริการการร้องขอ HTTP ขาเข้าเป็นจำนวนมาก และที่มีการเปิด และปิดการเชื่อมต่อกับคอมพิวเตอร์ระยะไกลที่กำลังเรียกใช้ SQL Server และที่ใช้โพรโทคอล TCP/IP ที่ใช้ร่วมกันถูกปิดใช้งาน หากร่วมกันถูกเปิดใช้งาน คุณไม่ต้องปรับการตั้งค่าMaxUserPortและTcpTimedWaitDelay

เมื่อคุณใช้โพรโทคอล TCP/IP เพื่อเปิดการเชื่อมต่อกับคอมพิวเตอร์ที่กำลังเรียกใช้ SQL Server ไลบรารีเครือข่ายของ SQL Server อยู่ภายใต้เปิดซ็อกเก็ต TCP/IP ไปยังคอมพิวเตอร์ที่กำลังเรียกใช้ SQL Server เมื่อเปิดซ็อกเก็ตนี้ ไลบรารีเครือข่ายของ SQL Server เปิดใช้ตัวเลือกการซ็อกเก็ต TCP/IP SO_REUSEADDR สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการตั้งค่าของซ็อกเก็ตSO_REUSEADDRดูหัวข้อ "รู้จัก" ในเครือข่ายสำหรับนักพัฒนา Microsoft (MSDN)

โปรดสังเกตว่า ไลบรารีเครือข่ายของ SQL Server โดยเฉพาะอย่างยิ่งไม่เปิดใช้งานตัวเลือกของซ็อกเก็ตSO_REUSEADDR TCP/IP สำหรับเหตุผลด้านความปลอดภัย เมื่อเปิดใช้งานSO_REUSEADDRผู้ใช้ที่เป็นอันตรายสามารถ hijack พอร์ตไคลเอนต์กับ SQL Server และใช้ข้อมูลประจำตัวที่ไคลเอนต์การเข้าถึงคอมพิวเตอร์ที่กำลังเรียกใช้ SQL Server โดยค่าเริ่มต้น เนื่องจากไลบรารีเครือข่ายของ SQL Server ไม่ได้เปิดใช้ตัวเลือกซ็อกเก็ตSO_REUSEADDRทุกครั้งที่คุณเปิด และปิดซ็อกเก็ตผ่านไลบรารีเครือข่ายของ SQL Server บนฝั่งไคลเอ็นต์ ซ็อกเก็ตใส่เป็นสถานะ TIME_WAIT สี่นาที ถ้าคุณไม่รวดเร็วเปิดและปิดการเชื่อมต่อ SQL Server ผ่าน TCP/IP ที่ใช้ร่วมกันถูกปิดใช้งาน คุณจะรวดเร็วเปิด และปิดซ็อกเก็ต TCP/IP กล่าว แต่ละการเชื่อมต่อ SQL Server มีซ็อกเก็ต TCP/IP หนึ่งสอง ถ้าคุณเปิด และปิดซ็อกเก็ต 4000 ในสี่นาทีรวดเร็ว คุณจะไปถึงค่าสูงสุดเริ่มต้นสำหรับพอร์ตแบบไม่ระบุชื่อของไคลเอนต์ และความพยายามในการเชื่อมต่อซ็อกเก็ตใหม่ล้มเหลวจนถึง ชุดที่มีอยู่ของซ็อกเก็ต TIME_WAIT หมดเวลา

คุณอาจมีการเพิ่มการตั้งค่าMaxUserPortและTcpTimedWaitDelayที่กล่าวถึงใน Q319502 เมื่อคุณมีการเก็บพักการปิดใช้งาน บนฝั่งไคลเอ็นต์ การตั้งค่าสำหรับค่าเหล่านี้จะถูกกำหนด โดยจำนวนการเชื่อมต่อ SQL Server เปิดและปิดเกิดขึ้นในฝั่งไคลเอ็นต์ คุณสามารถตรวจสอบพอร์ตไคลเอนต์กี่อยู่ในสถานะ TIME_WAIT โดยใช้เครื่องมือเอาต์บนคอมพิวเตอร์ไคลเอนต์ รันเครื่องมือเอาต์ ด้วยค่าสถานะ-nดังนี้ และนับจำนวนของซ็อกเก็ตไคลเอนต์เมื่อต้องการที่อยู่ IP ของเซิร์ฟเวอร์ SQL ของคุณที่อยู่ในสถานะ TIME_WAIT ในตัวอย่างนี้ อยู่ IP ของคอมพิวเตอร์ระยะไกลที่กำลังเรียกใช้ SQL Server เป็น 10.10.10.20 อยู่ IP ของคอมพิวเตอร์ไคลเอนต์เป็น 10.10.10.10 และสามสร้างการเชื่อมต่อและการเชื่อมต่อที่สองจะอยู่ในสถานะ TIME_WAIT:
C:\>netstat -n

Active Connections

  Proto  Local Address         Foreign Address       State
  TCP    10.10.10.10:2000      10.10.10.20:1433      ESTABLISHED
  TCP    10.10.10.10:2001      10.10.10.20:1433      ESTABLISHED
  TCP    10.10.10.10:2002      10.10.10.20:1433      ESTABLISHED
  TCP    10.10.10.10:2003      10.10.10.20:1433      TIME_WAIT
  TCP    10.10.10.10:2004      10.10.10.20:1433      TIME_WAIT
				
ถ้าคุณเรียกใช้เอาต์ - nและคุณเห็นว่า ใกล้เคียงกับการเชื่อมต่อที่ 4000 กับ IP อยู่ของเครื่องคอมพิวเตอร์เป้าหมายที่กำลังเรียกใช้ SQL Server อยู่ในสถานะ TIME_WAIT ทั้งเพิ่มการตั้งค่าการเริ่มต้นMaxUserPortและคุณลดการตั้งค่าTcpTimedWaitDelayเพื่อให้คุณไม่เพียงพอพอร์ตแบบไม่ระบุชื่อของไคลเอ็นต์ ตัวอย่างเช่น คุณสามารถตั้งค่าการตั้งค่าMaxUserPort 20000 และการตั้งค่าการตั้งค่าTcpTimedWaitDelayเป็น 30 การตั้งค่าTcpTimedWaitDelayที่ต่ำกว่าหมายความ ว่า ซ็อกเก็ตที่รอในสถานะ TIME_WAIT เวลาน้อยลง การตั้งค่าMaxUserPortที่สูงกว่าหมายความ ว่า คุณสามารถมีซ็อกเก็ตที่เพิ่มเติมในสถานะ TIME_WAIT

โปรดสังเกตว่า หากคุณปรับการตั้งค่าMaxUserPortหรือTcpTimedWaitDelayคุณต้องรีสตาร์ Microsoft Windows สำหรับการตั้งค่าใหม่มีผลบังคับใช้ การตั้งค่าMaxUserPortและTcpTimedWaitDelayสำหรับคอมพิวเตอร์ไคลเอนต์ใด ๆ ที่มีการพูดคุยกับคอมพิวเตอร์ที่กำลังเรียกใช้ SQL Server ผ่านซ็อกเก็ต TCP/IP ได้ ตั้งค่าเหล่านี้ไม่มีผลใด ๆ ถ้าจะมีการตั้งค่าบนคอมพิวเตอร์ที่กำลังเรียกใช้ SQL Server นอกจากว่าคุณกำลังทำการเชื่อมต่อซ็อกเก็ต TCP/IP เฉพาะกับคอมพิวเตอร์ที่กำลังเรียกใช้ SQL Server

หมายเหตุ หากคุณปรับการตั้งค่าMaxUserPortเราขอแนะนำว่า คุณจองพอร์ต 1434 สำหรับใช้ โดยบริการ SQL Server Browser (sqlbrowser.exe) สำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการทำเช่นนี้ ให้คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:
812873วิธีการจองช่วงของพอร์ตข้อมูลแบบชั่วคราวบนคอมพิวเตอร์ที่กำลังเรียกใช้ Windows Server 2003 หรือ Windows 2000 Server

ปรับการตั้งค่า WinsockListenBacklog

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการตั้งค่ารีจิสทรีเฉพาะของ SQL Server นี้ คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:
154628 INF: การล็อก SQL 17832 กับการร้องขอการเชื่อมต่อการ์ดหลาย
เมื่อไลบรารีเครือข่ายของ SQL Server ฟังบนซ็อกเก็ต TCP/IP ไลบรารีเครือข่ายของ SQL Server ใช้การฟังWinsock API พารามิเตอร์ตัวสองสำหรับการฟังAPI เป็นรายการคงค้างที่ได้รับอนุญาตสำหรับซ็อก รายการคงค้างนี้แสดงถึงความยาวสูงสุดของคิวของค้างอยู่รอการเชื่อมต่อสำหรับการฟัง เมื่อความยาวของคิวเกินความยาวสูงสุด ไลบรารีเครือข่ายของ SQL Server ไม่ยอมรับความพยายามเชื่อมต่อซ็อกเก็ต TCP/IP เพิ่มเติมทันที นอกจากนี้ ไลบรารีเครือข่ายของ SQL Server ส่งแพ็คเก็ต ACK + ตั้งค่าใหม่

ใช้ SQL Server 2000 เป็นค่าเริ่มต้นฟังการตั้งค่ารายการคงค้างของ 5 ซึ่งหมายความ ว่า คอมพิวเตอร์ที่กำลังเรียกใช้ SQL Server ผ่านค่า 5 กับพารามิเตอร์ยอดคงค้างของการฟังWinsock API เมื่อ APIฟังตั้งเธรดฟังโพรโทคอล TCP/IP ในคอมพิวเตอร์ที่กำลังเรียกใช้ SQL Server คุณสามารถปรับเปลี่ยนคีย์รีจิสทรี WinsockListenBacklog เพื่อระบุค่าแตกต่างกันจะถูกส่งผ่านไปสำหรับพารามิเตอร์นี้ เริ่มต้นใน SQL Server 2005 ไลบรารีเครือข่ายผ่านค่าของ SOMAXCONN เป็นการตั้งค่ารายการคงค้างที่ฟังAPI SOMAXCONN ช่วยให้ผู้ให้บริการ Winsock เพื่อตั้งค่าค่าสูงสุดที่เหมาะสมสำหรับการตั้งค่านี้ ดังนั้น คีย์รีจิสทรี WinsockListenBacklog จะไม่ใช้ หรือจำเป็นต้องใช้ใน SQL Server 2005

รายการคงค้างตั้งค่าการทำงานเป็นดังนี้: สมมติว่าบริการตัวกำหนดกำลังฟังสำหรับการร้องขอการซ็อกเก็ต TCP/IP ขาเข้า ถ้าคุณตั้งค่าการตั้งค่ารายการคงค้าง 5 และกำลังอย่างต่อเนื่องการส่งกระแสข้อมูลในการร้องขอการเชื่อมต่อซ็อกเก็ตจำนวนมาก บริการอาจไม่สามารถตอบสนองต่อการร้องขอขาเข้าที่เร็วเท่าที่จะมาใน ณจุดนี้ ชั้นซ็อกเก็ต TCP/IP คิวคำขอขาเข้าในคิวรายการคงค้าง และบริการสามารถดึงการร้องขอการออกจากคิวนี้ และจัดการการร้องขอการเชื่อมต่อซ็อกเก็ตเข้ามาในภายหลัง หลังจากที่คิวกรอกข้อมูลอัพ ที่เลเยอร์ของซ็อกเก็ต TCP/IP ทันทีปฏิเสธคำร้องขอการซ็อกเก็ตที่เพิ่มเติมใด ๆ ที่มาใน โดยการส่งแพคเก็ตการ ACK + ตั้งค่าใหม่กลับไปยังไคลเอนต์ เพิ่มขนาดเพิ่มคิวรายการคงค้างร้องขอหมายเลขของการเชื่อมต่อซ็อกเก็ตที่เปิดค้างไว้ในเลเยอร์ของซ็อกเก็ต TCP/IP คิวก่อนที่จะปฏิเสธการร้องขอ

โปรดสังเกตว่า การตั้งค่าWinsockListenBacklogเป็นข้อมูลเฉพาะกับ SQL Server SQL Server พยายามที่อ่านการตั้งค่ารีจิสทรีนี้เมื่อบริการ SQL Server จะเริ่มต้นครั้งแรก ถ้าไม่มีการตั้งค่า ไม่มีใช้ค่าเริ่มต้นที่ 5 ถ้าการตั้งค่ารีจิสทรีที่มีอยู่ SQL Server อ่านการตั้งค่า และใช้ค่าที่ให้มาเป็นการตั้งค่ารายการคงค้างเมื่อฟัง WinSock API เรียกว่าเป็นเธรดฟังซ็อกเก็ต TCP/IP จะถูกตั้งค่าภายใน SQL Server

เมื่อต้องการกำหนดว่าถ้าคุณกำลังเรียกใช้เป็นปัญหานี้ คุณสามารถรันการสืบค้นกลับการตรวจสอบเครือข่ายบนไคลเอนต์หรือคอมพิวเตอร์ที่กำลังเรียกใช้ SQL Server และค้นหาที่ร้องขอการเชื่อมต่อซ็อกเก็ตที่จะถูกปฏิเสธทันที ด้วยการ ACK + รีเซ็ต ถ้าคุณตรวจสอบแพ็คเก็ต TCP/IP ในจอภาพของเครือข่าย คุณเห็นแพคเก็ตต่อไปนี้เมื่อเกิดปัญหานี้:
Frame: Base frame properties
ETHERNET:  EType = Internet IP (IPv4) 
IP: Protocol = TCP - Transmission Control; Packet ID = 40530; Total IP Length = 40; Options = No Options
TCP: Control Bits: .A.R.., len:    0, seq:         0-0, ack:3409265780, win:    0, src: 1433  dst: 4364 
  TCP: Source Port = 0x0599	
  TCP: Destination Port = 0x110C
  TCP: Sequence Number = 0 (0x0)
  TCP: Acknowledgement Number = 3409265780 (0xCB354474)
  TCP: Data Offset = 20 bytes
  TCP: Flags = 0x14 : .A.R..
    TCP: ..0..... = No urgent data
    TCP: ...1.... = Acknowledgement field significant
    TCP: ....0... = No Push function
    TCP: .....1.. = Reset the connection
    TCP: ......0. = No Synchronize
    TCP: .......0 = Not the end of the data
  TCP: Window = 0 (0x0)
  TCP: Checksum = 0xF1E7
  TCP: Urgent Pointer = 0 (0x0)
				
โปรดสังเกตว่า พอร์ตแหล่งที่มาเป็น 0x599 หรือเป็น 1433 เป็นเลขฐานสิบ ซึ่งหมายความว่าแพ็คเก็ตที่มาจากคอมพิวเตอร์ทั่วไปที่กำลังเรียกใช้ SQL Server และที่ กำลังทำงานบนพอร์ตเริ่มต้นของ 1433 นอกจากนี้ โปรดสังเกตว่าฟิลด์การตอบสนองและสถานะการเชื่อมต่อการตั้งค่าใหม่ไปกำหนดไว้เท่านั้น หากคุณคุ้นเคยกับการกรองข้อมูลการติดตามการตรวจสอบเครือข่าย คุณสามารถกรองค่าสถานะ TCP โดย 0x14 เลขฐานสิบหกเมื่อต้องดูเฉพาะแพ็กเกจ ACK + ตั้งค่าใหม่ในการสืบค้นกลับการตรวจสอบเครือข่าย

โปรดสังเกตว่า คุณยังสามารถดูแพคเก็ต ACK + ตั้งค่าใหม่ที่คล้ายกัน ถ้าคอมพิวเตอร์ที่กำลังเรียกใช้ SQL Server ทำงานไม่ได้เลย หรือ ถ้าคอมพิวเตอร์ที่กำลังเรียกใช้ SQL Server ไม่ฟังโพรโทคอล TCP/IP ดังนั้นเห็นแพคเก็ต ACK + รีเซ็ตไม่ยืนยันที่แน่นอนว่า คุณกำลังมีปัญหานี้เท่านั้น ถ้าWinsockListenBacklogอยู่ในระดับต่ำเกินไป ความพยายามในการได้รับการเชื่อมต่อบางแพคเก็ตที่ยอมรับ และเชื่อมต่อได้รับแพคเก็ต ACK + ตั้งค่าใหม่ทันทีในกรอบเวลาเดียวกัน

โปรดสังเกตว่า ในกรณีที่ยาก คุณอาจต้องปรับการตั้งค่านี้แม้ว่าร่วมกันถูกเปิดใช้งานบนคอมพิวเตอร์ไคลเอนต์ ตัวอย่างเช่น ถ้ามีการพูดคุยคอมพิวเตอร์ไคลเอนต์จำนวนมากไปยังคอมพิวเตอร์เครื่องเดียวที่กำลังเรียกใช้ SQL Server ความพยายามในการเชื่อมต่อขาเข้าพร้อมกันเป็นจำนวนมากอาจเกิดขึ้นตลอดเวลาเฉพาะแม้ว่าจะมีการเปิดใช้งานร่วมกัน

หมายเหตุหากคุณปรับการตั้งค่าWinsockListenBacklogคุณไม่ต้องรีสตาร์ท Windows สำหรับการตั้งค่านี้มีผลบังคับใช้ เพียงแค่หยุด และเริ่มบริการ SQL Server สำหรับการตั้งค่าที่มีผลบังคับใช้ การตั้งค่ารีจิสทรีWinsockListenBacklogเป็นสำหรับคอมพิวเตอร์ที่กำลังเรียกใช้ SQL Server เท่านั้น ไม่มีผลใด ๆ บนคอมพิวเตอร์ไคลเอนต์ใด ๆ ที่มีการพูดคุยกับ SQL Server

คุณสมบัติ

หมายเลขบทความ (Article ID): 328476 - รีวิวครั้งสุดท้าย: 30 ตุลาคม 2555 - Revision: 6.0
ใช้กับ
  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft ADO.NET 1.1
  • Microsoft SQL Server 7.0 Standard Edition
  • 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
Keywords: 
kbsqlsetup kbinfo kbmt KB328476 KbMtth
แปลโดยคอมพิวเตอร์
ข้อมูลสำคัญ: บทความนี้แปลโดยซอฟต์แวร์การแปลด้วยคอมพิวเตอร์ของ Microsoft แทนที่จะเป็นนักแปลที่เป็นบุคคล Microsoft มีบทความที่แปลโดยนักแปลและบทความที่แปลด้วยคอมพิวเตอร์ เพื่อให้คุณสามารถเข้าถึงบทความทั้งหมดในฐานความรู้ของเรา ในภาษาของคุณเอง อย่างไรก็ตาม บทความที่แปลด้วยคอมพิวเตอร์นั้นอาจมีข้อบกพร่อง โดยอาจมีข้อผิดพลาดในคำศัพท์ รูปแบบการใช้ภาษาและไวยากรณ์ เช่นเดียวกับกรณีที่ชาวต่างชาติพูดผิดเมื่อพูดภาษาของคุณ Microsoft ไม่มีส่วนรับผิดชอบต่อความคลาดเคลื่อน ความผิดพลาดหรือความเสียหายที่เกิดจากการแปลเนื้อหาผิดพลาด หรือการใช้บทแปลของลูกค้า และ Microsoft มีการปรับปรุงซอฟต์แวร์การแปลด้วยคอมพิวเตอร์อยู่เป็นประจำ
ต่อไปนี้เป็นฉบับภาษาอังกฤษของบทความนี้:328476

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

 

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