SQL - ข้อผิดพลาดเกิดขึ้นระหว่างการจับมือล่วงหน้า


15

จนกระทั่งเมื่อวานเย็นฉันสามารถเชื่อมต่อกับเซิร์ฟเวอร์ของฉันจากเครื่องท้องถิ่นของฉัน ตอนนี้ฉันได้รับข้อผิดพลาดต่อไปนี้:

สร้างการเชื่อมต่อสำเร็จกับเซิร์ฟเวอร์ แต่จากนั้นเกิดข้อผิดพลาดระหว่างการจับมือล่วงหน้า (ผู้ให้บริการ: ผู้ให้บริการ SSL ข้อผิดพลาด: 0 - การดำเนินการรอหมดเวลา) (. Net SqlClient Data Provider)

หมายเหตุฉันสามารถเข้าสู่เซิร์ฟเวอร์จริงโดยไม่มีปัญหา

เมื่อวานนี้ฉันติดตั้ง IIS บนเครื่องของฉันและตั้งค่าไซต์โดยใช้ที่อยู่ IP ของฉัน - ไม่ทราบว่าสิ่งนี้มีอะไรที่ต้องทำ

ฉันเจอบทความนี้แล้วทำตามขั้นตอน แต่ดูเหมือนจะไม่ช่วย

http://escapekeys.com/microsoft-sql-server-error-64-a-connection-was-successfully-established-with-the-server/89

ฉันยังอ่านบทความต่อไปนี้เปลี่ยนการตั้งค่า TC / IP รีสตาร์ท แต่ไม่มีอะไร

http://blog.sqlauthority.com/2009/05/21/sql-server-fix-error-provider-named-pipes-provider-error-40-could-not-open-a-connection-to-sql- เซิร์ฟเวอร์ของ Microsoft SQL เซิร์ฟเวอร์ข้อผิดพลาด /

เริ่มพยายามแนะนำจากความคิดเห็นด้วย แต่ก็หยุดเมื่อฉันรู้ว่าฉันอาจทำสิ่งต่าง ๆ มากขึ้น

เหตุใดสิ่งนี้จึงเกิดขึ้น / ฉันจะแก้ไขได้อย่างไร


นี่คือ SQL Server รุ่นใด? คุณพยายามเชื่อมต่อกับเครื่อง SQL อย่างไร ใช้ SQL Server Management Studio หรือแอพที่คุณพัฒนาขึ้นมาหรือไม่? คุณได้ลองเริ่มบริการ SQL Server และเครื่องเซิร์ฟเวอร์ใหม่หรือไม่
— Max Vernon

เซิร์ฟเวอร์คือปี 2008 sql ท้องถิ่นของฉันคือ 2012 ลองผ่านแอพที่ฉันพัฒนาขึ้นเช่นเดียวกับ SSMS เริ่มบริการ SQL ใหม่บนเครื่องของฉัน แต่ไม่ได้รีสตาร์ทเซิร์ฟเวอร์จริง (จะส่งผลกระทบต่อการผลิตและเป็นเพียงปัญหาการเชื่อมต่อ SQL ในเครื่องของฉันเท่านั้น)
— Rivka

มันเป็นอินสแตนซ์ SQL เริ่มต้นหรือไม่ ถ้าเป็นเช่นนั้นให้เรียกใช้netstat -aoและยืนยันว่าพอร์ต 1433 กำลังฟังอยู่และ PID นั้นเป็นของ sqlservr.exe หากกำลังฟังอยู่ให้ตรวจสอบว่าเปิดใช้งาน TCP / IP สำหรับที่อยู่ IP ที่คุณกำลังเชื่อมต่อใน SQL Server Configuration Manager (ตามที่ Max แสดง แต่ยังเปิดคุณสมบัติของ TCP / IP และตรวจสอบให้แน่ใจว่า IP ที่ถูกต้อง เปิดใช้งาน).
— Chris McKeown

ดูที่คุณสมบัติการบริการเครื่องของฉันมี SQLEXPRESS ไม่ใช่ 2012 มันเป็น SSMS ที่เป็น 2012 (ซึ่งอาจทำให้ไม่แตกต่างกันหรือไม่) @ChrisMcKeown - ไม่เห็นมี 1433 อยู่ในรายการนี้ นอกจากนี้ที่อยู่ IP ควรเป็นอย่างไร ท้องถิ่นของฉัน ขอบคุณมากขออภัยที่เปลี่ยนตัวแปรที่นี่
— Rivka

