파이프의 다른 쪽 끝에 프로세스가 없습니다 (SQL Server 2012) .No process is on the other end of the pipe (SQL Server 2012)


96

이 오류가 있습니다.

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)

이 사이트에는 비슷한 질문이 있으며 대답은 TCP / IP 및 파이프를 활성화하는 것입니다. 하지만 두 가지를 모두 활성화했지만 여전히 작동하지 않습니다.

MSSQL 오류

Microsoft SQL Server 2012를 사용하고 있으며 사용자에게 전체 권한이 있습니다.



이것은 서버 인증에서 Windows 인증으로 다시 연결할 때 저에게 효과적이었습니다.
— 간지 raajkumar

1
나를 위해 일한 것 (sql express 2016) ... Windows 인증 만 남기고 혼합 인증 제거, 서비스 다시 시작, 혼합 인증으로 다시 전환, 서비스 다시 시작. 내가이 작업을 수행 할 때까지 프로세스 없음 오류가 수정되었습니다
— Rostol

1
그 가치는 구성 파일의 연결 문자열을 확인하십시오. 나를 위해 누군가 서버 이름 중 하나를 수정하여 체크인했습니다. 내 코드는 내 서버에 존재하지 않는 데이터베이스를 공격하려고했습니다.
— camainc

나에게도 작동하지 않습니다.
— Sam

답변:


125

서버는 기본적으로 Windows 인증으로 만 설정되었습니다. 알림이없고 오류의 원인이 바로 그 것이므로 알아 내기가 어렵습니다. SQL Management Studio는 SQL 인증만으로 사용자를 생성하더라도 경고하지 않습니다.

따라서 대답은 Windows에서 SQL 인증으로 전환 하는 것입니다 .

  1. 서버 이름을 마우스 오른쪽 버튼으로 클릭하고 properties;
  2. security탭 선택 ;
  3. 활성화 SQL Server and Windows Authentication mode;
  4. SQL Server 서비스를 다시 시작하십시오.

이제 로그인 / 비밀번호로 연결할 수 있습니다.


5
옵션이 올바르게 체크되었으므로 'Windows 인증'을 확인하고 서비스를 다시 시작한 다음 'Windows 인증 + SQL 인증'을 확인하여 문제를 해결했습니다. 너무 행복한!
— Groco

2
@Groco의 의견을 명확히하려면 Windows Authentication>> 서버를 마우스 오른쪽 버튼으로 클릭 >> Properties>> Security(아래 Select a page) >> 아래에서 Server Authentication선택하십시오 SQL Server and Windows Authentication mode. SQL Server Management Studio를 닫고 SQL Server 서비스를 다시 시작한 다음 다시 로그인 해보십시오.
— 민 트란

1
내가 가진 문제 Server Authentication는로 설정되었습니다 Windows Authentication mode. 그리고 정확한 암호 입력에 관계없이 항상 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.). 오류 내내, 나는 사용하여 로그인 할 수 있었다Windows Authentication
— 호치민 트란

정말 고맙습니다. reatart Sql 서비스가 내 문제를 해결했습니다.
— user1282609

58

이 문제를 해결하려면 Windows 인증을 사용하여 SQL Management Studio에 연결 한 다음 서버 노드 속성-> 보안을 마우스 오른쪽 버튼으로 클릭하고 SQL Server 및 Windows 인증 모드를 활성화합니다. 'sa'를 사용하는 경우 계정이 활성화되어 있는지 확인하십시오. 이렇게하려면 로그인에서 'sa'를 열고 상태를 봅니다.

관리자 활성화

그래도 작동하지 않으면 SQL Server를 다시 설치해야 할 수 있습니다.


이 작업을 수행 한 후 SQL Server를 다시 시작합니다. 그런 다음 로그인을 시도하십시오.
— Webucator

27

또한 서비스로 이동하여 SQL 서버 인스턴스를 다시 시작할 수 있습니다.여기에 이미지 설명 입력


3
이것은 다른 모든 수정을 시도한 후 내 문제를 해결했습니다.
— mini998

어, 연결할 수 없다는 이유로 SQL 서버 서비스를 다시 시작하면 성공적으로 연결된 다른 항목이 손상된다는 큰 경고 레이블이 표시되지 않아야합니까?
— undrline

이것은 나를 위해 잘 작동했습니다. 이 솔루션을 고려하면 사람들이 방치하는 것이 얼마나 쉬운 지 알 수 있습니다.
— TechnicalTim

19

그래서 최근에 통합 보안을 위해이 문제를 해결하는 것이 상당히 간단했지만 주로 연결 문자열 에 "Trusted_Connection = True" 를 추가하는 것을 잊었 기 때문에 문제가 해결되었습니다 .

꽤 분명해 보일지 모르지만 connectionstrings.com에서 연결 문자열 형식을 복사했고 연결 문자열의 해당 부분이 누락 되었다는 것을 깨달을 때까지 20 분 정도 가야했습니다 .

단순하고 약간 멍청한 느낌이 들지만 그게 제 답이었습니다.


모든 댓글을 시도했지만 작동하지 않았습니다. 귀하의 솔루션은 저에게 완벽하게 작동했습니다. 대단히 감사합니다.
— Royal.O 2019

이것은 tcp를 확인하는 다른 모든 작업을 활성화하고 혼합 모드 인증을 추가하고 SQL 브라우저 서비스를 다시 시작한 후에 시도한 마지막 작업이었습니다. 감사
— 미케 블랙

10

이 오류의 또 다른 이유는 올바르지 않거나 존재하지 않는 데이터베이스 이름 일 수 있습니다.

또는 127.0.0.1대신 제공하여 TCP / IP 연결을 강제하면 오류의 실제 원인을 알 수 있습니다. 제 경우에는 연결 문자열에 지정된 데이터베이스 이름이 잘못되었습니다.localhost.

