2016-10-18 2 views
0

데이터베이스가 축소되는 동안 컴퓨터가 다시 시작된 이후로 SQL Server (MSSQLSERVER)이 시작되지 않았습니다. 블로그를 읽은 후 필자는 템플릿 파일의 master.mdfmastlog.ldf 파일을 동일한 파일로 대체했습니다. 마스터 데이터베이스가 축소되었을 때 손상된 것으로 가정합니다. FCB :: Open failed : 파일을 열 수 없습니다.

문제가 해결되지 및 오류 로그 파일에 다음과 같은 메시지를 제공하지만

,

Starting up database 'msdb'. 
Starting up database 'mssqlsystemresource'. 
Error: 17204, Severity: 16, State: 1. 
FCB::Open failed: Could not open file E:\sql12_main_t.obj.x86Release\sql\mkmastr\databases\mkmastr.proj\MSDBData.mdf for file number 1. OS error: 3(The system cannot find the path specified.). 
Error: 5120, Severity: 16, State: 101. 
Unable to open the physical file "E:\sql12_main_t.obj.x86Release\sql\mkmastr\databases\mkmastr.proj\MSDBData.mdf". Operating system error 3: "3(The system cannot find the path specified.)". 
Error: 17207, Severity: 16, State: 1. 
FileMgr::StartLogFiles: Operating system error 2(The system cannot find the file specified.) occurred while creating or opening file 'E:\sql12_main_t.obj.x86Release\sql\mkmastr\databases\mkmastr.proj\MSDBLog.ldf'. Diagnose and correct the operating system error, and retry the operation. 
File activation failure. The physical file name "E:\sql12_main_t.obj.x86Release\sql\mkmastr\databases\mkmastr.proj\MSDBLog.ldf" may be incorrect. 
The resource database build version is 12.00.2000. This is an informational message only. No user action is required. 
Starting up database 'model'. 

내가 분명히 내 컴퓨터에 아무런 E:\ 파티션이 없다고 말할 수 있습니다. 제가 지금 오류라고 가정하는 경로를 수정하도록 도와 주시겠습니까?

+0

내가 닫고 dba.stackexchange.com이 질문을 이동하는 투표했다. –

답변

-1

모르겠지만, 이런 식으로 유지됩니다 :

E:\sql12_main_t.obj.x86Release\sql\mkmastr\databases\mkmastr.proj\MSDBData.mdf 

기본적으로 데이터베이스에서 직접 변경해야합니다.

는 관리자로 CMD 콘솔을 실행하고 다음과 같이 데이터베이스에 액세스 :

SQLCMD –S .\INSTANCENAME 

가의 기본 위치에 파일의 이름을 바꿉니다

SQLCMD -S .\ 

또는 경우에이 같은

당신은 인스턴스가 다음 문장 :

ALTER DATABASE model MODIFY FILE (NAME = modeldev, FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\DATA\model.mdf'); 
ALTER DATABASE model MODIFY FILE (NAME = modellog, FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\DATA\modellog.ldf'); 
ALTER DATABASE msdb MODIFY FILE (NAME = MSDBData, FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\DATA\MSDBData.mdf'); 
ALTER DATABASE msdb MODIFY FILE (NAME = MSDBLog, FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\DATA\MSDBLog.ldf'); 
ALTER DATABASE tempdb MODIFY FILE (NAME = tempdev, FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\DATA\temp.mdf'); 
ALTER DATABASE tempdb MODIFY FILE (NAME = templog, FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\DATA\temp.ldf'); 
GO 

그런 다음 sa 사용자는 암호없이 남아있게됩니다. RD는 (그것은 항상 발생하는 경우 확실하지, 나에게 무슨 일이 있었) 그냥 콘솔에 다시 로그인하여 수동으로 암호 변경 :이 마지막 단계를했을 때

ALTER LOGIN sa WITH PASSWORD = 'newpassword' UNLOCK 

를, I는 문제가 있었다 내 기본 때문에 로그인은 Windows 인증으로 구성, 그래서 명령은 :

SQLCMD -S .\ 

작동하지 않았다 , 그냥 암호없이 sa 사용자를 추가

SQLCMD -S .\ -Usa 

는 도움이되기를 바랍니다.

나는 여기에 해결책을 발견 :

https://social.technet.microsoft.com/wiki/contents/articles/31786.sql-server-not-starting-after-fresh-installation.aspx

관련 문제