1
นอกจากนี้หากคุณดูในบันทึกข้อผิดพลาด SQL คุณยังสามารถดูว่าพอร์ตใดที่กำลังรับฟัง: 2012-09-04 09: 12: 58.74 เซิร์ฟเวอร์เซิร์ฟเวอร์กำลังฟัง [127.0.0.1 <ipv4> 64746]
— shiitake

คำตอบ:


5

ในสถานการณ์ของฉันฉันมีตัวกรองเนื้อหา / พร็อกซีที่เรียกว่า Covenant Eyes ที่เป็นสาเหตุ

ฉันพยายามซ่อมแซมการติดตั้ง SQL Server 2012 และติดตั้งล้มเหลวและยังไม่สามารถแก้ไขปัญหาได้ ทันทีที่ฉันสร้างรหัสถอนการติดตั้งและถอนการติดตั้งตัวกรองฉันสามารถเชื่อมต่อ; ฉันไม่ต้องรีบูต

ตรวจสอบพร็อกซีและตัวกรองเนื้อหาบนเครื่องและปิดการใช้งาน!


ว้าว. เมื่อไม่นานมานี้ แต่เราทำและยังมี Covenant Eyes ติดตั้งอยู่ในเครื่องของเรา
— Rivka

ฉันจะแจ้งให้พวกเขาทราบถึงปัญหาของฉัน ... บางทีพวกเขากำลังใช้. NET เวอร์ชั่นเก่าอยู่? นี่คือรายการฟอรัม: gsfn.us/t/3s4ti
— Watki02

7

คำตอบมีอยู่ที่นี่: http://social.msdn.microsoft.com/Forums/en-US/vssetup/thread/2d11b6f9-3ada-4682-b643-c721a97af4ba

ป่วยด้วยปัญหาหรือไม่ อย่ารู้หรือสนใจว่า winsock คืออะไรหรืออึระดับต่ำนี้หมายถึงอะไร

ไปที่พรอมต์คำสั่ง

ทำเช่นนี้

netsh Winsock reset

ไปกับชีวิตของคุณและมีความสุข


หมายเหตุมันไม่ได้แก้ปัญหาของฉัน ... แต่มันทำเพื่อคนอื่นหลายคน
— Watki02

ขอบคุณ Watki02 คำตอบของคุณ (รีเซ็ต ninsh Winsock) ช่วยฉันแก้ปัญหานี้สำหรับแอปพลิเคชัน clickOnce VB.Net ที่พัฒนาขึ้นใน VS2010 ระบบปฏิบัติการ Vista พร้อมด้วย. Net 4.5 เพื่อสร้างการเชื่อมต่อฐานข้อมูลระยะไกลจาก Sql 2005 express Edition ไปยัง SQL 2005 Server

ขอบคุณก็ไม่ช่วยฉันไม่ทราบว่ามันหมายถึงแม้ว่า :)
— Ilya Chernomordik

ทำงานเหมือนมีเสน่ห์และรวดเร็วมาก !!!
— เจฟฟ์เทียน

3

ในการตั้งค่าเฉพาะของฉันฉันใช้การจัดเก็บข้อมูลเซสชันในฐานข้อมูลที่กำหนดเองฉันยังมีการเข้ารหัสข้อมูล (Encrypt = True) ผ่านสตริงการเชื่อมต่อการลบสิ่งนี้จะแก้ไขปัญหาได้!

ฉันสงสัยว่าข้อมูลนั้นไม่ได้ถูกเข้ารหัสด้วย SSL แต่ก็มีปัญหาไม่มากจนกว่าเราจะเพิ่มเว็บเซิร์ฟเวอร์ให้มากขึ้น!


1

ฉันกู้คืนระบบแล้วและฉันสามารถเชื่อมต่อได้ตอนนี้


0

เปิดตัวจัดการการกำหนดค่าเซิร์ฟเวอร์ SQL และตรวจสอบให้แน่ใจว่าบริการ SQL Server กำลังทำงานอยู่:

ตัวจัดการการกำหนดค่าเซิร์ฟเวอร์ SQL - บริการ

และกำหนดค่าให้อนุญาตการเชื่อมต่อ TCP / IP:

ตัวจัดการการกำหนดค่าเซิร์ฟเวอร์ SQL - การกำหนดค่าเครือข่าย


ขอบคุณลองที่แม้ว่าแล้ว
— Rivka

0

