นำไปใช้กับ
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

สรุป

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

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

การปิดการทำพูลเก็บอาจทำให้ไดรเวอร์เครือข่าย SQL Server อยู่ภายใต้การเปิด และปิดการเชื่อมต่อซ็อกเก็ตใหม่ไปยังคอมพิวเตอร์ที่กำลังเรียกใช้ SQL Server อย่างรวดเร็ว คุณอาจต้องเปลี่ยนการตั้งค่าการซ็อกเก็ต TCP/IP ค่าเริ่มต้นสำหรับระบบปฏิบัติการและคอมพิวเตอร์ที่กำลังเรียกใช้ SQL Server เพื่อจัดการกับระดับความเค้นสูงกว่าโปรดสังเกตว่า บทความนี้อธิบายการตั้งค่าที่ส่งผลต่อไลบรารีเครือข่ายของ SQL Server เมื่อคุณใช้โพรโทคอล TCP/IP เท่านั้น การปิดการทำพูลเก็บทำให้เกิดปัญหาความเค้นที่เกี่ยวข้องกับโพรโทคอลอื่น ๆ เซิร์ฟเวอร์ SQL เช่นไปป์ที่ระบุชื่อ แต่บทความนี้ไม่ได้กล่าวถึงหัวข้อนี้ บทความนี้มีไว้สำหรับผู้ใช้ขั้นสูงเท่านั้น หากคุณไม่เข้าใจหัวข้อในบทความนี้ Microsoft แนะนำให้ คุณดูดีหนังสือเกี่ยวกับ TCP/IP socketsโปรดสังเกตว่า 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 sockets เลย ถ้ามีการเชื่อมต่อเครือข่ายไปยังคอมพิวเตอร์ที่กำลังเรียกใช้ 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 Developer Network (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 sockets อีกนัยหนึ่ง แต่ละการเชื่อมต่อ SQL Server มีการซ็อกเก็ต TCP/IP หนึ่ง ถ้าคุณเปิดอย่างรวดเร็ว และปิด 4000 sockets ในน้อยกว่า 4 นาที คุณจะไปถึงค่าสูงสุดเริ่มต้นสำหรับพอร์ตแบบไม่ระบุชื่อของไคลเอนต์ และความพยายามในการเชื่อมต่อซ็อกเก็ตใหม่ล้มเหลวจนกว่าจะมี ชุดที่มีอยู่ของ TIME_WAIT sockets หมดเวลาบนฝั่งไคลเอ็นต์ คุณอาจจะต้องเพิ่มการตั้งค่าMaxUserPortและTcpTimedWaitDelayที่มีการกล่าวถึงใน Q319502 เมื่อคุณได้ปิดการใช้งานร่วมกัน การตั้งค่าสำหรับค่าเหล่านี้จะถูกกำหนด โดยจำนวนการเชื่อมต่อ SQL Server เปิดและปิดเกิดขึ้นบนฝั่งไคลเอ็นต์ คุณสามารถตรวจสอบพอร์ตไคลเอนต์กี่อยู่ในสถานะ TIME_WAIT โดยใช้เครื่องมือ Netstat บนคอมพิวเตอร์ไคลเอนต์ เรียกใช้เครื่องมือ Netstat ด้วยค่าสถานะ-nดังนี้ และนับจำนวน sockets ไคลเอ็นต์ไปยังที่อยู่ IP ของเซิร์ฟเวอร์ SQL ของคุณที่อยู่ในสถานะ TIME_WAIT ในตัวอย่างนี้ อยู่ IP ของคอมพิวเตอร์ระยะไกลที่กำลังเรียกใช้ SQL Server คือ 10.10.10.20 อยู่ IP ของคอมพิวเตอร์ไคลเอนต์คือ 10.10.10.10 และสามสร้างการเชื่อมต่อและเชื่อมต่อสองอยู่ในสถานะ TIME_WAIT:

C:\>netstat -nActive 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

หากคุณรันการnetstat - nและคุณเห็นว่า ใกล้เคียงกับ 4000 เชื่อมต่อเสมือน ที่อยู่ของปลายทางคอมพิวเตอร์ที่กำลังเรียกใช้ SQL Server อยู่ในสถานะ TIME_WAIT ทั้งเพิ่มการตั้งค่าการเริ่มต้นMaxUserPortและคุณลดการตั้งค่าTcpTimedWaitDelayเพื่อให้คุณทำงานจากไคลเอนต์พอร์ตที่ไม่ระบุชื่อ ตัวอย่างเช่น คุณสามารถตั้งค่าการตั้งค่าMaxUserPortเป็น 20000 และตั้งค่าการตั้งค่าTcpTimedWaitDelayเป็น 30 การตั้งค่าTcpTimedWaitDelayล่างหมายความ ว่า sockets ที่รอในสถานะ TIME_WAIT เวลาน้อยลง การตั้งค่าMaxUserPortสูงกว่าซึ่งหมายความ ว่า คุณสามารถมี sockets เพิ่มเติมในสถานะ TIME_WAITหมายเหตุว่า ถ้าคุณปรับการตั้งค่าMaxUserPortหรือTcpTimedWaitDelayคุณต้องเริ่มการทำงาน Microsoft Windows สำหรับการตั้งค่าใหม่มีผลบังคับใช้ การตั้งค่าMaxUserPortและTcpTimedWaitDelayสำหรับคอมพิวเตอร์ไคลเอ็นต์ที่มีการพูดคุยกับคอมพิวเตอร์ที่กำลังเรียกใช้ SQL Server ผ่าน TCP/IP sockets ได้ การตั้งค่าเหล่านี้ไม่มีผลใด ๆ ถ้ามีการตั้งค่าบนคอมพิวเตอร์ที่กำลังเรียกใช้ SQL Server นอกจากว่าคุณกำลังทำการเชื่อมต่อซ็อกเก็ต TCP/IP ภายในเครื่องไปยังคอมพิวเตอร์ที่กำลังเรียกใช้ SQL Serverหมายเหตุ ถ้าคุณปรับการตั้งค่าMaxUserPortเราขอแนะนำว่า คุณควรจองพอร์ต 1434 สำหรับใช้ โดยบริการ SQL Server Browser (sqlbrowser.exe) สำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการทำเช่นนี้ ให้คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:

วิธีการจองช่วงของพอร์ตข้อมูลแบบชั่วคราวบนคอมพิวเตอร์ที่กำลังเรียกใช้ Windows Server 2003 หรือ Windows 2000 Server 812873

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

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการตั้งค่ารีจิสทรีเฉพาะของ SQL Server นี้ คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:

154628 INF: SQL ล็อก 17832 กับการร้องขอการเชื่อมต่อ TCP\IP หลายเมื่อไลบรารีเครือข่ายของ SQL Server ฟังบน TCP/IP sockets ไลบรารีเครือข่ายของ SQL Server ใช้การฟังWinsock API พารามิเตอร์ตัวสองสำหรับการฟังAPI คือ ยอดคงค้างที่ได้รับอนุญาตสำหรับซ็อกเก็ต ยอดคงค้างนี้แสดงถึงความยาวสูงสุดของคิวการรอการเชื่อมต่อสำหรับตัวฟังที่ เมื่อความยาวของคิวเกินความยาวสูงสุด ไลบรารีเครือข่ายของ SQL Server ทันทีปฏิเสธความพยายามเชื่อมต่อซ็อกเก็ต TCP/IP เพิ่มเติม นอกจากนี้ ไลบรารีเครือข่ายของ SQL Server ส่งแพ็คเก็ตระดาษ + ใหม่ใช้ 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 ไม่ยอมรับคำขอซ็อกเก็ตเพิ่มเติมใด ๆ ที่อยู่ในการส่งแพคเก็ตระดาษ + ใหม่กลับไปยังไคลเอนต์ ในทันที เพิ่มเพิ่มขนาดคิวรายการคงค้างที่เลเยอร์ของซ็อกเก็ต TCP/IP คิวก่อนที่จะถูกปฏิเสธการร้องขอการร้องขอจำนวนที่ค้างอยู่รอการเชื่อมต่อซ็อกเก็ตโปรดสังเกตว่า การตั้งค่าWinsockListenBacklogเป็นข้อมูลเฉพาะกับ SQL Server SQL Server พยายามอ่านการตั้งค่ารีจิสทรีนี้เมื่อบริการ SQL Server เริ่มต้นครั้งแรก ถ้าไม่มีการตั้งค่า ไม่มีใช้ค่าเริ่มต้นของ 5 ถ้าการตั้งค่ารีจิสทรีที่มีอยู่ SQL Server อ่านการตั้งค่า และใช้ค่าให้มาเป็นการตั้งค่ารายการคงค้างเมื่อ WinSock API ฟังจะเรียกว่าเป็นซ็อกเก็ต TCP/IP ฟังเธรดจะถูกตั้งค่าภายใน SQL Serverการตรวจสอบว่า คุณกำลังเรียกใช้เป็นปัญหานี้ คุณสามารถเรียกใช้การติดตามการตรวจสอบเครือข่ายบนไคลเอนต์หรือคอมพิวเตอร์ที่กำลังเรียกใช้ SQL Server และค้นหาคำขอเชื่อมต่อซ็อกเก็ตที่ถูกปฏิเสธทันที ด้วยการระดาษ + ใหม่ ถ้าคุณตรวจสอบแพ็คเก็ต TCP/IP ในตัวตรวจสอบเครือข่าย คุณเห็นแพคเก็ตต่อไปนี้เมื่อเกิดปัญหานี้:

Frame: Base frame propertiesETHERNET:  EType = Internet IP (IPv4) IP: Protocol = TCP - Transmission Control; Packet ID = 40530; Total IP Length = 40; Options = No OptionsTCP: 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 เลขฐานสิบหกเมื่อต้องการดูเฉพาะเก็ตระดาษ + ใหม่ในการสืบค้นกลับการตรวจสอบเครือข่ายหมายเหตุว่า คุณยังสามารถดูแพคเก็ตระดาษ + ใหม่ที่คล้ายคลึงกัน ถ้าคอมพิวเตอร์ที่กำลังเรียกใช้ SQL Server ไม่ทำงานเลย หรือ ถ้าคอมพิวเตอร์ที่กำลังเรียกใช้ SQL Server ไม่ฟังโพรโทคอล TCP/IP เพื่อให้มองเห็นแพคเก็ตระดาษ + ใหม่ไม่ยืนยันแน่นอนว่า คุณกำลังมีปัญหานี้ ถ้าWinsockListenBacklogนั้นต่ำเกินไป ยอมรับการเชื่อมต่อบางครั้งได้รับแพคเก็ต และการเชื่อมต่อได้รับแพคเก็ตระดาษ + ใหม่ทันทีในกรอบเวลาเดียวกันโปรดสังเกตว่า ในกรณีที่ยาก คุณอาจจะต้องปรับการตั้งค่านี้ได้แม้ว่าการทำพูลเก็บการเปิดใช้งานบนคอมพิวเตอร์ไคลเอนต์ ตัวอย่างเช่น ถ้าคอมพิวเตอร์ไคลเอนต์หลายเครื่องจะพูดคุยกับคอมพิวเตอร์ที่กำลังเรียกใช้ SQL Server เดียว ความพยายามในการเชื่อมต่อขาเข้าพร้อมกันเป็นจำนวนมากอาจเกิดขึ้นได้ตลอดเวลาเฉพาะแม้ว่าการทำพูลเก็บการเปิดใช้งานหมายเหตุ ถ้าคุณปรับการตั้งค่าWinsockListenBacklogคุณไม่ต้องรีสตาร์ท Windows สำหรับการตั้งค่านี้มีผลบังคับใช้ เพียงแค่หยุด และเริ่มบริการ SQL Server สำหรับการตั้งค่าที่มีผลบังคับใช้ การตั้งค่ารีจิสทรีWinsockListenBacklogเป็นสำหรับคอมพิวเตอร์ที่เรียกใช้ SQL Server เท่านั้น ไม่มีผลใด ๆ บนคอมพิวเตอร์ไคลเอ็นต์ที่มีการพูดคุยกับ SQL Server

ต้องการความช่วยเหลือเพิ่มเติมหรือไม่

ต้องการตัวเลือกเพิ่มเติมหรือไม่

สํารวจสิทธิประโยชน์ของการสมัครใช้งาน เรียกดูหลักสูตรการฝึกอบรม เรียนรู้วิธีการรักษาความปลอดภัยอุปกรณ์ของคุณ และอื่นๆ