SQL - giriş öncesi el sıkışma sırasında bir hata oluştu


15

Dün akşamına kadar yerel makinemden sunucuma bağlanabildim. Şimdi, aşağıdaki hatayı alıyorum:

Sunucuyla başarıyla bir bağlantı kuruldu, ancak daha sonra oturum açma öncesi el sıkışma sırasında bir hata oluştu. (sağlayıcı: SSL Sağlayıcısı, hata: 0 - Bekleme işlemi zaman aşımına uğradı.) (.Net SqlClient Veri Sağlayıcısı)

Not, gerçek sunucuda sorunsuz oturum açabiliyorum.

Dün, makineme IIS yükledim ve IP adresimi kullanarak bir site kurdum - bunun yapacak bir şey olup olmadığını bilmiyorum.

Bu makaleye rastladım, adımları takip ettim, ama yardım etmedim.

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

Ayrıca aşağıdaki makaleyi inceledim, TC / IP ayarlarını değiştirdim, yeniden başlattım, ancak hiçbir şey yapmadı.

http://blog.sqlauthority.com/2009/05/21/sql-server-fix-error-provider-named-pipes-provider-error-40-could-not-open-a-connection-to-sql- sunucu microsoft-sql-server-hata /

Yorumlardan gelen önerileri de denemeye başladım, ancak işleri daha fazla karıştırdığını fark ettiğimde durdu.

Peki, bu neden oluyor / nasıl düzeltebilirim?


SQL Server'ın hangi sürümü bu? SQL makinesine nasıl bağlanmaya çalışıyorsunuz; SQL Server Management Studio veya geliştirdiğiniz bir uygulama, vb kullanarak? SQL Server hizmetini ve sunucu makinesini yeniden başlatmayı denediniz mi?
Max Vernon

Sunucu 2008, yerel sql 2012. Geliştirdiğim bir uygulama yanı sıra SSMS ile denedim. Makinemde Sql hizmetini yeniden başlattım, ancak gerçek sunucuyu yeniden başlatmadı (üretimi etkileyecek, ayrıca sadece yerel SQL bağlantımla ilgili bir sorun).
Rivka

Varsayılan bir SQL örneği mi? Öyleyse netstat -ao, 1433 numaralı bağlantı noktasının dinlediğini ve PID'nin sqlservr.exe'ye ait olduğunu çalıştırın ve onaylayın. Dinliyorsa, SQL Server Configuration Manager'da gerçekten bağlandığınız IP adresi için TCP / IP'nin etkin olup olmadığını kontrol edin (Max'in gösterdiği gibi, aynı zamanda TCP / IP özelliklerini de açın ve doğru IP'nin etkin).
Chris McKeown

Servis özelliklerine baktığımda, makinemin 2012 değil, SQLEXPRESS var. 2012 yılında SSMS idi (muhtemelen hiçbir fark yaratmıyor?). @ChrisMcKeown - orada 1433 görmüyorum. Ayrıca, IP adresi ne olmalıdır ? Yerel mi? Teşekkürler çocuklar, buradaki değişkenleri değiştirdiğim için üzgünüm.
Rivka

1
Ayrıca SQL hata günlüklerine bakarsanız, hangi portu dinlediğini de görebilirsiniz: 2012-09-04 09: 12: 58.74 Sunucu Sunucusu [127.0.0.1 <ipv4> 64746] 'yı dinliyor.
shiitake

Yanıtlar:


5

Benim durumumda, olası neden olan Covenant Eyes adlı bir içerik filtresi / proxy'im vardı.

SQL Server 2012 yüklemesini onarmayı denedim ve yüklemeyi kilitledi ve hala sorunu çözmedi. Bir kaldırma kodu oluşturup filtreyi kaldırır kaldırmaz bağlanabiliyorum; Yeniden başlatmam bile gerekmiyordu.

Makinedeki proxy'leri ve içerik filtrelerini kontrol edin ve devre dışı bırakın!


VAY. Bu bir süre önceydi, ancak makinelerimizde Covenant Eyes yüklü ve hala var.
Rivka

Sorunumu onlara bildireceğim ... belki de eski bir .NET sürümü kullanıyorlar? Forum girişi: gsfn.us/t/3s4ti
Watki02

7

Burada bir cevap geldi: http://social.msdn.microsoft.com/Forums/en-US/vssetup/thread/2d11b6f9-3ada-4682-b643-c721a97af4ba

Problemden bıktınız mı? Winsock'un ne olduğunu veya bu düşük seviyeli boktan herhangi birinin ne anlama geldiğini bilmeyin veya önemsemeyin.

Komut istemine git

Bunu yap

netsh Winsock reset

hayatına devam et ve mutlu ol.


Not, sorunumu çözmedi ... ama diğerleri için yaptı.
Watki02

