Neden “Sunucuya Bağlanılamıyor - Ağla ilgili veya örneğe özgü bir hata” alıyorum?


378

SQL Server'a bağlanmaya çalışırken aşağıdaki hatayı alıyorum:

108.163.224.173'e bağlanamıyor.

SQL Server'a bağlantı kurulurken ağla ilgili veya örneğe özgü bir hata oluştu.

Sunucu bulunamadı veya erişilemedi. Örnek adının doğru olduğunu ve SQL Server'ın uzak bağlantılara izin verecek şekilde yapılandırıldığını doğrulayın.

(sağlayıcı: Adlandırılmış Kanallar Sağlayıcısı, hata: 40 - SQL Server bağlantısı açılamadı) (Microsoft SQL Server, Hata: 1326)

Veritabanımı Visual Studio 2010'da gridview için yapılandırmaya çalıştığınızda bu hata atılır. Bu hatayı hata ayıklama konusunda bir kayıp var.

Bu hatayı nasıl ayıklayabilirsiniz? Hata mesajında ​​belirtilene ek olarak burada neler olup bittiğini belirlemek için hangi adımları atmalıyım?


11
Ping, SQL Server bağlantısını sınamak için güvenilir değildir, Windows Server'da ICMP yankı isteği varsayılan olarak devre dışıdır. Geçersiz bir kullanıcı adı veya şifre, hatanın size söylediği şey değildir, bu tamamen farklı bir hatadır.
Sean Airey

1
Bu makaleyi deneyin, bağlantı sorunlarınızla ilgili sorunları gidermek için hemen hemen tüm adımlardan geçer: social.technet.microsoft.com/wiki/contents/articles/…
Sean Airey

3
SQL Server {version} Express ile ilk kez ayarlarken bu hatayı aldıysanız ekran görüntümle cevabımı burada görebilirsiniz. StackOverflow'a geri döndüm ve cevabımı tekrar kullandım çünkü çalışan tek kişi buydu. stackoverflow.com/questions/1391503/…
MacGyver

Localhost'a bağlanmak istediğimde bu Sorunu sanal Sunucumda yaşadım. İşletim sistemini başlatırken bir tür hata oluştu - benim durumumda her şey neyse ki temiz bir yeniden başlatma ile çözüldü.
Qohelet

Bugün bunun için çok zaman geçirdim, nihayet benim için işe yarayan: Açık Sql Server Configuration Manager -> <INSTANCE> -> TCP / IP -> IP Adresleri (Sekme) için Protokoller . Son giriş IP All'e gidin ve TCP Port 1433'ten bahsedin . Şimdi kullanarak SQL Server'ı (INSTANCE) yeniden başlatın services.msc . Bundan sonra sorun çözüldü.
ani627

Yanıtlar:


301

Aşağıdaki teknikleri yararlı buldum:

  1. Veritabanı motorunuzun uzak bağlantıları kabul edecek şekilde yapılandırıldığından emin olun :

    • Başlat> Tüm Programlar> SQL Server 2005> Yapılandırma Araçları> SQL Server Yüzey Alanı Yapılandırması
    • Hizmetler ve Bağlantılar için Yüzey Alanı Yapılandırması'na tıklayın
    • Sorunlu örneği seçin> Veritabanı Altyapısı> Uzak Bağlantılar
    • Yerel ve uzak bağlantıları etkinleştir
    • Örneği yeniden başlat
  2. Kullandığınız SQL Server örneği ve bağlantı noktası için güvenlik duvarında bir istisna oluşturmanız gerekebilir :

    • Başlat> Çalıştır> Firewall.cpl
    • İstisnalar sekmesini tıklayın
    • Sqlservr.exe (genellikle içinde bulunur C:\Program Files (x86)\Microsoft SQL Server\MSSQL.x\MSSQL\Bin, yüklemelerinizin gerçek klasör yolu olup olmadığını kontrol edin) ve bağlantı noktası (varsayılan değer 1433)
    • Bağlantı dizenizi de kontrol edin
  3. Senin olmadığını kontrol edin , SQL server hizmetleri çalışır durumda olduğunu düzgün:

    • Tüm Programlar> Microsoft SQL Server 2008> Yapılandırma Araçları> SQL Server Yapılandırma Yöneticisi> SQL Server Hizmetleri'ne gidin
    • SQL Server hizmet durumunun Çalıştığından emin olun.

    Ayrıca, uzak sunucunuzun aynı ağda olduğundan emin olun . sqlcmd -LSunucunuzun ağ listenize dahil edilip edilmediğini öğrenmek için çalıştırın .

  4. TCP / IP'yi etkinleştirSQL Server Yapılandırmasında

    İki veya daha fazla SQL Sunucusu ağa bağlandığında TCP / IP kullanarak tüm iletişimi yaparlar. SQL Server yüklemesinin varsayılan bağlantı noktası 1433'tür. Bu bağlantı noktası SQL Server Configuration Manager ile değiştirilebilir. SQL Server'ın bağlanabilmesi için TCP / IP etkinleştirilmelidir.

    • Tüm Programlar >> Microsoft SQL Server 2008 >> Yapılandırma Araçları >> SQL Server Yapılandırma Yöneticisi >> TCP / IP'yi seçin
    • TCP / IP'ye sağ tıklayın >> Etkinleştir'e tıklayın

    Tüm değişikliklerin geçerli olması için SQL Server Hizmetlerini yeniden başlatmanız gerekir. SQL Server'ın varsayılan bağlantı noktasının değiştirilebileceği konumu seçmek için sağ tıklayın ve menü özelliklerine gidin.


