문제

MDF에 연결하려고합니다. SQL Server Express를 다시 설치하는 길이로 갔다 (이제는 이전에 05 dev and express를 가진 내 상자에 설치된 SQL의 유일한 맛입니다). 나는 경로가 모두 정확하다는 것을 확인했으며 지금까지 내 Google-FU는 도움이되지 않았습니다.

전체 예외 메시지는 다음과 같습니다.

사용자 인스턴스의 프로세스를 시작하는 데 실패하여 SQL Server의 사용자 인스턴스를 생성하지 못했습니다. 연결이 닫힙니다.

연결 문자열은 다음과 같습니다.

<add name= "CustomerEntities"
     connectionString="metadata=res://*/Data.CustomerModel.csdl|res://*/Data.CustomerModel.ssdl|res://*/Data.CustomerModel.msl;
     provider=System.Data.SqlClient;
     provider connection string='Data Source=.\SQLEXPRESS;
     AttachDbFilename=\App_Data\CustomerDb.mdf;
     Integrated Security=True;
     User Instance=True'"
     providerName="System.Data.EntityClient" />

추가 정보:

내가 온라인에서 찾은이 오류에 대한 참조 중 일부는 나에게 적용되지 않습니다. 예를 들어, 내가 본 것은 원격 데스크탑을 통해 사용자 인스턴스를 시작하려고 할 때이 오류가 발생하는 위치입니다 (로컬 에서이 작업을 수행하고 있음). 다른 하나는 오래된 Express 설치의 남은 파일과 관련이 있다고 제안하지만 ... 나는 규정 된 위치를 보았고 그 인공물을 찾지 못했습니다. 나는 또한 달리기를 시도했다 sp_configure 'user instances enabled', '1', 그러나 그것은 이미 1으로 설정되었다고 말했다.

도움이 되었습니까?

해결책

좋아, 이제 작동합니다! 복합 문제라고 생각합니다 ... 해결하기 위해 취한 단계는 다음과 같습니다.

  1. 연결 문자열에서 다음 속성을 변경했습니다 (미묘한 차이 참고) : AttachDbFilename=|DataDirectory|CustomerDb.mdf;
  2. 다음 디렉토리의 내용을 삭제했습니다. c:\Users\<user name>\AppData\Local\Microsoft\Microsoft SQL Server Data\SQLEXPRESS. 나는 전에 이것을 찾았다 고 생각했지만 실제로는 Microsoft Sql Server 폴더. 다시, 미묘한 차이.

이 두 가지 일을 한 후에는 연결이 작동하기 시작했습니다.

다른 팁

위의 답변에도 불구하고 많은 사람들이 문제를 해결 했음에도 불구하고, 나는 여전히 문제의 본질에 미치지 못한다는 것을 알게되었습니다. 가장 가까운 것은 위의 @sohaiby의 답입니다. 그러나 관리 스튜디오 사용을 잘못 언급합니다.

이 주제 위의 오류 메시지는 문제가 사용자 인스턴스를 생성하는 것임을 매우 명확하게 알려줍니다. 인스턴스가 무엇인지, 어떻게 사용되는지 여기에 모든 세부 사항에 설명되어 있습니다.https://msdn.microsoft.com/en-us/library/ms254504(v=vs.110).aspx

개인적으로 Windows 인증 모드에서 SQL Server 인증으로 DB 연결을 전환 할 때이 문제가 발생했습니다. 연결 문자열의 일부만 수정하여 다음을 해결했습니다. "사용자 인스턴스 = false;" "사용자 인스턴스 = true;"대신 Windows 인증과 함께 잘 작동했습니다.

"사용자 인스턴스 = false"로 변경 한 후 내 연결은 추가 조작없이 잘 작동했습니다. 나는 그것이 효과가 있거나 모든 시나리오에서 적합 할 것이라고 주장 할 수 없다. 그러나 SQL Server Work 디렉토리를 지우는 것과 같은 위에서 설명한 다른 과감한 방법보다 먼저 시도하는 것이 좋습니다.

코드를 한 컴퓨터에서 다른 기계로 옮겼을 때 동일한 오류가 발생했습니다. 나는 vs2010을 사용하고 있으며 Sqlexpress 2008도 함께 제공됩니다.

트릭, 다음 주파수 "c : users username appdata local microsoft microsoft sql server data sqlexpress"에서 모든 내용을 삭제하는 것이 저를 위해 작동했습니다.

여기의 다른 솔루션 외에도 도움이 될 수 있습니다. 응용 프로그램 풀이 ApplicationPoolidentity가 아닌 네트워크 서비스로 실행되고 있는지 확인하십시오.

이 솔루션은 여기에서 발견되었습니다. http://blogs.msdn.com/b/webdevelopertips/archive/2010/05/06/tip-106-did-you- know-how-create-saspnetdb-mdf-file.aspx

다른 사람이 언급했듯이 디렉토리의 내용을 삭제합니다. Windows 7에서 C : Users username dir를 탐색하는 다른 사람들에게 도움이 될 수있는 메모는 AppData 폴더를 표시하지 않습니다. 나는 그것이 실제로 존재한다는 것을 발견했지만 (Windows 7의 문서 브라우저에 표시되지 않음) 전체 경로 이름을 입력하기 위해서는 그냥 입력하면됩니다.

오늘 아침 테스트 배치 환경 에서이 오류가 발생하기 시작했습니다. SQL Server Express 2008을 사용하고 있었는데 내가 얻은 오류는

"사용자 인스턴스의 프로세스를 시작하는 데 실패하여 SQL Server의 사용자 인스턴스를 생성하지 못했습니다. 연결이 닫힙니다."

그 원인에 대해 확신 할 수 없을 때, 나는이 게시물과 다른 게시물에서 "c : users username appdata local microsoft microsoft sql server data sqlexpress"directory에 대한 지침을 따랐습니다.

나를위한 트릭은 연결 문자열을 변경하는 것이 었습니다.

"데이터 소스 =. sqlexpress; 초기 카탈로그 = dbfilepath; 통합 보안 = sspi; multipleActiveresultsets = true"

에게

"데이터 소스 =. sqlexpress; 초기 카탈로그 = dbname; 통합 보안 = sspi; multipleActiveresultsets = true"

이 문제가 Windows 양식 응용 프로그램의 MDF 파일 로이 문제를 단계적으로 단계적으로 컴퓨터를 다시 시작하면 문제가 해결됩니다.

이 문제를 해결하려면 SQL Server Management Studio Express를 열십시오. 쿼리 편집기 에서이 텍스트를 입력합니다.

sp_configure 'user instances enabled', 1;
 RECONFIGURE

실행하십시오. 그런 다음 SQL Server 데이터베이스를 다시 시작하십시오.

SQL Management Studio를 사용하여 SQL Server 인스턴스에 연결하려고 했습니까?

이로 인해 연결을 허용하지 않으면 SQL 서비스가 올바르게 시작되지 않기 때문일 수 있습니다.

제어판에서 서비스를 확인하여 서비스가 실행 중인지 확인하십시오.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top