2014-12-03 5 views
24

mam ten błąd:Żaden proces nie jest na drugim końcu rury (SQL Server 2012)

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, istnieją podobne pytania na tej stronie, a odpowiedź jest, aby włącz TCP/IP i potoki. Ale włączone oba, i nadal nie działa:

MSSQL error

Używam Microsoft SQL Server 2012, a użytkownik ma pełne uprawnienia.

+0

spróbować PINAL rozwiązań dave 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/ – GeoVIP

+0

To działało dla mnie po ponownym połączeniu z uwierzytelniania serwera do uwierzytelniania systemu Windows. –

+1

Co zadziałało dla mnie (sql express 2016) ... Usunięcie mieszanego uwierzytelniania pozostawiającego tylko autoryzację Windowsa, restartowanie usługi, przełączenie z powrotem na mieszany auth, restartowanie usługi. dopóki to zrobiłem, nic nie naprawiłem błędu No process – Rostol

Odpowiedz

10

Serwer został domyślnie ustawiony na Uwierzytelnianie systemu Windows. Nie ma żadnego powiadomienia, że ​​źródłem błędów jest to, więc ciężko to rozgryźć. Studio zarządzania SQL nie ostrzega, nawet jeśli utworzysz użytkownika tylko z uwierzytelnianiem SQL.

Więc odpowiedź brzmi: Przełącznik z Windows SQL Authentication

+1

Opcja została poprawnie sprawdzona, więc sprawdziłem "Windows Authentication", restartuję usługę, a następnie sprawdzam "Windows Authentication + SQL Authentication", aby naprawić ten problem. Tak szczęśliwy! – Groco

3

zmuszając także połączenia TCP/IP (poprzez zapewnienie 127.0.0.1 zamiast localhost lub .) może ujawnić prawdziwą przyczynę błędu. W moim przypadku nazwa bazy danych podana w łańcuchu połączenia była niepoprawna.

Tak, tutaj jest lista kontrolna:

  • Upewnij nazwany potok został aktywowany w menedżera konfiguracji (nie zapomnij, aby ponownie uruchomić serwer).
  • Upewnij się, że baza danych, z którą się łączysz, istnieje.
  • Upewnij się, że Uwierzytelnienie serwera SQL (lub tryb mieszany) jest włączone.
+0

co stało się z menedżerem konfiguracji w Express 2016? Nie widzę tego dostępne? Och, muszę uruchomić SQLServerManager13.msc teraz –

+0

Po zmianie na 127.0.0.1 otrzymałem komunikat o błędzie Message = Wystąpił błąd związany z siecią lub wystąpił błąd związany z instancją podczas nawiązywania połączenia z serwerem SQL. Serwer nie został znaleziony lub nie był dostępny. Sprawdź, czy nazwa instancji jest poprawna i czy program SQL Server jest skonfigurowany do zezwalania na połączenia zdalne. (Dostawca: interfejsy sieciowe SQL, błąd: 26 - Błąd Lokalizowanie serwera/instance określono) Source = Rdzeń .Net SqlClient Data Provider –

+1

@kirsteng Sprawdź zainstalowanych instancji SQL Server. Czy zainstalowałeś domyślną instancję (MSSQLSERVER)? –

30

Aby rozwiązać ten problem, połącz się z programem SQL Management Studio przy użyciu uwierzytelniania systemu Windows - jeśli to nie zadziałało, konieczne może być ponowne zainstalowanie programu SQL Server - następnie kliknij prawym przyciskiem myszy węzeł serwera Właściwości-> Zabezpieczenia i włącz SQL Server i Tryb uwierzytelniania systemu Windows. Jeśli używasz "sa", upewnij się, że konto jest włączone. Aby to zrobić, otwórz "sa" w obszarze Logowania i wyświetl stan.

enable sa admin

5

Proszę sprawdzić również enter image description here Należy również sprawdzić w konfiguracji TCP/IP, nazw rurociągu i pamięć współdzielona włączona

6

Ponadto można spróbować iść do usług i ponownie uruchom instancję serwera SQL enter image description here

+0

Próbowałem i mój problem został rozwiązany – aminvincent

+0

Rozwiązało to mój problem po wypróbowaniu wszystkich innych poprawek. – mini998

1

Mam ten sam proplem "Połączenie zostało pomyślnie nawiązane z serwerem, ale w trakcie procesu logowania wystąpił błąd (dostawca: Dostawca pamięci współdzielonej, błąd: 0 - Brak procesu 012 .na drugim końcu rury)”

My połączenia:

serwer = POS06 \ SQLEXPRESS; AttachDbFilename = C: ... \ Datas.mdf; Initial Catalog = Datas; ID użytkownika = sa; Pwd = 12345; Connect Timeout = 10;

ale mój SQL jest POS06 \ MSQL2014

Zmień ciąg połączenia do

serwerze = POS06 \ MSQL2014; AttachDbFilename = C: ... \ Datas.mdf; Initial Catalog = Datas; ID użytkownika = sa; Pwd = 12345; Connect Timeout = 10;

to działało.

1

mogę zmierzyć się z tym problem, po raz drugi, a wszystkie poprzednie odpowiedzi nie powiodło się, na szczęście następujący wniosek wykonać zadanie:

Alter login [user] with CHECK_POLICY = OFF 
go 

Alter login [user] with CHECK_POLICY = ON 
go