10
SQL Server 2014 Express'te TCP / IP'yi etkinleştirmek Configuration, SQL Server 2014 Express kullanırken benim için bir çözümdü.
Mike Richards

73
Bugün bunun için çok zaman geçirdim, nihayet benim için işe yarayan: Açık Sql Server Configuration Manager -> <INSTANCE> -> TCP / IP -> IP Adresleri (Sekme) için Protokoller . Son giriş IP All'e gidin ve TCP Port 1433'ten bahsedin . Şimdi services.msc kullanarak SQL Server'ı (<INSTANCE>) yeniden başlatın . Bundan sonra sorun çözüldü!
ani627

1
Ayrıca yerel Sql sunucumda belirli bir sorunla karşı karşıya kaldım ve işletim sisteminin yerel hizmetlerini kontrol ederek çözdüm ve belirli Sql hizmetlerini aradım ve bunları tek tek başlatın. Mükemmel çalıştı.
Faisal Naseer

4
Ben de aynı sorun vardı, sql sunucusunda oturum mssqlserer hizmet durduruldu bulundu, başladı. Örneğe şimdi bağlanabildi
Rak

15
Ayrıca UNUTMAYIN için ENABLE SQL Server Browserhizmet.
Zamanımda

125

Benim için bir çözüm buldum:

"SQL Server Yapılandırma Yöneticisi" ni açın

Şimdi "SQL Server Ağ Yapılandırması" ve " Ad Protokolleri" ni tıklayın. "

"TCP / IP" ye sağ tıklayın (Etkin olduğundan emin olun) Özellikler'e tıklayın

Şimdi "IP Adresleri" sekmesini seçin -ve- Son "IP All" girişine gidin

"TCP Bağlantı Noktası" 1433 girin.

Şimdi "SQL Server .Name" yeniden başlatın . "services.msc" kullanma (winKey + r)

Çalışacak...


Bunu denemek, ancak bazı nedenlerden dolayı sağ tıklayıp Windows10'da "TCP / IP" üzerinde "Özellikler" i seçtiğimde, bunun için iletişim penceresini açmıyor. Ağaç görünümündeki diğer düğümler genellikle diyalog pencerelerini açar. Herkes bu sorunu ve üstesinden gelmek için fikir var mı?
Ryan Betker - healthNCode

3
SQL Server 2014'te (localdb) \ v11.0 yerine (localdb) \ mssqllocaldb kullanın \ v11.0
Shalva Avanashvili

67
Benim yapıştırılan kopyala yorumunu bana kredi vermeden cevap olarak - (Yayınınızdan önce 7 ay 24 Feb 2015 tarihinde yayınlanmıştır)! : P
ani627

2
Bu işe yaradı. SQL Server 2016'ya bağlanamadım. Bu değişiklikleri yaptım ve işe yaradı! Teşekkürler.
Ankur

1
benim için çalışıyor. Yapılandırma yöneticisinde TCP / IP ve Named Pipes'ı etkinleştirdikten sonra hizmetleri "service.msc" de başlatmak zorunda kaldım.
Alif Noushad

100

Benim ağır upvoted ekleme yorumunu ekran görüntüleriyle cevap olarak.

Bunun için çok zaman harcadım, sonunda benim için işe yarayan şey:

1) Sql Server Configuration Manager'ı açın -> SQL Server Ağ yapılandırması -> <(INSTANCE)> -> TCP / IP protokolleri (üzerine çift tıklayın).

resim açıklamasını buraya girin

2) -> IP Adresleri'ni (Sekme) seçin .

3) IP All son girişine gidin ve TCP Port 1433'ten bahsedin .

resim açıklamasını buraya girin

4) tuşuna basın Win+Rve services.msc girin .

5) Şimdi SQL Server <(INSTANCE)> uygulamasını yeniden başlatın .

resim açıklamasını buraya girin

Bundan sonra sorun çözüldü!



Benim için çalıştı, SQL Express 2012
lost_in_magento

TCP etkinleştirildikten sonra sql server 2012'de çalıştı, TCP ALL için 1433 numaralı bağlantı noktası eklendi ve hizmeti yeniden başlatın!
Chirag Khatsuriya

Benim için ayrıca Güvenlik
Duvarında

83

Hizmetleri açarak Sql Server (Sqlexpress) hizmetini çalıştırmaya başlayarak bu sorunu çözüyorum .

hizmet resmi


3
SQL Server windows hizmeti el ile başlatma türü olarak ayarlanmış gördüm, bu yüzden bir yeniden başlatma yeniden başlatılmadı. Otomatik olarak ayarlanmalıdır.
robertburke

