2016-10-18 117 views
0

機器在我縮小數據庫的同時重新啓動,此後SQL Server (MSSQLSERVER)未啓動。在閱讀博客之後,我使用相同的文件替換了模板文件夾中的master.mdfmastlog.ldf文件,假設主數據庫已損壞,因爲我正在縮小此文件。FCB ::打開失敗:無法打開文件

但是問題仍然存在,該錯誤日誌文件提供了以下信息,

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

我不知道這是否是平常不同的SQL Server 2014 一些引用到數據庫中的錯誤什麼的,會保持這樣的:

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

所以你基本上不得不直接在數據庫中改變它們。

運行CMD控制檯以管理員身份和訪問數據庫,如:

SQLCMD -S .\ 

或者像這樣的情況下,你有一個實例:

SQLCMD –S .\INSTANCENAME 

重命名文件的默認位置。這些句子:

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用戶將保持沒有passwo RD(它發生在我身上,不知道它總是會發生的),只需重新登錄到控制檯,並改變手動密碼:

ALTER LOGIN sa WITH PASSWORD = 'newpassword' UNLOCK 

當我做這最後一步,我有一個問題,因爲我的默認登錄配置了Windows身份驗證,因此指令:

SQLCMD -S .\ 

沒有工作,只是添加sa用戶不使用密碼:

SQLCMD -S .\ -Usa 

希望它能幫助。

我發現這裏的解決方案:

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