Teşekkür ederim Watki02, cevaplarınız (netsh Winsock reset) VS2010'da geliştirilen VB.Net clickOnce uygulaması için bu sorunu çözmeme yardımcı oluyor. Sql 2005 express sürümünden SQL 2005 Server'a uzaktan DB bağlantısı kurmak için .Net 4.5 işletim sistemi Vista.

Teşekkürler, bana yardımcı oldu, ama ne anlama geldiğini bilmiyorum :)
Ilya Chernomordik

Bir cazibe gibi çalışır ve çok hızlı !!!
Jeff Tian

3

Özel kurulumumda, oturum verilerini özel bir veritabanında depolamaktaydım, ayrıca bağlantı dizesi aracılığıyla şifrelenmiş veriler (Encrypt = True) vardı, bu sorunu çözdü!

Gerçi biz yine de daha fazla web sunucuları eklemek kadar bir sorun değil, sonuç olarak ssl şifreli değil şüpheli!


1

Bir sistem geri yüklemesi yaptım ve şimdi bağlanabiliyorum.


0

SQL Server Yapılandırma Yöneticisi'ni açın ve SQL Server hizmetinin çalıştığından emin olun:

SQL Server Yapılandırma Yöneticisi - Hizmetler

ve TCP / IP bağlantılarına izin verecek şekilde yapılandırıldı:

SQL Server Yapılandırma Yöneticisi - Ağ Yapılandırması


Teşekkürler, yine de denedim.
Rivka

0

Bu hata, bilgisayarınızın Internet Protokolü ayarlarını değiştiren bir program yüklendikten sonra oluştu. Son zamanlarda, İnternet indirme yöneticisinin kurulumundan sonra aynı sorunu aldım çünkü IDM, IP ayarlarını bilgisayarımdan kaldırdıktan ve PC'yi yeniden başlattıktan sonra gelen hatayı IP ayarlarını değiştirdi, sorunu çözdü.

Bu yüzden, İnternet indirme yöneticisi gibi İnternet Protokolü ayarlarını değiştiren tüm uygulamaları kaldırın.


0

Bazen bu hata, SQL Server'daki bağlantıların aşırı yüklenmesi nedeniyle gelir. Bu yüzden DB'nizi Tek Kullanıcı olarak değiştirin ve tekrar Çoklu Kullanıcı olarak değiştirin.

Veya sadece bu sorguyu yürütün.

master kullan ALTER DATABASE DatabaseName SET SINGLE_USER RULO İLE HEMEN ALTER DATABASE DatabaseName SET MULTI_USER

Bu benim sorunumu çözdü. :) Zevk almak..!!


0

Bu çözümlerin hiçbiri benim için işe yaramadı. Ne işe yaradı şuydu:

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

  • SQL Server Yapılandırma Yöneticisi'nde

  • SQL Server Hizmetlerini seçin

  • Sorunlu hizmeti bulun ve Özellikleri görüntüleyin

  • Oturum Açma sekmesinde, "Yerleşik hesap" ı "Ağ Hizmeti" olarak değiştirin

Yasal Uyarı: Bu benim yerel dev PC oldu, bu yüzden bunu yaparken hiçbir güvenlik endişeleri vardı.


0

Bu sorun, ortada SSL denetimi yapan bir güvenlik duvarı ile ilgili olabilir.

SSL denetimi yapmayan başka bir bağlantı kullanmayı tekrar denemenizi veya güvenlik duvarı yöneticinizden bağlanmakta olduğunuz kaynak ve / veya hedef için bir muafiyet oluşturmasını istemenizi,

Şerefe!


0

SQL'e bağlanmaya çalışan her iş istasyonunda bu hata iletisini alıyordum. Tüm bilgisayarlar bir etki alanına bağlı. Bu sorunu çözmek için ne yaptım:

1) İşyerinde oturum açan kullanıcının SQL Management Studio'da oturum açma adı olarak domian \ kullanıcı adı oluşturun. 2) TLS 1.0 da bu erişimi engelliyordu. Taşıma Katmanı Güvenliği TLS, iki sistem arasında güvenli bir iletişim kanalı oluşturmak için kullanılan bir şifreleme protokolüdür. Sistemlerden birinin veya her ikisinin kimliğini doğrulamak ve sistemler arasında geçen bilgilerin gizliliğini ve bütünlüğünü korumak için kullanılır.

Her iki bilgisayarın kayıt defterinde \ HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ SecurityProviders \ SCHANNEL \ Protocols \ TLS 1.0 \ Server klasörüne gittik. İki alt anahtardaki değerleri değiştiriyoruz.
Yeniden başlattıktan sonra tekrar test ettim ve başarıyla bir bağlantı kurabildim.


-2

Aynı sorunu yaşadık. Ping, telnet ve RDP bağlantısı dahil her şeyi kontrol ettik ve sonunda ISS'mizin rotayı değiştirmesinden sonra gerçekleşmeye başladığını fark ettik. Rotayı değiştirdikten sonra çalışmaya başladı.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.