2
Bu tam olarak ne yaptım, Durumum Çalışıyordu ve StartupType Otomatikti, ancak yine de sorunla karşı karşıya kaldım, bu yüzden Çalıştırma penceresi türünden hizmetleri kullandım, services.mscsonra bağlam menüsü için SQL Server (SQL EXPRESS) sağ tıklatıp sadece Durdur ve Başlat tekrar hizmet ve benim için iyi çalışıyor, umut yardımcı olur.
shaijut

22

Bu Hata esas olarak SQL Hizmeti durdurulduğunda geldi. Hizmeti yeniden başlatmanız gerekiyor. Bu pencereye gitmek için bu şekilde Hizmetleri aramanız gerekir. resim açıklamasını buraya girin

Ardından SQLSERVER (MSSQLSERVER) öğesini arayın ve hizmeti yeniden başlatın.

resim açıklamasını buraya girin

Umarım bu işe yarar.


18

Basın window + R (Run window Open)ve çalışma penceresi türü "services.msc"ve yeni hizmetler açık benim durumumda örnek adı ile SQL SERVER bulmak SQL SERVER(SQLEXPRESS)daha sonra bu hizmeti başlatmak ve tekrar deneyin benim için çalışıyor Umut Sizin için çalışır.resim açıklamasını buraya girin


Cevap daha önce verilmişti. Herhangi bir neden
almayın

8
dostum aynı sorunla karşı karşıyayım ama sıcak açık hizmetler penceresini bilmiyorum sonra bir yol buldum ve insanlarla paylaşmayı düşündüm
Hafiz Asad

Teşekkürler, @HafizAsad. Cevabınız benim için çalışıyor.
Adnan Ahmad

@AdnanAhmad rica ederim. Takdiriniz için teşekkürler.
Hafiz Asad

16

Express Edition kullanıyor olmanız durumunda :

Ekle "\SQLEXPRESS" sunucu adından sonra

Örneğin "MY-SERVER\SQLEXPRESS"

resim açıklamasını buraya girin


13

Başka bir bilgisayarda WinForms projemi (bir SQL Server veritabanı ile çalışmayı içerir ve bilgisayarımda mükemmel çalıştı) çalıştırmak istediğimde aynı hatayla karşılaştım. Sorun, bilgisayarımdaki Windows Güvenlik Duvarı'nda oldu. Bunu iki kural ekleyerek çözdüm. SQL Güvenlik Duvarı üzerinden SQL Server'a nasıl izin verileceğinin tamamı budur:

  1. "Çalıştır" ı açın ve services.msc
  2. SQL Server (örnek adı) ve SQL Server Tarayıcısı hizmetini bulun. Birer birer sağ tıklayın, "Özellikler" i seçin, yolu exe dosyasına kopyalayın
  3. Ardından açın firewall.cpl, bir uygulamaya izin ver veya kural ekle'yi tıklayın, önceden kopyalanmış yolu ekleyin (izlemeniz gereken bir prosedür var), Alan Adı ve Özel'i işaretleyin, Genel'in işaretini kaldırın.

Bu, bu yordamı görebileceğiniz YouTube bağlantısıdır: SQL Server'a Windows Güvenlik Duvarı üzerinden izin ver


Benim için mükemmel çalışıyor. Önemli: Güvenlik duvarına tarayıcı ve sunucu ekleyin! +1
BendEg

Ben sqlservr.exe dosyasını bulmak zor bir zaman geçiriyordu, bu onu bulmak hile yaptı.
Stan

11

Yukarıdaki çözümlerin hiçbiri işe yaramazsa (hiçbir şey benim için işe yaramadı), bilgisayarınızı yeniden RESTART ve sql sunucunuza (localhost) bağlanabilirsiniz.


Bunun çalışmasının nedeni, Sql Server'ı yeni kurduğunuz ve kurulumun size söylediği gibi bilgisayarı yeniden başlatmamış olmanızdır. Böylece, yapın ve sonra hizmetler ve eksik olan tüm gerekli yapılandırma oluşturulacaktır.
Sterling Diaz

10

Burada belirtilen her şeyi yaptıktan sonra:
http://blog.sqlauthority.com/2009/05/21/sql-server-fix-error-provider-named-pipes-provider-error-40-could-not-open-a- sql-server-microsoft-sql-server-error bağlantısı / Yine de benim için çalışmadı.

Adımlar benim için çalıştı:

Start > Run > cmd > sqlcmd -L

Size sunucu adını soracaktır. Bu sunucu adının, SQL yönetim stüdyosunun SUNUCUYA BAĞLANTI kutusunda bağlanmaya çalıştığınız adla aynı olduğundan emin olun.

Ben bu aptal hata yaptım MSSQLSERVERyerine bu sunucu adını kullanarak kullanmaya devam .

Umarım bu benim gibi aptalca hata yapan insanlar için yardımcı olur.

Teşekkürler.


7

SQL Server 2016 ve Windows 10 kullanıyorum.

resim açıklamasını buraya girin

İlk şey SQL Server'a uzaktan bağlantıya izin vermektir. Yaptığım SQL Server Configuration Manager'ı açmak için başlat menüsünde sqlservermanager13.msc yazmaktır . TCP / IP durumunun etkinleştirildiğinden emin olun. resim açıklamasını buraya girin

