Windows 계정으로 SqlLocalDB 인스턴스를 시작할 수 없습니다


12

나는 관리자이고 단순히 다음 명령을 실행합니다.

 sqllocaldb start v11.0

결과:

 Start of LocalDB instance "v11.0" failed because of the following error:
 Error occurred during LocalDB instance startup: SQL Server process failed to sta
 rt.

이벤트 뷰어 로그 이벤트 ID : 528

Windows API 호출 WaitForMultipleObjects가 오류 코드 : 575를 리턴했습니다. Windows 시스템 오류 메시지는 {Application Error}입니다. 응용 프로그램을 올바르게 시작할 수 없습니다 (0x % lx). 확인을 클릭하여 응용 프로그램을 닫으십시오. 줄에보고 : 3621.

다른 (사용자 및 관리자) 계정을 시도했지만 아무런 문제가 없었습니다.

SQLLocalDB.msi의 2012 버전을 제거하고 다시 설치했지만 운이 없었습니다. 당신은 어떤 아이디어와 수정이 있습니까?


Visual Studio에서 프로젝트를 시작하는 데 문제가 있었고 이벤트 로그에서 동일한 오류가 발생했습니다. 를 실행하여 수정했습니다 sqllocaldb start v11.0.
Andre Luus

답변:


12

일반적으로 폴더 아래에서 %localappdata%\Microsoft\Microsoft SQL Server Local DB\Instances\v11.0큰 힌트를 제공 하는 오류 로그를 확인하십시오 .

로그로 다시 관리자 계정 ( 관리자)을 사용하여 명령 프롬프트를 시작합니다 . 그런 다음 이것을 실행하십시오.Run As Administrator

sqllocaldb share v11.0 MyInstance

목표 인 경우이 인스턴스에서 Windows 계정을 sysadmin으로 명시 적으로 추가 할 수 있습니다. 그래서:

sqllocaldb start MyInstance

그런 다음 SQLCMD, Management Studio와 연결하고 다음을 실행하십시오.

CREATE LOGIN [Domain\Username] FROM WINDOWS;
EXEC sp_addsrvrolemember N'Domain\Username', N'sysadmin';

이제 Windows 계정으로 다시 로그인하면 다음을 사용하여이 인스턴스를 시작할 수 있습니다.

sqllocaldb start MyInstance

(O / S 및 계정 전환 방법에 따라 이미 시작되었을 수 있습니다.)

그런 다음 Domain\Username을 사용하여 SQLCMD, SSMS 등을 사용하여 연결할 수 있어야합니다 (localdb)\.\MyInstance.


1
이것은 좋은 해결 방법이지만 문제를 설명하고 해결할 수는 없습니다.
님 클라우드

1
@NimeCloud 음, 아마도 다른 누군가가 더 나은 "수정"을 따라 올 것입니다. <shrug>
Aaron Bertrand

이것은 나를 위해 일했습니다. 특정 사용자에게 더 이상 부여가없는 원래 인스턴스와 관련이 있으며 이상하게도 사용자가 무엇을 하든지 액세스 할 수 없습니다. 공유 인스턴스는 별도의 ID로 처리되었으므로 이제 앱을 이전과 같이 연결할 수있는 "새로운"시작이 제공되었습니다.
Jon P

7

로그 오프 한 후 다른 관리자로 로그인하여 사용자 프로필 폴더 이름을 변경했습니다. Windows 7에서 내 계정으로 전환했습니다. 사용자 프로필 폴더로 TEMP 폴더가 새로 만들어졌습니다. 폴더 구조 전후를 그림과 같이 비교했습니다. 을 더한; LocalDB 인스턴스가 시작되었습니다.

localdb2.png

로그 오프하고 사용자 이름을 원본으로 바꿨습니다. 다시 로그인하여 해당 폴더로 이동했습니다.

C : \ Users \ MYUSERNAME \ AppData \ Local \ Microsoft \ Microsoft SQL Server 로컬 DB \ 인스턴스 \ v11.0