ข้อผิดพลาดนี้เกิดขึ้นหลังจากการติดตั้งโปรแกรมที่เปลี่ยนการตั้งค่า Internet Protocol ของคอมพิวเตอร์ของคุณ เมื่อเร็ว ๆ นี้ฉันได้รับปัญหาเดียวกันหลังจากการติดตั้ง Internet Download Manager เพราะ IDM เปลี่ยนการตั้งค่า IP ที่เกิดข้อผิดพลาดหลังจากถอนการติดตั้ง IDM จากพีซีของฉันและเริ่มการทำงานพีซีใหม่เพื่อแก้ปัญหา

ดังนั้นถอนการติดตั้งแอปพลิเคชั่นใด ๆ ที่เปลี่ยนแปลงการตั้งค่า Internet Protocol เช่น Internet Download Manager


0

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

หรือเพียงดำเนินการแบบสอบถามนี้

ใช้ต้นแบบแก้ไขฐานข้อมูลชื่อฐานข้อมูล SET SINGLE_USER ด้วย ROLLBACK ทันทีฐานข้อมูลฐานข้อมูลเปลี่ยนแปลงชื่อชุด MULTI_USER

ที่แก้ไขปัญหาของฉัน :) สนุก..!!


0

ไม่มีวิธีแก้ปัญหาเหล่านี้สำหรับฉัน สิ่งที่ได้ผลคือ:

/programming/3270199/a-connection-was-successfully-established-with-the-server-but-then-an-error-occ/44703629#44703629

  • ในเครื่องมือจัดการการกำหนดค่าเซิร์ฟเวอร์ SQL

  • เลือกบริการเซิร์ฟเวอร์ SQL

  • ค้นหาบริการที่มีปัญหาและดูคุณสมบัติ

  • ในแท็บเข้าสู่ระบบเปลี่ยน "บัญชีในตัว" เป็น "บริการเครือข่าย"

ข้อจำกัดความรับผิดชอบ: นี่คือบนพีซี dev ในพื้นที่ของฉันดังนั้นฉันจึงไม่ต้องกังวลเรื่องความปลอดภัย


0

ปัญหานี้อาจเกี่ยวข้องกับไฟร์วอลล์ตรงกลางที่กำลังทำการตรวจสอบ SSL

ฉันขอแนะนำให้คุณลองอีกครั้งโดยใช้การเชื่อมต่ออื่นที่ไม่ได้ทำการตรวจสอบ SSL หรือขอให้ผู้ดูแลระบบไฟร์วอลล์ของคุณสร้างข้อยกเว้นสำหรับแหล่งที่มาและ / หรือปลายทางที่คุณกำลังเชื่อมต่อ

ไชโย!


0

ฉันได้รับข้อความแสดงข้อผิดพลาดนี้ในแต่ละเวิร์กสเตชันที่พยายามเชื่อมต่อกับ SQL คอมพิวเตอร์ทุกเครื่องเชื่อมต่อกับโดเมน สิ่งที่ฉันทำเพื่อแก้ไขปัญหานี้คือ:

1) สร้าง domian \ ชื่อผู้ใช้เป็นล็อกอินใน SQL Management Studio ของผู้ใช้ที่ล็อกอินเข้าสู่เวิร์กสเตชัน 2) TLS 1.0 ก็ป้องกันการเข้าถึงนี้เช่นกัน Transport Layer Security TLS เป็นโปรโตคอลการเข้ารหัสที่ใช้เพื่อสร้างช่องทางการสื่อสารที่ปลอดภัยระหว่างสองระบบ มันถูกใช้เพื่อรับรองความถูกต้องหนึ่งหรือทั้งสองระบบและปกป้องความลับและความสมบูรณ์ของข้อมูลที่ผ่านระหว่างระบบ

ในรีจิสทรีของคอมพิวเตอร์ทั้งสองเครื่องเราไปที่ \ HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ SecurityProviders \ SCHANNEL \ Protocols \ TLS 1.0 \ Server เราสลับค่าในสองคีย์ย่อย
หลังจากรีบูตฉันทดสอบอีกครั้งและสามารถสร้างการเชื่อมต่อได้สำเร็จ


-2

เรามีปัญหาเดียวกัน เราตรวจสอบทุกอย่างรวมถึง ping, การเชื่อมต่อ telnet & RDP และในที่สุดก็พบว่ามันเริ่มเกิดขึ้นหลังจาก ISP ของเราเปลี่ยนเส้นทาง หลังจากเปลี่ยนเส้นทางมันเริ่มทำงาน

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.