TCP / IP protokolü adını çift tıklatarak TCP bağlantı noktası numaranızı kontrol edin. Genellikle varsayılan olarak 1433'tür.

resim açıklamasını buraya girin

Aşağıdaki yordamlar, Gelişmiş Güvenlik Özellikli Windows Güvenlik Duvarı Microsoft Yönetim Konsolu (MMC) ek bileşenini kullanarak Windows Güvenlik Duvarı'nı yapılandırır. Gelişmiş Güvenlik Özellikli Windows Güvenlik Duvarı yalnızca geçerli profili yapılandırır.

TCP erişimi için Windows güvenlik duvarında bir bağlantı noktası açmak için

  1. Başlat menüsünde Çalıştır'ı tıklatın, WF.msc yazın ve Tamam'ı tıklatın.
  2. Gelişmiş Güvenlik Özellikli Windows Güvenlik Duvarı'nda, sol bölmede, Gelen Kuralları'nı sağ tıklatın ve sonra eylem bölmesinde Yeni Kural'ı tıklatın.
  3. Kural Türü iletişim kutusunda Bağlantı Noktası'nı seçin ve İleri'yi tıklatın.
  4. Protokol ve Bağlantı Noktaları iletişim kutusunda TCP'yi seçin. Belirli yerel bağlantı noktaları'nı seçin ve sonra Veritabanı Altyapısı örneğinin varsayılan örnek için 1433 gibi bağlantı noktası numarasını yazın. Sonrakine tıkla.
  5. Eylem iletişim kutusunda, Bağlantıya izin ver'i seçin ve ardından İleri'yi tıklatın.
  6. Profil iletişim kutusunda, Veritabanı Altyapısı'na bağlanmak istediğinizde bilgisayar bağlantı ortamını açıklayan profilleri seçin ve İleri'yi tıklatın.
  7. Ad iletişim kutusunda, bu kural için bir ad ve açıklama yazın ve Son'u tıklatın.

Yapılandırılacak başka bir şey.

Dinamik bağlantı noktalarını kullanırken SQL Server'a erişimi açmak için

  1. Başlat menüsünde Çalıştır'ı tıklatın, WF.msc yazın ve Tamam'ı tıklatın.
  2. Gelişmiş Güvenlik Özellikli Windows Güvenlik Duvarı'nda, sol bölmede, Gelen Kuralları'nı sağ tıklatın ve sonra eylem bölmesinde Yeni Kural'ı tıklatın.
  3. Kural Türü iletişim kutusunda Program'ı seçin ve ardından İleri'yi tıklatın.
  4. Program iletişim kutusunda Bu program yolu'nu seçin. Gözat'ı tıklatın ve güvenlik duvarı üzerinden erişmek istediğiniz SQL Server örneğine gidin ve Aç'ı tıklatın. Varsayılan olarak, SQL Server C: \ Program Files \ Microsoft SQL Server \ MSSQL13.MSSQLSERVER \ MSSQL \ Binn \ Sqlservr.exe konumundadır. Sonrakine tıkla.
  5. Eylem iletişim kutusunda, Bağlantıya izin ver'i seçin ve ardından İleri'yi tıklatın.
  6. Profil iletişim kutusunda, Veritabanı Altyapısı'na bağlanmak istediğinizde bilgisayar bağlantı ortamını açıklayan profilleri seçin ve İleri'yi tıklatın.
  7. Ad iletişim kutusunda, bu kural için bir ad ve açıklama yazın ve Son'u tıklatın.

Microsoft belgesine göz atın Veritabanı Altyapısı Erişimi için Windows Güvenlik Duvarı Yapılandırma


Bilgisayarımdaki Windows 10'da sql sunucusu örneği C: \ Program Files \ Microsoft SQL Server \ MSSQL13.SQLEXPRESS \ MSSQL \ Binn \ Sqlservr.exe
Mayer Spitzer

7

Aşağıdaki yöntemleri test edebilirsiniz.

  • bir

    1. Projenin bağlantı dizesini kontrol edin.
  • b

    1. Hizmetlere gidin ve SQLServer Örneği'ni yeniden başlatın.
  • c

    1. 'SQLServer Configuration Manager'ı açın
    2. Sol panelde 'SQLServer Network Configuration' seçeneğini seçin ve genişletin
    3. 'MSSQLServer için Protokoller'i seçin
    4. Sağ panelde dbl 'TCP / IP'ye tıklayın
    5. 'Protokol' sekmesinde 'Etkin'i' Evet 'olarak ayarlayın
    6. 'IP Adresleri' sekmesinde aşağı kaydırın
    7. 'IPAll'da' TCP Bağlantı Noktası'nı 1433 olarak ayarlayın
  • d
    1. 'Gelişmiş güvenlikli güvenlik duvarı' nı açın
    2. Sağ sekmede 'Gelen Kuralları'nı seçin

