เราใช้การรับรองความถูกต้องของ SQL (เพื่อลดจำนวนพูลการเชื่อมต่อ) & สตริงการเชื่อมต่อ. NET 4.0 เพื่อเชื่อมต่อกับ SQL Server Enterprise Edition 2012 SP1 บนเซิร์ฟเวอร์ Windows 2008 R2 Enterprise:
Microsoft SQL Server 2012 (SP1) - 11.0.3000.0 (X64)
19 ตุลาคม 2555 13:38:57
ลิขสิทธิ์ (c) Microsoft Corporation
รุ่นองค์กร (64 บิต) บน Windows NT 6.1 (รุ่น 7601: Service Pack 1)
เราใช้เซิร์ฟเวอร์ประมาณ 50 เซิร์ฟเวอร์แบ่งออกเป็น 8 กลุ่มต่าง ๆ ส่วนต่าง ๆ ของเว็บไซต์
เว็บไซต์ของเรากำลังใช้ SQL Server นี้เพื่อบันทึกข้อมูลการติดตามการเยี่ยมชม ในช่วงสองสามวันที่ผ่านมามีข้อความต่อไปนี้เกี่ยวกับการตั้งค่าพูลการเชื่อมต่อใหม่:
ไคลเอ็นต์ไม่สามารถใช้เซสชันซ้ำด้วย SPID 1327 ซึ่งได้รับการรีเซ็ตสำหรับการรวมการเชื่อมต่อ ID ความล้มเหลวคือ 46 ข้อผิดพลาดนี้อาจเกิดจากการดำเนินการก่อนหน้านี้ล้มเหลว ตรวจสอบบันทึกข้อผิดพลาดสำหรับการดำเนินการที่ล้มเหลวทันทีก่อนที่ข้อความแสดงข้อผิดพลาดนี้
อ่านบันทึกข้อผิดพลาด:
ข้อผิดพลาด: 18056, ความรุนแรง: 20, สถานะ: 46
ไคลเอ็นต์ไม่สามารถใช้เซสชันด้วย SPID 959 ซ้ำซึ่งได้รับการรีเซ็ตสำหรับการรวมการเชื่อมต่อ ID ความล้มเหลวคือ 46 ข้อผิดพลาดนี้อาจเกิดจากการดำเนินการก่อนหน้านี้ล้มเหลว ตรวจสอบบันทึกข้อผิดพลาดสำหรับการดำเนินการที่ล้มเหลวทันทีก่อนที่ข้อความแสดงข้อผิดพลาดนี้
การเข้าสู่ระบบล้มเหลวสำหรับผู้ใช้ 'xxxx' สาเหตุ: ไม่สามารถเปิดฐานข้อมูล 'xxxxxxxx' ที่กำหนดค่าไว้ในวัตถุเข้าสู่ระบบในขณะที่ตรวจสอบการเข้าสู่ระบบในการเชื่อมต่ออีกครั้ง [ลูกค้า: 10.xx.xx.xxx]
หลังจากการขุดฉันพบเอกสารนี้ในบล็อก CSS: วิธีการทำงาน: ข้อผิดพลาด 18056 - ลูกค้าไม่สามารถใช้เซสชันด้วย SPID ## อีกครั้งซึ่งได้รับการรีเซ็ตสำหรับการรวมการเชื่อมต่อและเอกสารนี้โดย Aaron Bertrand: การแก้ไขปัญหาข้อผิดพลาด 18456 . ฉันรู้ว่าหมายเลขข้อผิดพลาดแตกต่างกัน แต่รหัสความล้มเหลวเหมือนกันกับจำนวนข้อความเหมือนกัน)
ID ความล้มเหลว 46 แสดงว่าการเข้าสู่ระบบไม่ได้รับอนุญาต การเข้าสู่ระบบของเราเริ่มต้นไปที่ฐานข้อมูลหลักและชื่อ db เป็นข้อมูลเฉพาะในสตริงการเชื่อมต่อ
ฉันต้องการที่จะตรวจสอบจำนวนสระสตริงการเชื่อมต่ออื่น ๆ ของการตรวจสอบและเคาน์เตอร์ทั้งหมดใน Perfmon .Net Data Provider for SqlServer
สำหรับ มันให้ตัวเลือกdefaultdomain9675
สำหรับอินสแตนซ์เท่านั้นดังนั้นฉันเลือกว่าสมมติว่าเป็นระบบที่สร้างชื่อ ID สำหรับเครือข่าย Datacentre ของเรา น่าเสียดายที่ตัวนับทั้งหมดกำลังอ่านค่าศูนย์ ในหนึ่งในเซิร์ฟเวอร์หลักอื่น ๆ ของเรากลุ่มการเชื่อมต่อกำลังบินวนอยู่รอบ ๆ 10 ซึ่งเป็นสิ่งที่ฉันคาดว่าจะเห็นบนเซิร์ฟเวอร์ที่สมบูรณ์ด้วยโหลดประเภทนั้น
คำถามของฉันคือ 3 เท่า
มีใครแนะนำได้
.Net Data Provider for SqlServer
ไหมว่าเพราะเหตุใด Windows 2008 R2 Server จึงไม่แสดงมีใครประสบกับสิ่งนี้ตามที่เห็นได้ชัดว่าฉันเชื่อว่าการเข้าสู่ระบบไม่ได้รับอนุญาตเป็นปลาเฮอริ่งแดง?
หากกลุ่มเว็บเซิร์ฟเวอร์ต่าง ๆ มีไวยากรณ์สตริงการเชื่อมต่อเหมือนกัน แต่มีช่องว่างต่างกันเล็กน้อยนี่จะทำให้เซิร์ฟเวอร์ใช้กลุ่มการเชื่อมต่ออื่นหรือไม่
การตั้งค่าหน่วยความจำขั้นต่ำ & สูงสุดคือ 20GB และ 58GB ตามลำดับ เซิร์ฟเวอร์เป็นเซิร์ฟเวอร์ฐานข้อมูลเฉพาะที่มี RAM 64GB ฉันไม่คิดว่าหน่วยความจำเป็นปัญหาเพราะกล่องดูเหมือนจะมีความคาดหวังของหน้า ไม่ได้เปิดใช้งานการปิดอัตโนมัติ เซิร์ฟเวอร์ไม่ทำงาน: นี่คือเว็บไซต์ 24x7 ที่มีการใช้งานจำนวนมาก