파이프의 다른 쪽 끝에 프로세스가 없습니다 (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.