SQL Server 無(wú)法啟動(dòng)的原因定位、首先要知道SQL Server 啟動(dòng)的過(guò)程。
第一步:
讀取注冊表,創(chuàng )建log文件、檢測硬件、初始化系統配置。
第二步:
啟動(dòng)系統數據庫。
第三步:
準備好網(wǎng)絡(luò )連接。
第四步:
啟動(dòng)用戶(hù)數據庫。
--------------------------------------------------------------------------------------------------------------------------------------------------------------
方法 1、 針對第一步
運行--> regedit 打開(kāi)注冊表
Windows Server 2012 +SQL Server 2012 情況下SQL Server 的鍵值對在
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\.........下

1、當前用戶(hù)沒(méi)有讀取注冊表權限時(shí)SQL Server 在第一步時(shí)就失敗了,所以不能啟動(dòng)。
運行 --> eventwvr (event viewer)可以查看日志文件。

單擊每一個(gè)信息可以查看它的全部?jì)热荨?/p>

有了這個(gè)日志文件后有什么錯都可以從日志文件中找到答案了,是不是太爽了。
然---
2、如果日志文件不能被成功的創(chuàng )建SQL server也不可以被啟動(dòng)。
方法 2、針對第二步
啟動(dòng)master 數據庫是一人重要階段,如果master數據庫不能正常啟動(dòng),數據庫也就不能啟動(dòng)。
1、在指定路徑下找不到master的文件、路徑不對。
2、文件是找到了但是沒(méi)有權限、
3、文件損壞了、
你有沒(méi)有想過(guò)為什么我知道大概是這三個(gè)問(wèn)題,我會(huì )告訴你這是經(jīng)驗。但是你遇到了怎么辦,一個(gè)辦法,就是看日志,來(lái)定位錯誤的原因。
解決方法
1、 恢復master 原來(lái)的備份。
2、取物相應的權限。
啟動(dòng) Model 系統數據庫出錯時(shí)原因也與master 差不多吧。
解決方法
1、 恢復master 原來(lái)的備份。
2、取物相應的權限。
3、在啟動(dòng)數據庫時(shí)路過(guò)恢復Model這一個(gè)環(huán)節
第一步、用參數啟動(dòng)SQL Server
net start MSSQLSERVER /f /m /T3608
第二步、恢復Model 數據庫
restore database Model from disk = 'E:\Model.bak';
啟動(dòng) tempdb 出錯,服務(wù)器上可能沒(méi)有那么多空間放tempdb
解決方法
第一步:用參數啟動(dòng)
net start MSSQLSERVER /f /m /T3608
第二步:
alter database tempdb modify file(name =tempdev,size=100MB);
alter database tempdb modify file(name = templog,size=200MB);
方法 3、針對第三步
網(wǎng)絡(luò )連接出錯,一般看來(lái)是端口被別的程序用了。
解決方法:
SQL server 用的是1433端口、所以我們只要找到是哪個(gè)不臉的程序用了這個(gè)端口再把它kill了就可以了。
運行--> netstat

注意:
SQL Server 在啟動(dòng)完 master 后 tempdb 與準備網(wǎng)張連接是同時(shí)進(jìn)行的。
方法 4、針對第四步
數據庫文件有三種 1主數據庫文件 mdf、 2次要文件 ndf 、 3日志文件 ldf。
不管是哪一個(gè)文件壞了數據庫都不會(huì )成常啟動(dòng)。
1、 完整還原數據庫 restore database........
2、 如果只是個(gè)別ndf 壞了、可以用文件還原
第一步:alter database Studio modify file(name = Studio2,offline);----把壞了的文件設為離線(xiàn)。
第二步:alter database Studio set online;把數據庫設為在線(xiàn)。
第三步:還原出壞的文件組。
3、日志文件損壞了就有點(diǎn)不好了,慢慢聽(tīng)
在simple 恢復模式下如果上次數據庫是正常關(guān)閉(所有提交的事務(wù)都寫(xiě)入硬盤(pán),所有回滾的事務(wù)都以撤銷(xiāo))的就算沒(méi)有ldf文件
數據庫還是可以啟動(dòng)的。
如果ldf 文件損壞最好的恢復辦法就是恢復數據庫備份、因為有時(shí)數據庫可以處于一個(gè)不一致的狀態(tài),如事務(wù)提交了,但是數據只在
日志文件里,如果用戶(hù)可以接受這樣的損失,可以選擇dbcc checkdb 的方法修復數據庫
首先:
1、 alter database Studio set Emerggency;
2、 alter database Studio set single_user;
3、 dbcc checkdb(Studio,repair_allow_data_loss);
聯(lián)系客服