Orta sekmede 'yerel Bağlantı Noktası'nın 1433 olduğu kaydı bulun, bulamazsanız aşağıdaki düzeylerde oluşturmaya çalışın

  • Başlat menüsünde Çalıştır'ı tıklatın, 'WF.msc' yazın ve Tamam'ı tıklatın.
  • Sol panelde 'Gelişmiş Güvenlik Özellikli Windows Güvenlik Duvarı'nı tıklayın
  • Sağ panelde 'Gelen Kuralları'nı sağ tıklayın ve ardından' Yeni Kural'ı tıklayın
  • Kural Türü iletişim kutusunda 'Bağlantı Noktası'nı seçin ve İleri'yi tıklatın.
  • Protokol ve Bağlantı Noktaları iletişim kutusunda, 'TCP'yi seçin ve' Belirli Yerel Bağlantı Noktaları'nı seçin ve ardından 1433 bağlantı noktası numarasını yazın, İleri'yi tıklatın.
  • Eylem iletişim kutusunda, Bağlantıya izin ver'i seçin ve ardından İleri'yi tıklatın.
  • 'Profil' iletişim kutusunda, Özel ve Genel Etki Alanını kontrol edin, ardından İleri'yi tıklayın
  • 'Ad' iletişim kutusuna 'SQL 1433 Port' yazın ve bir açıklama için açıklama yazın. Ardından Son'u tıklayın
  1. Ardından, orta sekmede bulunan öğeyi (Örnek) veya oluşturduğunuz 'SQL 1433 Port' adını çift tıklayın.
  2. Açılan iletişim kutusunda 'Kapsam' sekmesini seçin (SQL Server Özellikleri)
  3. Yerel PC'de Tarayıcınızdaki google.com adresine gidin ve 'IP'm' ifadesini arayın.
  4. sonra 'IP'nizin kopyası
  5. Uzak sunucuya gidin ve 'Kapsam' sekmesinin 'SQL Server Özellikleri' iletişim kutusunda, 'Uzak IP Adresi'nde' Bu IP Adresleri 'seçeneğini seçin ve' Ekle 'düğmesini tıklayın
  6. Açılan iletişim kutusunda (IP Adresi) 'Bu IP Adresi veya Alt Ağ' seçeneğini seçin ve 'IP'nizi yapıştırın, Tamam düğmesini tıklayın.

7

Bu çözüm hem sorunları network error hem de servicearkasındaki SQL sunucusunu çözer

Burada benzer bir soruyu yanıtladı, diğer open Run type-> services.msc- hizmetler altında -> stat gerekir sort by stoppedbir grup durdurulmuş SQL hizmetleri göreceksinizRight click and start

Başlamak için - yaygın LocalDb SqlExpress Sql Server bağlantı hatalarına neden olabilecek 4 sorun vardır SQL Network Interfaces, error: 50 - Local Database Runtime error occurred, başlamadan önce v11 veya v12'yi (localdb) \ mssqllocaldb olarak yeniden adlandırmanız gerekir.


Troubleshooting Steps
  1. Sen yok hizmetlerini çalışıyor bu cmd çalıştırmak , net start MSSQLSERVERyanet start MSSQL$ instancename
  2. Sen yok güvenlik duvarı bağlantı noktalarını burada yapılandırılmış resim açıklamasını buraya girin
  3. Yüklemenizde sorun var / bozuk (aşağıdaki adımlar size temiz ve güzel bir başlangıç ​​yapmanızı sağlar)
  4. Sen etmedi mssqllocaldb / SqlServer için V11 veya 12 adlandırmak

Ben en basit aşağıdaki yapmak olduğunu buldum - ben yardım için resim ve adımlar ekledik.


Resolution Steps:

Öncelikle hangi örneği yüklediğinizi doğrulayın, bunu kayıt defterini kontrol ederek ve cmd'yi çalıştırarak yapabilirsiniz.

  1. cmd> Sqllocaldb.exe i
  2. cmd> Sqllocaldb.exe s "whicheverVersionYouWantFromListBefore" bu adım başarısız olursa, dcmd> Sqllocaldb.exe d "someDb" seçeneği ile silebilirsiniz
  3. cmd> Sqllocaldb.exe c "createSomeNewDbIfyouWantDb"
  4. cmd> Sqllocaldb.exe start "createSomeNewDbIfyouWantDb"

SqlLOCALDb_edited.png


5

Aynı sorunu yaşıyordum ve sorun, çözümde ( Webve Droid) birkaç projeyi gölgede bırakmam ve projede bağlantı dizesini kullanmasına rağmen Default projectseçilmesiydi :Package Manager ConsoleDroid

PM> update-database -Verbose
Using StartUp project 'Droid'. <-- DROID
Using NuGet project 'Web'. <-- WEB
Specify the '-Verbose' flag to view the SQL statements being applied to the target database.
<!-- BAD TARGET DATABASE -->
Target database is: 'DefaultConnection' (DataSource: .\SQLEXPRESS, Provider: System.Data.SqlClient, Origin: Convention).
System.Data.SqlClient.SqlException (0x80131904): A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SQL Network Interfaces, error: 26 - Error Locating Server/Instance Specified)
   [REMOVED TEXT]
ClientConnectionId:00000000-0000-0000-0000-000000000000
Error Number:-1,State:0,Class:20
A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SQL Network Interfaces, error: 26 - Error Locating Server/Instance Specified)

