Mam ten błąd:
A connection was successfully established with the server, but then an error occurred
during the login process. (provider: Shared Memory Provider, error: 0 - No process is
on the other end of the pipe.)
(Microsoft SQL Server, Error: 233)
Wiem, że w tej witrynie są podobne pytania, a odpowiedź brzmi, aby włączyć TCP / IP i potoki. Ale włączyłem oba i nadal nie działa:
Używam programu Microsoft SQL Server 2012 i użytkownik ma pełne uprawnienia.
sql-server
sql-server-2012
Iter Ator
źródło
źródło
Odpowiedzi:
Serwer był domyślnie ustawiony na uwierzytelnianie systemu Windows. Nie ma żadnego powiadomienia, że przyczyną błędów jest to, więc trudno to rozgryźć. Studio zarządzania SQL nie ostrzega, nawet jeśli utworzysz użytkownika tylko z uwierzytelnianiem SQL.
Odpowiedź brzmi więc: Przełącz się z uwierzytelniania systemu Windows na uwierzytelnianie SQL :
properties
;security
kartę;SQL Server and Windows Authentication mode
;Możesz teraz połączyć się za pomocą swojego loginu / hasła.
źródło
Windows Authentication
>> Kliknij prawym przyciskiem myszy serwer >>Properties
>>Security
(PodSelect a page
) >> PodServer Authentication
wybierzSQL Server and Windows Authentication mode
. Zamknij program SQL Server Management Studio, uruchom ponownie usługę SQL Server i spróbuj zalogować się ponownie.Server Authentication
był ustawiony naWindows Authentication mode
. I niezależnie od poprawnego wprowadzenia hasła, zawsze byłem witanyA connection was successfully established with the server, but then an error occurred during the login process. (provider: Shared Memory Provider, error: 0 - No process is on the other end of the pipe.)
. Przez cały błąd udało mi się zalogować za pomocąWindows Authentication
Aby rozwiązać ten problem, połącz się z SQL Management Studio przy użyciu uwierzytelniania systemu Windows, a następnie kliknij prawym przyciskiem myszy węzeł serwera Właściwości-> Zabezpieczenia i włącz tryb uwierzytelniania SQL Server i Windows. Jeśli używasz „sa”, upewnij się, że konto jest włączone. Aby to zrobić, otwórz „sa” w sekcji Logins i wyświetl Status.
Jeśli to nie zadziałało, może być konieczna ponowna instalacja programu SQL Server
źródło
Możesz także spróbować przejść do usług i ponownie uruchomić instancję serwera Sql
źródło
Niedawno miałem to również ze względu na zintegrowane bezpieczeństwo. Okazuje się, że mój problem był właściwie dość prosty do naprawienia, ale głównie dlatego, że zapomniałem dodać „Trusted_Connection = True” do moich parametrów połączenia.
Wiem, że może się to wydawać dość oczywiste, ale musiałem pracować przez około 20 minut, zanim zdałem sobie sprawę, że skopiowałem format parametrów połączenia z connectionstrings.com i brakowało tej części parametrów połączenia.
Proste i czuję się trochę głupio, ale to była odpowiedź dla mnie.
źródło
Innym powodem tego błędu może być niepoprawna lub nieistniejąca nazwa bazy danych.
Wymuszenie połączenia TCP / IP (poprzez podanie
127.0.0.1
zamiastlocalhost
lub.
) może ujawnić prawdziwą przyczynę błędu. W moim przypadku nazwa bazy danych określona w parametrach połączenia była niepoprawna.Oto lista kontrolna:
źródło
Sprawdź to również Sprawdź w konfiguracji TCP / IP, nazwy PipeLine i pamięć współdzielona włączone
źródło
Jeśli próbujesz zalogować się przy użyciu poświadczeń SQL, możesz również spróbować zmienić LoginMode dla SQL Server w rejestrze, aby zezwolić zarówno na uwierzytelnianie SQL Server, jak i Windows.
źródło
Z tym problemem mam do czynienia po raz drugi i wszystkie poprzednie odpowiedzi zawiodły, na szczęście następująca prośba załatwia sprawę:
Alter login [user] with CHECK_POLICY = OFF go Alter login [user] with CHECK_POLICY = ON go
źródło
Dla mnie hasło wygasło dla mojego użytkownika logowania i dostałem ten sam wyjątek. Następnie loguję się w trybie uwierzytelniania systemu Windows i zmieniam hasło dla skojarzonego użytkownika, co rozwiązało mój problem.
źródło
W przypadku tego błędu przyczyna była prosta, ale nieoczywista: nieprawidłowe hasło. Nie jestem pewien, dlaczego nie otrzymałem tylko komunikatu „Błąd logowania” ze świeżo zainstalowanego serwera SQL 2016.
źródło
Tak, ten błąd może równie dobrze brzmieć „coś się nie udało, powodzenia w zastanawianiu się co” - w moim przypadku była to zła nazwa użytkownika. SQL Server 2019 RC1.
źródło
Mam ten sam problem „Połączenie z serwerem zostało pomyślnie nawiązane, ale następnie wystąpił błąd podczas procesu logowania. (Dostawca: Dostawca pamięci współużytkowanej, błąd: 0 - Żaden proces nie znajduje się na drugim końcu potoku)”.
Moje połączenie to:
serwer = POS06 \ SQLEXPRESS; AttachDbFilename = C: ... \ Datas.mdf; Initial Catalog = Datas; ID użytkownika = sa; Pwd = 12345; Limit czasu połączenia = 10;
Ale My SQL to POS06 \ MSQL2014
Zmień parametry połączenia na
serwer = POS06 \ MSQL2014; AttachDbFilename = C: ... \ Datas.mdf; Initial Catalog = Datas; ID użytkownika = sa; Pwd = 12345; Limit czasu połączenia = 10;
zadziałało.
źródło
upewnij się, że podałeś użytkownika w Security-> Logins, jeśli nie - dodaj go i spróbuj ponownie.
źródło
Postępuj zgodnie z drugą odpowiedzią, a jeśli nadal nie działa, uruchom ponownie komputer, aby skutecznie ponownie uruchomić usługę SQL Server w systemie Windows.
źródło
services.msc
Zawsze staraj się logować przy użyciu tych poświadczeń w SQL Management Studio. Może to ujawnić więcej szczegółów, których nie otrzymujesz w swoim kodzie w czasie wykonywania. Sprawdziłem uwierzytelnianie SQL + Windows, zrestartowałem serwer, ale nadal bez powodzenia. Po próbie zalogowania się przy użyciu usługi SQL Management otrzymałem następujący monit:
W jakiś sposób hasło wygasło, chociaż login został utworzony zaledwie kilka minut wcześniej. W każdym razie, nowe hasło ustawione, parametry połączenia zaktualizowane i wszystko w porządku.
źródło