따라서 다음은 체크리스트입니다.

  • 구성 관리자에서 Named Pipe 가 활성화되어 있는지 확인하십시오 (서버를 다시 시작하는 것을 잊지 마십시오).
  • 연결하려는 데이터베이스가 있는지 확인하십시오.
  • SQL Server 인증 (또는 혼합 모드)이 활성화되어 있는지 확인 합니다.

Express 2016에서 구성 관리자는 어떻게 되었습니까? 나는 그것을 사용할 수 없다고 생각합니까? 아 지금 SQLServerManager13.msc를 실행해야
— 키얼 스틴 탐욕

127.0.0.1로 변경했을 때 오류 메시지 Message = A 네트워크 관련 또는 인스턴스 관련 오류가 SQL Server에 연결하는 동안 발생했습니다. 서버를 찾을 수 없거나 액세스 할 수 없습니다. 인스턴스 이름이 올 바르고 SQL Server가 원격 연결을 허용하도록 구성되어 있는지 확인하십시오. (공급자 : SQL 네트워크 인터페이스, 오류 : 26-지정된 서버 / 인스턴스 찾기 오류) 소스 = Core .Net SqlClient 데이터 공급자
— Kirsten Greed

1
@kirsteng 설치된 SQL Server 인스턴스를 확인합니다. 기본 인스턴스 (MSSQLSERVER)를 설치 했습니까?
— Mohammad Dehghan

혼합 모드의 SQL Server 인증이 나를 위해 해주었습니다. SQL Server Express를 새로 설치하는 경우 프로그래밍 요구 사항에 맞게 사용자를 추가하려면 혼합 모드로 변경해야합니다. 그렇지 않으면 Windows 인증 만 가능합니다.
— Eduardo

이것은 (일종의) 효과가있었습니다. localdb 넌센스를 127.0.0.1로 변경하면 통과했습니다.
— Eric


7

SQL 자격 증명으로 로그인하려는 경우 레지스트리에서 SQL Server에 대한 LoginMode를 변경하여 SQL Server 및 Windows 인증을 모두 허용 할 수도 있습니다.

  1. regedit 열기
  2. SQL 인스턴스 키 (인스턴스 이름에 따라 다를 수 있음)로 이동합니다. Computer \ HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Microsoft SQL Server \ MSSQL14.SQLEXPRESS \ MSSQLServer \
  3. LoginMode를 2로 설정

여기에 이미지 설명 입력

  1. SQL 서비스와 SQL Server Management Studio를 다시 시작하고 다시 시도하십시오.

이것이 가장 적절한 대답입니다.
— sushh

5

나는이 문제에 두 번째로 직면하고 이전의 모든 답변이 실패했습니다. 다행히 다음 요청이 작업을 수행합니다.

Alter login [user] with CHECK_POLICY = OFF
go

Alter login [user] with CHECK_POLICY = ON
go

4

나에게는 로그인 사용자의 암호가 만료되었으며 동일한 예외가 발생했습니다. 그런 다음 Windows 인증 모드로 로그인하고 관련 사용자의 암호를 변경하면 문제가 해결되었습니다.


당신은 나의 하루를 저장합니다 !!
— 학습자

3

이 오류도 원인은 간단하지만 명확하지는 않습니다. 잘못된 암호입니다. 새로 설치된 SQL 2016 서버에서 "로그인 실패"가 표시되지 않는 이유를 잘 모르겠습니다.


3

예,이 오류는 "뭔가 실패했습니다. 행운을 빕니다."일 수도 있습니다. 제 경우에는 잘못된 사용자 이름이었습니다. SQL 서버 2019 RC1.


2

"서버와의 연결이 성공적으로 설정되었지만 로그인 프로세스 중에 오류가 발생했습니다. (제공자 : 공유 메모리 공급자, 오류 : 0-파이프의 다른 끝에 프로세스가 없습니다.)"

내 연결은 :

서버 = POS06 \ SQLEXPRESS; AttachDbFilename = C : ... \ Datas.mdf; 초기 카탈로그 = 데이터; 사용자 ID = sa; Pwd = 12345; 연결 시간 초과 = 10;

하지만 내 SQL은 POS06 \ MSQL2014입니다.

연결 문자열을 다음으로 변경하십시오.

서버 = POS06 \ MSQL2014; AttachDbFilename = C : ... \ Datas.mdf; 초기 카탈로그 = 데이터; 사용자 ID = sa; Pwd = 12345; 연결 시간 초과 = 10;

작동했습니다.


0

보안-> 로그인에서 사용자를 지정했는지 확인하십시오. 그렇지 않은 경우 추가하고 다시 시도하십시오.


0

다른 답변을 따르고 여전히 작동하지 않으면 컴퓨터를 다시 시작하여 Windows에서 SQL Server 서비스를 효과적으로 다시 시작하십시오.


일반적으로 특정 데이터베이스에 대한 SQL 서비스를 다시 시작할 수 있습니다services.msc
— Zimano

0

항상 SQL Management Studio에서 해당 자격 증명을 사용하여 로그인을 시도하십시오. 그러면 코드에서 런타임시 얻을 수없는 세부 정보가 더 많이 표시 될 수 있습니다. SQL + Windows 인증을 확인하고 서버를 다시 시작했지만 여전히 운이 없습니다. SQL 관리를 사용하여 로그인을 시도한 후 다음과 같은 메시지가 표시됩니다.

스크린 샷

몇 분 전에 로그인이 생성되었지만 어떻게 든 암호가 만료되었습니다. 어쨌든 새 암호 설정, 연결 문자열 업데이트 및 모두 괜찮습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.