Ayarladıktan sonra Startup Projecthiç Webve Default Projectde Package Manger Consoleben işe aldım.


5

Ben koşmak zorunda SQL Server Tarayıcı içine hizmetini SQL Server Configuration Manager . Yükleme bu olmadan yeni oluşturulan hizmeti bulamaz.


1
Henüz orada değilim ama yaklaşıyorum. Bunu yaptıktan sonra Visual Studio'da da bağlantıyı kes ve yeniden bağlan, aynı hatayı almaya devam ediyorum ama şimdi en azından VS2015'in arkasından i tablo oluşturamıyorum ve veritabanlarını şimdi çalıştırmak için dikiş oluşturuyorum. (ea, üzerlerinde karanlık haç simgesi yok)
user3800527

1
komutunuzdan sonra not, bu yerel bir makinede sunucu adı ile sonuçlandı Başlat> Çalıştır> cmd> sqlcmd -L
user3800527

4

Yukarıdaki çözümlerin% 90'ında çalışması gerekir, ancak hala bu cevabı okuyorsanız !!! Muhtemelen beklenenden farklı bir sunucuya bağlanmaya çalışıyorsunuz. Bunun nedeni, bağlanmaya çalıştığınızı düşündüğünüz gerçek sunucudan farklı bir SQL sunucusuna işaret eden bir yapılandırma dosyası olabilir.

Bana en az oldu.


1
Bana da oldu. Güvenlik duvarını teşhis etmeye çalışmadan önce bunu kontrol etmeliydim. Doğru bağlantı dizesini kullandım, ancak çözümdeki yanlış projeyi çalıştırıyordum ...
VSO

4

Windows 7'deki bir çalışma dizüstü bilgisayarından Windows 10'daki bir çalışma dizüstü bilgisayarına geçtim. Windows 7'de SSMS2016'yı başarıyla kullanıyordum.

Aynı sorun SSMS2012 veya SSMS2016 kullanılarak da uygulandı. Windows kimlik doğrulamasını kullanarak 10 sql sunucularına erişimim hala aynıydı. Bunu başka bir sunucudan test edebilirim. Ancak, 10 sunucudan 2'si dizüstü bilgisayarımdan bağlanmayacaktı . Her ikisi de ms sql server 9 vardı ama diğer sql server 9 veritabanlarına bağlanabilirdim.

Çözüm bir güvenlik duvarı kuralı eklemekti (Gelişmiş Güvenlik Özellikli Windows Güvenlik Duvarı kullanarak).

Her SSMS için Gelen kuralı oluşturun, örn. C: \ Program Files (x86) \ Microsoft SQL Server \ 130 \ Tools \ Binn \ ManagementStudio \ Ssms.exe

Ben bir ağ uzmanı değilim, bu yüzden ayrıntıları dahil etmedim ama umarım doğru yönü gösterecektir.


Msg (güvenlik duvarı öncesi kuralı) "SQL Server'a bağlantı kurulurken ağla ilgili veya örneğe özgü bir hata oluştu. Sunucu bulunamadı veya erişilebilir değil. Örnek adının doğru olduğundan ve SQL Server'ın uzak bağlantılara izin ver. (sağlayıcı: SQL Ağ Arabirimleri, hata: 26 - Belirtilen Sunucu / Örnek Bulma Hatası) (.Net SqlClient Data Provider) "


4

Bu hatanın neden çok korkunç ve gürültülü olması, çünkü çeşitli durumlarda ortaya çıkabilir.

Yukarıda tüm yaklaşımları yaptım ve hala emiliyor. Bu yüzden aşağıya doğru göz atmadan önce benimle aynı şeyi yaptığınızdan emin olun.

Belki de durumunuzu anında düzeltemiyorum, ama u'ya (nihayet burada kayan) yön veya düşünceyi gösterebilirim . Örnek adının açıkça doğru olduğundan emin olduktan ve yukarıdaki yöntemleri izleyerek uzaktan denetime izin vermek için veritabanımı ayarladıktan sonra çalışan programımın hatasını düşünmeye başladım. Bundan sonra, SQL bağlantısının kod snippet'inde yanlış bir şey olduğundan şüphelendim.

Sorunumun çözümü:

  • Sqlconnection işlevimi kontrol et

  • Yapılandırmasını görmek için tıklayın

  • Yeni bir bağlantı

resim açıklamasını buraya girin

  • Sunucu adınızı seçin

resim açıklamasını buraya girin

Bağlantı sürecinde tam olarak ne olduğunu düşünmek benim için işe yarıyor.


Bu, Entity Framework kullanırken bir LocalDB bağlantı dizesi için bağlantı noktası numarasını KALDIRMAM gerektiğini bulmama yardımcı oldu.
ryanwebjackson

4

Bu sorudaki diğer tüm cevapları denedim ve bazıları muhtemelen benim için bu çalışmayı elde etmede bir rol oynamadı, ancak yine de uzaktan DB'ye bağlanamadım. Bir Azure VM'de bir SQL Server kullanıyordum.