그리고 오류 로그를 보았습니다. 접근 불가!

http://pastebin.com/ASeJGqpw

해결 방법 : v11.0 폴더의 모든 파일을 삭제하십시오 . 부여 쓰기 permisionV11.0의 폴더에 저장합니다. 다른 인스턴스를 만들 수 없으면 인스턴스 폴더에 대한 쓰기 권한을 부여하십시오 .


1
v11.0 폴더를 삭제했습니다. 그런 다음 sqllocaldb.exe c v11.0다시 생성하기 위해 발행 했습니다 (VS2013 개발자 명령 줄에서 상승됨). 이것은 그것을 해결했다.
cheesus

2

localdb 및 sql 인스턴스가 현재 (도메인 사용자)와 다른 사용자로 설치되었을 때이 문제가 발생 했으므로 V11.0 폴더를 지우고 이전 경로에서 mdf 및 ldf 파일을 붙여서이 문제를 해결했습니다.

C:\Users\{inseryouroldusernamehere}\AppData\Local\Microsoft\Microsoft SQL Server Local DB\Instances\v11.0

도움이 되길 바랍니다.


1

나는 이것을 한 번 가지고 있었고 간단한 재부팅으로 해결했습니다. 다른 사람들도 그것을 해결 한 것 같습니다 . 아마도 Nime & Aarons 답변을 시도하기 전에 시도해 볼 가치가 있습니다.


1

services.msc를 열고 다음 서비스를 다시 시작했습니다.

  • SQL Server 브라우저
  • SQL Server VSS 기록기

그것이 도움이되기를 바랍니다.


1

파일을 작성 fix.bat하고 다음 텍스트를 넣습니다.

net localgroup Administrators "%userdomain%\%username%" /add

net localgroup Users "%userdomain%\%username%" /add

sqllocaldb d test

rd /s/q "%localappdata%\Microsoft\Microsoft SQL Server LocalDB\Instances\test"

sqllocaldb c test -s

fix.bat관리자 권한 으로 실행 한 다음 컴퓨터를 다시 시작하십시오. fix.bat다시 실행 하십시오.

이 방법을 사용하여이 문제를 10 회 이상 해결했습니다.


0

이 질문이 현재 Google 검색 결과에서 다른 것보다 높으므로 여기에 게시하고 있습니다. 필자의 경우 IIS에서 LocalDB를 시작할 수 없습니다. 나는 다음 이 SO 주석의 제안 에 설명 된대로 응용 프로그램 풀에 setProfileEnvironment = "true"로 추가 \ WINDOWS \ SYSTEM32 \ inetsrv를 \ 설정 \ applicationHost.config 파일 : C를 수정할 수를 사용자 프로필 : 전체 IIS, 1 부와 LocalDB를 사용 . 실제로 applicationPoolDefaults의 processModel의 setProfileEnvironment 속성을 true로 변경했으며 더 좋을 수도 있으므로 모든 새로운 App Pool에 대해 기억할 필요가 없습니다.


0

localdb 인스턴스에 실제 정보가 없으면 간단히 삭제할 수 있습니다. 데이터베이스가 자동으로 초기화되는 경우 (EF DbInitializer또는 마이그레이션 등을 사용하여)이 방법을 사용하는 것이 좋습니다 .

문제를 해결하기 위해 수행 한 작업은 다음과 같습니다.

  • 명령 프롬프트 창을 엽니 다
  • Execute sqllocaldb delete ****, 여기서 ****기본 인스턴스 (보통 MSSqlLocalDb또는 번거로운 인스턴스)에 대해 비어 있음
  • 실행 sqllocaldb create ****
  • 실행 sqllocaldb start ****

이것은 나를 위해 일했지만 자신의 위험 부담 으로이 작업을 수행하고 해당 인스턴스에 중요한 데이터가 없는지 다시 확인하고 올바른 인스턴스에서 작업을 수행해야합니다.

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