0

클라이언트 컴퓨터에서 호스팅되는 ASP.NET 2.0 응용 프로그램을 Windows Server 2003을 실행하는 도메인 컨트롤러에 설치된 SQL Server 2000 인스턴스에 연결하려고합니다. 이것이 최선의 관행이 아니라, 내가 바꿀 수없는 것임을 인정한다.) Windows 인증이 아닌 SQL Server 인증을 사용하고 있습니다.Windows 서버 2003 도메인 컨트롤러에서 SQL Server 2000에 연결

은 디버깅하는 동안 다음 오류가 '연결'(되지는 SQL Server 내 모든 개체를 실행에 대한) 웹 응용 프로그램 내에서 시도되는 지점에 표시됩니다

에 연결하는 동안

"오류가 발생했습니다 SQL Server 2005에 연결할 때이 오류는 기본 설정에서 SQL Server가 원격 연결을 허용하지 않는다는 사실 때문에 발생할 수 있습니다 (공급자 : 명명 된 파이프 공급자, 오류 : 40 - SQL Server에 대한 연결을 열지 못했습니다.) "

나는 여러 가지 조사를 해본 결과 다양한 것을 확인했다 :

1) 연결 문자열이 정확한지 확신합니다. 사실 동일한 연결 정보와 연결을 사용하는 작은 Windows 응용 프로그램을 만들었습니다 ...

2) 이것은 웹 응용 프로그램 - Windows 응용 프로그램 원격 클라이언트 컴퓨터에서 실행되는 것은 동일한 연결 문자열을 사용하여 잘 연결됩니다 (1 참조).

3) 두 컴퓨터의 방화벽 설정이 연결을 방해하지 않습니다 (1 참조).

4) 나는 윈도우 2003 서버를 Ping 할 수 있습니다 (SQL 서버 자격 증명을 확실히 내가 (일시적으로) 웹 응용 프로그램을 넣으면 객체에 대한 권리가

6) 필요가) 1)

5 참조 Windows 서버 2003에서 실행하고, 별도의 컴퓨터에서 브라우저를 사용하거나 연결하려고 시도하는 클라이언트 컴퓨터에서로드하여 제대로 실행합니다. 이는 원격 연결에만 문제가 있음을 나타내며 연결을 확인하는 것입니다 SQL Server 사용자의 필요한 보안 권한을 확인합니다.

7) 클라이언트 컴퓨터에서 쿼리 분석기를 시작할 수 있으며 동일한 SQL Server 자격 증명을 사용하여 대상 데이터베이스에서 동일한 쿼리를 실행할 수 있습니다.

Stumped. 도와주세요!

+0

SQL의 원격 연결이 활성화되어 있습니까? Enterprise Manager로 이동 한 다음 왼쪽 창에서 해당 서버 인스턴스가 나타날 때까지 확장하십시오. 마우스 오른쪽 단추를 클릭 한 다음 속성 -> 보안 -> SqlServer로 이동하여 Windows를 선택해야합니다. – RogueSpear00

+0

예 -이 옵션이 활성화되었으며 연결에서 원격 연결이 설정되었습니다. 이를 확인하는 동안 SQL Server가 Active Directory에 포함되어 있지 않은 것으로 나타났습니다. 나는 이것이 문제가 될 수 있는지를 아는 사람이 있는지 궁금합니다. 또한 클라이언트 컴퓨터는 도메인에 로그인하지 않았지만 동일한 클라이언트 컴퓨터의 Windows 응용 프로그램에서 달성 한 다른 연결을 고려할 때 문제가 될 것이라고는 생각하지 않았습니다. – Marco

+0

원격 시스템이 서버와 동일한 서브넷에 있습니까? 핑 (ping) 할 수 있다고 말했는데 핑 (ping)이 반드시 트래픽을 명확히하지는 않습니다. – RogueSpear00

답변

0

SQL Server 구성 관리자로 이동하여 명명 된 파이프 옵션이 설정되어 있는지 확인해야합니다. SQL Server를 설치할 때 기본적으로 설정되지 않습니다.

+0

안녕하세요 - 빠른 응답을 주셔서 감사합니다. SQL Server 서버 네트워크 유틸리티와 클라이언트 네트워크 유틸리티를 실행했으며 둘 다 명명 된 파이프를 활성화했습니다. 다른 곳에서 볼 필요가 있습니까? – Marco

0

원래의 질문에 대한 연구로 인해 Windows 응용 프로그램과 같은 컴퓨터에서 연결할 수있는 ASP.NET 응용 프로그램과 웹 응용 프로그램의 확인 기능이 서버 자체에서 작동하고 있었지만, 나는 SQL 서버가 올바르게 설정되었다고 확신했었다. 연결과 방화벽은 문제가 아니었다. 윈도우 애플리케이션과 웹 애플리케이션의 보안 자격에 차이가 있었음에 틀림 없다.

Windows 응용 프로그램은 로그온 한 Windows 사용자의 보안 자격 증명으로 실행되고이를 사용하여 인증되지만 웹 응용 프로그램은 제한된 계정에서 실행되며 기본적으로 SQL 서버에 연결할 때 이러한 자격 증명을 전달하지 않습니다. 웹 응용 프로그램이 실행되는 사용자 계정을 가장하는 web.config를 추가하기 만하면됩니다.

문제가 해결되었습니다.

관련 문제