8

저는 이러한 문구를 알고 있어야하지만 갑자기 모든 연결이 localhost\sqlexpress으로 중단됨을 알고 있습니다. .\sqlexpress(local)\sqlexpress이 작동하기 때문에 모든 연결 문자열이 이전 형식으로 정의 된 팀 프로젝트에서 작업하고 있다는 사실이 아니라면 큰 문제는 아닙니다. 그리고 분명히 더 이상 작동하지 않아야한다는 것을 받아들이는 데 어려움을 겪었으므로 여러 SQL Server 버전을 분석하고 재설치하는 데 몇 시간을 허비했습니다. (그리고 VS2010의 db 프로젝트를 깨는 방식으로 다시 설치해야했습니다 ...).localhost sqlserver를 사용하여 데이터베이스에 연결할 수 없습니다.

하지만 여기에 자세한 내용이 있습니다. 이미 언급했듯이 localhost\sqlexpress에 연결할 수 없으며 .\sqlexpress에 연결할 수 없습니다. SQL Server Manager 및 wcf 서비스를 배포하고 실행하기위한 연결 문자열을 사용하는 것과 동일한 증상. 재미있게 기본 인스턴스를 해결하면 localhost이 작동합니다.

우선 SQL Server가 실행 중이며 TCP/IP를 사용하는 동료 컴퓨터에서 작동하지만 TCP/IP를 사용하도록 설정하고 포트를 1433으로 고정시켜야합니다. (어딘가에 내가 읽은 길을 따라 localhost은 네이티브 SQL 클라이언트를 사용할 때 공유 메모리를 사용하여 해결할 수 있으므로 자신의 시스템에서 일어난 일이라고 추측합니다.)

설치 프로그램은 오직 하나의 SQL Server Express 2008 R2 인스턴스와 VS2010입니다 Windows 7 Professional에서.

TCP 0.0.0.0:1433   Machinenename:0    LISTENING 
TCP [::]:1433    Machinenename:0    LISTENING 

내가 127.0.0.1:1433의 부재 및 UDP에 유의하십시오이

Server is listening on [ 'any' <ipv6> 1433]. 
Server is listening on [ 'any' <ipv4> 1433]. 

하면 Netstat는 (발췌) 말한다 : SQL을 시작하기

는 오류 로그는 말한다 표현 포트 1433

문제를 진단하기 위해 sqlcmd를 사용하여 어떤 전송이 사용되는지 확인합니다 :

1. 로컬 호스트 \의 SQLEXPRESS

sqlcmd -Slocalhost\sqlexpress -> Shared memory 
sqlcmd -Stcp:localhost\sqlexpress -> SQL Server Network Interfaces: Error Locating Server/Instance Specified 

내가 프로토콜

2. 로컬 호스트

으로 공유 메모리를 지정하는 경우에도 SQL Server 관리 Studio에서 로컬 호스트 \의 SQLEXPRESS에 연결할 수 없습니다
sqlcmd -Slocalhost -> TCP 
sqlcmd -Stcp:localhost -> TCP 

SQL Server Management S에서 localhost에 연결할 수 있습니다. tudio

3. (로컬) \의 SQLEXPRESS

sqlcmd -S(local)\sqlexpress -> Shared memory 
sqlcmd -Stcp:(local)\sqlexpress -> SQL Server Network Interfaces: Error Locating Server/Instance Specified 

연결할 수있는 (로컬) \

SQL Server 관리 Studio에서 SQLEXPRESS 그래서 내가 여기에 손실입니다. 어떤 도움을 주셔서 감사합니다.

답변

2

공유 메모리가 SQL Server 구성 관리자의 SQL Server 네트워크 구성에서 사용하도록 설정되어 있는지 확인 했습니까? 프로토콜?

"공유 메모리"프로토콜을 비활성화하면 "sqlcmd -S. \ sqlexpress"시간이 초과됩니다. 이것을 사용하면 명령이 올바르게 작동합니다.

한 번 더 생각해보십시오 ... 포트 1434는 SQL Server 검색 서비스에 사용되며 SQL Management Studio와 같은 프로그램에서 SQL Server가 컴퓨터에서 실행되고 있음을 발견 할 수 있습니다. 조사 할 것이 한 가지 더 있습니다.

MS SQL에서
4

, 구성 도구로 이동 -> SQL Server 구성 관리자 선택 SQL Server 네트워크 구성 -> 오른쪽 창에서 선택 프로토콜 TCP/IP 을 활성화하고 services.msc를 에서 서비스를 다시 시작하십시오 localhost \ sqlexpress에 연결하려면

0

이 문제가 발생했습니다. 어떤 이유에서이 컴퓨터에서 사용하고 있던 서버 이름 (localhost \ SQL2008_R2)을 더 이상 존재하지 않는 서버로 지정하는 별칭이 만들어졌습니다.

별칭을 삭제하면 모두 작동합니다.

별칭은 SQL Server 구성 관리자의 트리 노드입니다.

SQL Server Configuration Manager Alias Node

관련 문제