Sonunda VM'nin Azure hesabı proxy'si tarafından denetlenen uç noktaları olduğunu hatırladım, bu yüzden Azure Portalına gittim ve 1433'ü kullanılabilir bir uç nokta olarak ekledim ve SQL örneğime bağlanabildim.

Umarım bu, diğer tüm cevapları deneyen ve hala şansı olmayan birine yardımcı olur!


4

özet

Yerel uygulama ve uzak veritabanı çalışırken karşılaşılan bu sorunu gidermek için, uzak veritabanı için bir takma ad eklemek üzere SQL Server Yapılandırma Yöneticisi'ni kullanın.

ayrıntılar

Son zamanlarda bir Windows 7'den Windows 10 dizüstü bilgisayara geçiş yaparken bu sorunla karşılaştım. Uzak bir sunucuda Dev veritabanımıza erişen yerel bir geliştirme ve çalışma zamanı ortamı çalıştırıyordum. Dev veritabanına SQL Server İstemci Ağı Yardımcı Programı (cliconfg.exe) aracılığıyla bir sunucu diğer adı kurulumu üzerinden erişiyoruz. Diğer adın yardımcı programın hem 64 hem de 32 bit sürümlerinde doğru bir şekilde kurulduğunu ve veritabanı sunucusuna SSMS aracılığıyla yeni dizüstü bilgisayardan erişilebildiğini doğruladıktan sonra, OP'nin (OP'nin IP adresi değil) elbette).

Uzak Dev veritabanı sunucusu için bir takma ad eklemek için SQL Server Yapılandırma Yöneticisi'ni kullanmak gerekiyordu. İşler düzeltildi.

resim açıklamasını buraya girin


4

MS SQL Server 2014'ün hizmet durumunu kontrol edebilirsiniz. Windows 7'de şunları yapabilirsiniz:

  1. Aramaya gidin ve "SQL Server 2014 Configuration Manager yazın"
  2. Ardından soldaki menüden "SQL Server Service" i tıklayın
  3. SQL Server hizmet durumu örneğinin durdurulmuş veya çalışıyor olup olmadığını denetleme
  4. Durduysa, lütfen durumu çalışıyor olarak değiştirin ve SQL Server Management Studio 2014'te oturum açın.

3

Ben sunucunun değiştirmeye çalıştığımda Sorunum başladı IIS Express için Yerel IIS (kullanırken LocalDB ).

resim açıklamasını buraya girin

Ben LocalDB (dev amaçlı) kullanıyordum ve ben IIS Express Yerel ııS'DEN dönmek gittiğinde, Visual Studio benim veri kaynağı anahtarlamalı etmişti Veri kaynağı = (LocalDB) \ MSSQLLocalDB için Veri kaynağı =. \ SQLExpress

Yanlış bağlantı dizesi

<add name="DefaultConnection" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\SurveyTestsDB.mdf;Initial Catalog=SurveyTestsDB;Integrated Security=True;User Instance=True" providerName="System.Data.SqlClient" />

Doğru bağlantı dizesi

<add name="DefaultConnection" connectionString="Data Source=(LocalDb)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\SurveyTestsDB.mdf;Initial Catalog=SurveyTestsDB;Integrated Security=True" providerName="System.Data.SqlClient" />

Umarım bu birisine yardım eder.


Ayrıca bağlantı dizesinde \ yerine / yerine aptalca hata yapmayın.
andrew pate

3

Teo Chuen Wei Bryan tarafından önerilen her şeyi denemenin yanı sıra, bağlantı dizesindeki doğru Sunucu / Örnek adına da başvurduğunuzdan emin olun.

Veritabanı sunucusunda veya web.config dosyasında kısa ana bilgisayar adı / Eşgörünüm biçimini kullanıyorsanız, tam etki alanı adını (FQDN) / Eşgörünüm

Ayrıca, SQL sunucu istemcisinin bulunmadığı bir sunucudan bağlantıyı sınamak için,

-> bir metin dosyası oluşturun ve dosya uzantısını .udl olarak değiştirin

-> Dosyayı sağ tıklayın ve bağlantı sekmesini görebilirsiniz.

-> Veritabanı sunucusuyla bağlantıyı test etmek için sunucu adı ve oturum açma bilgilerini girin.

Bu yardımcı olur umarım.


3

Bir üretim ortamında söylenen bu hatayla aniden karşılaşırsanız ve hiçbir şey değişmediyse, düzeltilip düzeltilmediğini görmek için aşağıdaki 4 öğeyi aşağıdaki sırayla deneyin.

  1. sql server hizmetini yeniden başlatın.
  2. sql sunucusuna çağıran hizmeti (IIS diyelim) yeniden başlatın. (SQL sunucusuna hizmet çağrısının başlaması ile yanıt hatasını alma süreniz arasındaki süre çok kısasa (yaklaşık bir veya iki saniye) sorun muhtemelen buradadır.
  3. sunucuyu yeniden başlat sql server açık.
  4. çağıran hizmetin bulunduğu sunucuyu yeniden başlatın.

3

Visual Studio'da bu hatayla karşılaştığımda,

“SQL Server'a bağlantı kurulurken ağla ilgili veya örneğe özgü bir hata oluştu. Sunucu bulunamadı veya erişilemedi. Örnek adının doğru olduğunu ve SQL Server'ın uzak bağlantılara izin verecek şekilde yapılandırıldığını doğrulayın. (sağlayıcı: Adlandırılmış Kanallar Sağlayıcısı, hata: 40 - SQL Server bağlantısı açılamadı) ”

... SQL Server verilerimi bir tablo içinde görüntülemek için elde etmeye çalışıyordu aşağıdaki C # kodunun yürütülmesi sırasında oldu. Ara tam olarak connect.Open () yazan satırda gerçekleşti:

        using (var connect = Connections.mySqlConnection)
        {
            const string query = "SELECT Name, Birthdate, Narrative FROM Friends";
            using (var command = new SqlCommand(query, connect))
            {
                connect.Open();
                using (var dr = command.ExecuteReader())
                {
                    while (dr.Read())
                    {
                        // blah
                    }
                }
            }
        }

SQL sorgusu çok basit, doğru bağlantı dizesi vardı ve veritabanı sunucusu kullanılabilir olduğu için açıklanamazdı. Gerçek SQL sorgusu kendimi SQL Management Studio'da kendim çalıştırmaya karar verdim ve iyi çalıştı ve birkaç kayıt verdi. Ancak sorgu sonuçlarında göze çarpan bir şey vardı: Arkadaşlar tablosunda bir varchar (max) türü alanında yanlış kodlanmış bazı HTML metinleri vardı (özellikle <!--"Anlatım" sütununun verilerine yerleştirilen sıralamanın bazı kodlanmış yorum sembolleri ). Şüpheli veri satırı şöyle görünüyordu:

Name    Birthdate    Narrative
====    =========    ============== 
Fred    21-Oct-79    &lt;!--HTML Comment -->Once upon a time...

&lt;"<" Karakteri olan " " kodlanmış HTML sembolüne dikkat edin . Her nasılsa bu veritabanı içine yol yaptı ve benim C # kodu onu alınamadı! Connect.Open () satırında her zaman başarısız oldu! Ben elle veritabanı tablo Arkadaşlar bir satır veri düzenlenmiş ve bunun yerine çözülmüş "<" karakteri koymak, her şey amele! İşte o satır şöyle görünüyordu:

Name    Birthdate    Narrative
====    =========    ============== 
Fred    21-Oct-79    <!--HTML Comment -->Once upon a time...

Aşağıdaki basit UPDATE deyimini kullanarak tek bir kötü satırı düzenledim. Ancak, birkaç rahatsız edici kodlanmış HTML satırınız varsa REPLACE işlevini kullanan daha ayrıntılı bir UPDATE ifadesine ihtiyacınız olabilir:

UPDATE Friends SET Narrative = '<!--HTML Comment -->Once upon a time...' WHERE Narrative LIKE '&lt%'

Öyleyse, hikayenin ahlaki (en azından benim durumumda), HTML içeriğinizi veritabanına kaydetmeden önce sterilize edin ve ilk önce bu şifreli SQL Server hatasını almayacaksınız! (Ah, HTML içeriğinizi düzgün bir şekilde dezenfekte etmek / kodunu çözmek, daha fazla bilgiye ihtiyacınız varsa ayrı bir StackOverflow aramasına değer başka bir tartışmanın konusudur!)


3

Bağlantı dizenizin sonuna bir ,ve bir bağlantı noktası numarası (olduğu gibi ,1433) eklemeyi deneyin .


3

Web.config dosyasında XML etiketi düzenlemesi önemlidir

İlk

<configSections>
    <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
    <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
</configSections>

Sonra

<connectionStrings>
  <add name="SqlConnectionString" connectionString="Data Source=.; Initial Catalog=TestDB; Trusted_Connection=True;" providerName="System.Data.SqlClient" />
</connectionStrings>

3

Benim durumumda MSSQLSERVER hizmet bir sorun vardı, bu yüzden hizmeti yeniden başlattım ve sorun çözüldü.

Bu yüzden Hizmetler uygulamasına şu yolla gitmenizi öneririm: Windows anahtarı, "Hizmetler" araması , sonra Microsoft sql sunucusu için genellikle "SQL Server (MSSQLSERVER)" olan Sql örneğinizi bulun . Servise sağ tıklayın ve Başlat'a tıklayın, devre dışı bırakılırsa Yeniden Başlat'a tıklayın.


2

Bu hata sql sunucusu örneğiniz olduğunda oluşur stopped.

Tüm Programlara Git> SQL Server> Yapılandırma araçları> SQL SERVER YAPILANDIRMA MÜDÜRÜ

daha sonra SQL SERVER SERVICES'a tıklayın, örneklerin listesi görünecek, söz konusu örneği seçin ve üst araç çubuğunda oynat simgesine tıklayın, bunun yardımcı olacağını umuyoruz.

bu cevap çok geç (ama hiç olmadığı kadar iyi;)


2

Bu sorunu, Entity Framework'ü kullanan projeyi başlangıç ​​projesi olarak ayarlayıp "update-database" komutunu çalıştırarak çözdüm.

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.