Podczas próby połączenia z programem SQL Server pojawia się następujący błąd:
Nie można połączyć się z 108.163.224.173.
Wystąpił błąd związany z siecią lub specyficzny dla wystąpienia podczas ustanawiania połączenia z programem SQL Server.
Serwer nie został znaleziony lub był niedostępny. Sprawdź, czy nazwa instancji jest poprawna i czy SQL Server jest skonfigurowany do zezwalania na połączenia zdalne.
(dostawca: Dostawca nazwanych potoków, błąd: 40 - Nie można otworzyć połączenia z programem SQL Server) (Microsoft SQL Server, błąd: 1326)
Ten błąd jest zgłaszany, gdy próbuję skonfigurować moją bazę danych do gridview w Visual Studio 2010. Brakuje mi sposobu na debugowanie tego błędu.
Jak debugujesz ten błąd? Jakie kroki powinienem podjąć, aby ustalić, co naprawdę tu się dzieje, oprócz tego, o którym mowa w komunikacie o błędzie?
Odpowiedzi:
Pomocne okazały się następujące techniki:
źródło
ENABLE SQL Server Browser
serwisie.Mam rozwiązanie dla mnie:
To będzie działać...
źródło
Dodanie mojego mocno ocenionego komentarza jako odpowiedzi do zrzutów ekranu.
Spędziłem nad tym dużo czasu, w końcu to, co zadziałało, to:
1) Otwórz Menedżera konfiguracji serwera SQL -> Konfiguracja sieciowa SQL Server -> Protokoły dla <(INSTANCJA)> -> TCP / IP (kliknij dwukrotnie).
2) Wybierz -> Adresy IP (Tab) .
3) Przejdź do ostatniego wpisu IP Wszystkie i podaj port TCP 1433 .
4) Naciśnij Win+Ri wprowadź services.msc .
5) Teraz uruchom ponownie SQL Server <(INSTANCE)> .
Następnie problem został rozwiązany!
źródło
Rozwiązuję ten problem, otwierając Usługi, a następnie uruchamiając usługę Sql Server (Sqlexpress) .
źródło
services.msc
a następnie kliknąłem prawym przyciskiem myszy SQL Server (SQL EXPRESS) dla menu kontekstowego i po prostu zatrzymałem i uruchomiłem obsługa ponownie i działa dobrze dla mnie, nadzieja pomaga.Ten błąd pojawił się głównie po zatrzymaniu usługi SQL. Musisz ponownie uruchomić usługę. Aby przejść do tego okna, musisz przeszukać usługi w następujący sposób:
Następnie wyszukaj SQLSERVER (MSSQLSERVER) i uruchom ponownie usługę.
Mam nadzieję, że to zadziała.
źródło
Naciśnij
window + R (Run window Open)
i w oknie typu uruchom"services.msc"
i nowe usługi otwórz znajdź SERWER SQL z nazwą instancji w moim przypadku,SQL SERVER(SQLEXPRESS)
to uruchom tę usługę i spróbuj ponownie, działa dla mnie Mam nadzieję, że to działa również dla Ciebie.źródło
W przypadku korzystania z wersji Express Edition :
Dodaj
"\SQLEXPRESS"
po nazwie serwerana przykład
"MY-SERVER\SQLEXPRESS"
źródło
Miałem ten sam błąd, gdy chciałem uruchomić mój projekt WinForms (obejmujący pracę z bazą danych SQL Server i działający idealnie na moim komputerze) na innym komputerze. Problem dotyczył Zapory systemu Windows na moim komputerze. Rozwiązałem to, dodając dwie zasady. Oto cała procedura, jak zezwolić SQL Serverowi za pośrednictwem Zapory systemu Windows:
services.msc
firewall.cpl
, kliknij zezwól na aplikację lub dodaj regułę, dodaj poprzednio skopiowaną ścieżkę (musisz wykonać procedurę), zaznacz Domena i Prywatny, odznacz Publiczny.To jest link do YouTube, gdzie można zobaczyć tę procedurę: Zezwól na SQL Server przez Zaporę systemu Windows
źródło
Jeśli żadne z powyższych rozwiązań nie działa (dla mnie nic nie działało), po prostu ponownie uruchom komputer i będziesz mógł połączyć się z serwerem SQL (localhost).
źródło
Po wykonaniu wszystkich czynności wymienionych tutaj:
http://blog.sqlauthority.com/2009/05/21/sql-server-fix-error-provider-named-pipes-provider-error-40-could-not-open-a- connection-to-sql-server-microsoft-sql-server-error / Nadal nie działał dla mnie.
Kroki zadziałały dla mnie:
Start > Run > cmd > sqlcmd -L
Pojawi się monit o nazwę serwera. Upewnij się, że nazwa tego serwera jest taka sama, jak ta, z którą próbujesz się połączyć w polu CONNECT TO SERVER w studiu zarządzania SQL.
Popełniłem ten głupi błąd, którego ciągle używam
MSSQLSERVER
raczej przy użyciu nazwy serwera.Mam nadzieję, że to pomaga ludziom, którzy popełniają głupie pomyłki, takie jak ja.
Dzięki.
źródło
Pierwszą rzeczą jest umożliwienie zdalnego połączenia z SQL Server. To, co zrobiłem, to wpisz polecenie sqlservermanager13.msc w menu Start, aby otworzyć Menedżera konfiguracji programu SQL Server. Upewnij się, że status TCP / IP jest włączony.
Sprawdź numer portu TCP, klikając dwukrotnie nazwę protokołu TCP / IP. Zwykle jest to domyślnie 1433.
Poniższe procedury konfigurują Zaporę systemu Windows przy użyciu Zapory systemu Windows z przystawką Advanced Security Microsoft Management Console (MMC). Zapora systemu Windows z zabezpieczeniami zaawansowanymi konfiguruje tylko bieżący profil.
Kolejna rzecz do skonfigurowania.
Spójrz na doucmentation firmy Microsoft Skonfiguruj Zaporę systemu Windows dla dostępu do aparatu bazy danych
źródło
Możesz przetestować następujące metody.
W środkowej zakładce znajdź rekord, że „port lokalny” to 1433. Jeśli nie możesz go znaleźć, spróbuj utworzyć go z następującymi poziomami
źródło
To rozwiązanie rozwiązuje zarówno błąd sieci, jak i obsługę serwera SQL
Odpowiedziałem tutaj na podobne pytanie, musisz ustalić inne
open Run type-> services.msc
- w ramach usług ->sort by stopped
zobaczysz kilka zatrzymanych usług SQLRight click and start
Na początek - występują 4 problemy, które mogą powodować typowe błędy łączności z serwerem LocalDb SqlExpress Sql
SQL Network Interfaces, error: 50 - Local Database Runtime error occurred
, zanim zaczniesz, musisz zmienić nazwę v11 lub v12 na (localdb) \ mssqllocaldbOdkryłem, że najprostsze jest wykonanie poniższych czynności - załączyłem zdjęcia i instrukcje dotyczące pomocy.
Najpierw sprawdź, którą instancję zainstalowałeś, możesz to zrobić, sprawdzając rejestr i uruchamiając cmd
cmd> Sqllocaldb.exe i
cmd> Sqllocaldb.exe s "whicheverVersionYouWantFromListBefore"
jeśli ten krok nie powiedzie się, możesz usunąć za pomocą opcjid
cmd> Sqllocaldb.exe d „someDb”cmd> Sqllocaldb.exe c "createSomeNewDbIfyouWantDb"
cmd> Sqllocaldb.exe start "createSomeNewDbIfyouWantDb"
źródło
Wystąpił ten sam problem i problem polegał na tym, że wykonałem kilka projektów w rozwiązaniu (
Web
iDroid
) i mimo żeDefault project
został wybrany wPackage Manager Console
nim, użyłem ciągu połączenia zDroid
projektu:Po ustawieniu
Startup Project
sięWeb
iDefault Project
wPackage Manger Console
Dostałem go do pracy.źródło
Muszę uruchomić usługę przeglądarki SQL Server w programie SQL Server Configuration Manager . Bez tego instalacja nie może odkryć nowo utworzonej usługi.
źródło
Chociaż powyższe rozwiązania powinny działać w 90% przypadków, ale jeśli nadal czytasz tę odpowiedź !!! Prawdopodobnie próbujesz połączyć się z innym serwerem niż zamierzony. Może to być spowodowane tym, że plik konfiguracyjny wskazuje inny serwer SQL niż serwer, z którym próbujesz się połączyć.
Zdarzyło mi się przynajmniej.
źródło
Przeniosłem się z laptopa roboczego w systemie Windows 7 do laptopa roboczego w systemie Windows 10. Z powodzeniem korzystałem z SSMS2016 w systemie Windows 7.
Ten sam problem zastosowano przy użyciu SSMS2012 lub SSMS2016. Mój dostęp do 10 serwerów SQL za pomocą uwierzytelniania systemu Windows był nadal taki sam. Mogę to przetestować z innego serwera. Jednak 2 z 10 serwerów nie łączyłyby się z moim laptopem . Oba były MS SQL Server 9, ale mogłem połączyć się z innymi bazami danych SQL Server 9.
Rozwiązaniem było dodanie reguły zapory (za pomocą Zapory systemu Windows z zaawansowanymi zabezpieczeniami).
Utwórz regułę przychodzącą dla każdego SSMS, np. C: \ Program Files (x86) \ Microsoft SQL Server \ 130 \ Tools \ Binn \ ManagementStudio \ Ssms.exe
Nie jestem ekspertem od sieci, więc nie podałem szczegółów, ale mam nadzieję, że wskaże ci właściwy kierunek.
Błąd msg (reguła sprzed zapory) „Podczas nawiązywania połączenia z programem SQL Server wystąpił błąd sieciowy lub specyficzny dla instancji. Serwer nie został znaleziony lub był niedostępny. Sprawdź, czy nazwa instancji jest poprawna i czy program SQL Server jest skonfigurowany do zezwalaj na połączenia zdalne. (dostawca: Interfejsy sieciowe SQL, błąd: 26 - Błąd podczas lokalizowania serwera / wystąpienia) (dostawca danych .Net SqlClient Data) ”
źródło
Dlaczego ten błąd jest tak nudny i hałaśliwy, tylko dlatego, że może wystąpić w różnych sytuacjach.
Zrobiłem tutaj wszystkie approchs i wciąż jestem do bani. Upewnij się więc, że zrobiłeś to samo co ja przed przeglądaniem w dół.
Może nie jestem w stanie natychmiast naprawić twojej sytuacji, ale mogę wskazać kierunek lub myśleć o Tobie (Ten, który w końcu ześlizguje się tutaj). Zacząłem zastanawiać się nad błędem mojego programu występującego po tym, jak upewniłem się, że nazwa instancji jest wyraźnie poprawna i ustawiłem moją bazę danych, aby zezwoliła na zdalne sterowanie zgodnie z powyższymi metodami. Po tym podejrzewałem , że coś złego dzieje się w moim fragmencie kodu połączenia SQL.
Rozwiązanie mojego problemu:
Pomaga mi zastanowienie się, co dokładnie dzieje się w procesie połączenia. Mam nadzieję, że moje myślenie doprowadzi cię do zabicia twojego błędu.
źródło
Wypróbowałem wszystkie pozostałe odpowiedzi na to pytanie i niektóre, jeśli nie wszystkie, prawdopodobnie przyczyniły się do tego, że zadziałało to dla mnie, ale nadal nie mogłem połączyć się zdalnie z DB. Korzystałem z programu SQL Server na maszynie Wirtualnej platformy Azure.
W końcu przypomniałem sobie, że maszyna wirtualna ma punkty końcowe, które są kontrolowane przez serwer proxy konta Azure, więc przeszedłem do portalu Azure i dodałem 1433 jako dostępny punkt końcowy i mogłem połączyć się z moją instancją SQL.
Mam nadzieję, że to pomoże komuś, kto wypróbował wszystkie pozostałe odpowiedzi i nadal nie ma szczęścia!
źródło
Podsumowanie
Aby rozwiązać ten problem napotkany podczas uruchamiania aplikacji lokalnej w porównaniu ze zdalną bazą danych , użyj programu SQL Server Configuration Manager, aby dodać alias do zdalnej bazy danych.
Detale
Ostatnio napotkałem ten problem podczas przejścia z systemu Windows 7 na laptopa z systemem Windows 10. Uruchomiłem lokalne środowisko programistyczne i wykonawcze uzyskujące dostęp do naszej bazy danych Dev na zdalnym serwerze. Dostęp do bazy danych Dev uzyskujemy poprzez ustawienie aliasu serwera za pomocą SQL Server Client Network Utility (cliconfg.exe). Po potwierdzeniu, że alias został poprawnie skonfigurowany zarówno w 64-bitowej, jak i 32-bitowej wersji narzędzia oraz że serwer bazy danych był dostępny z nowego laptopa za pośrednictwem SSMS, nadal dostrzegłem błąd OP (nie adres IP PO, z kierunek).
Konieczne było użycie SQL Server Configuration Manager, aby dodać alias dla zdalnego serwera bazy danych Dev. Naprawiono błędy od razu.
źródło
Możesz sprawdzić status usługi MS SQL Server 2014. W Windows 7 możesz to zrobić przez:
źródło
Mój problem zaczął się, gdy próbowałem zmienić serwer z IIS Express na lokalny IIS (podczas używania LocalDB ).
Korzystałem z LocalDB (do celów deweloperskich), a kiedy przeszedłem do powrotu z lokalnego IIS do IIS Express, Visual Studio zmieniło moje źródło danych z Data Source = (LocalDb) \ MSSQLLocalDB na Data Source =. \ SQLEXPRESS
Niepoprawny ciąg połączenia
<add name="DefaultConnection" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\SurveyTestsDB.mdf;Initial Catalog=SurveyTestsDB;Integrated Security=True;User Instance=True" providerName="System.Data.SqlClient" />
Prawidłowy ciąg połączenia
<add name="DefaultConnection" connectionString="Data Source=(LocalDb)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\SurveyTestsDB.mdf;Initial Catalog=SurveyTestsDB;Integrated Security=True" providerName="System.Data.SqlClient" />
Mam nadzieję, że to pomoże komuś tam.
źródło
Oprócz wypróbowania wszystkiego, co sugeruje Teo Chuen Wei Bryan, upewnij się, że odwołujesz się również do poprawnej nazwy serwera / instancji w ciągu połączenia.
Jeśli używasz krótkiej formy nazwy hosta / wystąpienia na serwerze bazy danych lub w pliku web.config, upewnij się, że używasz w pełni kwalifikowanej nazwy domeny (FQDN) / wystąpienia
Ponadto, aby przetestować łączność z serwera, na którym klient SQL Server NIE jest obecny,
-> utwórz plik tekstowy i zmień jego rozszerzenie na .udl
-> Kliknij plik prawym przyciskiem myszy i zobaczysz kartę połączenia.
-> Wprowadź nazwę serwera i zaloguj się, aby przetestować połączenie z serwerem bazy danych.
Mam nadzieję że to pomoże.
źródło
Jeśli nagle napotkasz ten błąd, powiedz w środowisku produkcyjnym i nic się nie zmieniło, wypróbuj następujące 4 elementy w poniższej kolejności, aby sprawdzić, czy problem zostanie naprawiony.
źródło
Kiedy wystąpił ten błąd w programie Visual Studio,
... to było podczas wykonywania następującego kodu C #, który próbował uzyskać moje dane programu SQL Server, aby wyświetlić je w siatce. Przerwanie nastąpiło dokładnie w wierszu z komunikatem connect.Open ():
Było to niewytłumaczalne, ponieważ zapytanie SQL było bardzo proste, miałem odpowiedni ciąg połączenia, a serwer bazy danych był dostępny. Postanowiłem ręcznie uruchomić rzeczywiste zapytanie SQL w SQL Management Studio, które zadziałało dobrze i przyniosło kilka rekordów. Ale jedna rzecz wyróżniała się w wynikach zapytania: w polu typu varchar (max) w tabeli Znajomi znajdował się niepoprawnie zakodowany tekst HTML (konkretnie niektóre zakodowane symbole komentarza tego rodzaju
<!--
umieszczone w danych kolumny „Narracja”). Podejrzany wiersz danych wyglądał następująco:Zwróć uwagę na zakodowany symbol HTML „
<
”, który oznaczał znak „<”. Jakoś to dostało się do bazy danych i mój kod C # nie mógł go odebrać! Nie powiodło się za każdym razem bezpośrednio na linii connect.Open ()! Po tym, jak ręcznie zredagowałem ten wiersz danych w tabeli bazy danych Znajomi i wstawiłem zamiast tego zdekodowany znak „<”, wszystko działało! Oto jak powinien wyglądać ten wiersz:Zedytowałem jeden zły wiersz, który miałem, używając poniższej prostej instrukcji UPDATE. Ale jeśli masz kilka obrażających wierszy zakodowanego HTML, możesz potrzebować bardziej rozbudowanej instrukcji UPDATE, która korzysta z funkcji REPLACE:
Morał tej historii jest (przynajmniej w moim przypadku), odkaż zawartość HTML przed zapisaniem jej w bazie danych, a nie dostaniesz tego tajemniczego błędu SQL Servera! (Uh, prawidłowe odkażanie / dekodowanie zawartości HTML jest przedmiotem innej dyskusji, wartej osobnego wyszukiwania StackOverflow, jeśli potrzebujesz więcej informacji!)
źródło
Spróbuj dodać a
,
i numer portu (jak w,1433
) na końcu ciągu połączenia.źródło
Ważne jest rozmieszczenie znaczników XML w pliku Web.config
Pierwszy
Po
źródło
W mojej sytuacji wystąpił problem z usługą MSSQLSERVER, więc uruchomiłem ją ponownie i problem został rozwiązany.
Polecam więc przejść do aplikacji Usługi: Klawisz Windows, wyszukaj „Usługi” , a następnie znajdź instancję Sql zwykle „SQL Server (MSSQLSERVER)” na serwerze Microsoft SQL. Kliknij prawym przyciskiem myszy usługę i kliknij Start, jeśli wyłączony, kliknij Uruchom ponownie.
źródło
Ten błąd występuje, gdy instancja serwera SQL jest
stopped
.PRZEJDŹ do wszystkich programów> SQL Server> Narzędzia konfiguracyjne> KIEROWNIK KONFIGURACJI SERWERA SQL
następnie kliknij USŁUGI SERWERA SQL, pojawi się lista instancji, wybierz odpowiednią instancję i kliknij ikonę odtwarzania na górnym pasku narzędzi, mam nadzieję, że to pomoże.
ta odpowiedź jest bardzo późna (ale lepiej późno niż nigdy;)
źródło
Rozwiązałem ten problem, ustawiając projekt wykorzystujący Entity Framework jako projekt startowy, a następnie uruchamiając polecenie „update-database”.
źródło