由于TempDB设置错误导致SQL Server无法重启错误的解决方案
場景:
前幾天接到一個朋友的電話,說他們由于將TempDB設(shè)置錯誤導(dǎo)致SQL Server無法重啟,讓我?guī)兔纯础?br />他們本來是想將TempDB的文件挪動到其他路徑,比如準(zhǔn)確的腳本應(yīng)該是:
但是他們卻寫成了:
USE master GO ALTER DATABASE tempdb MODIFY FILE (NAME = tempdata_01, FILENAME = 'D:\SQL2K14_DATA\MSSQL12.MSSQLSERVER\MSSQL\DATA') GO ALTER DATABASE tempdb MODIFY FILE (NAME = templog, FILENAME = 'D:\SQL2K14_DATA\MSSQL12.MSSQLSERVER\MSSQL\DATA')之后,未經(jīng)檢查,就直接重啟了SQL Server服務(wù),最后導(dǎo)致服務(wù)無法被啟動。
查看數(shù)據(jù)庫和Windows的錯誤日志,錯誤信息為:
CREATE FILE encountered operating system error 5(Access is denied.) while attempting to open or create the physical file '
D:\SQL2K14_DATA\MSSQL12.MSSQLSERVER\MSSQL\DATA'.
CREATE FILE encountered operating system error 5(Access is denied.) while attempting to open or create the physical file '
D:\SQL2K14_DATA\MSSQL12.MSSQLSERVER\MSSQL\DATA'.
?
解決步驟:
1.先將正確的Alter Database Tempdb的腳本放在某個路徑下,比如我這里就放在D:\Temp\ModifyTemp.sql
USE master GO ALTER DATABASE tempdb MODIFY FILE (NAME = tempdata_01, FILENAME = 'D:\SQL2K14_DATA\MSSQL12.MSSQLSERVER\MSSQL\DATA\tempdb.mdf') GO ALTER DATABASE tempdb MODIFY FILE (NAME = templog, FILENAME = 'D:\SQL2K14_DATA\MSSQL12.MSSQLSERVER\MSSQL\DATA\templog.ldf')2.在命令行中使用單用戶模式啟動SQL Server服務(wù):
C:\Users\wh42>net start MSSQLServer /f /T3608 /m
The SQL Server (MSSQLSERVER) service is starting.
The SQL Server (MSSQLSERVER) service was started successfully.
3.在該cmd窗口中,使用sqlcmd來執(zhí)行第一步中的腳本:
在cmd中先進入腳本所在的路徑,之后執(zhí)行該腳本:
C:\Users\wh42>d:D:\>cd TempD:\Temp>sqlcmd -iModifyTempDB.sql Changed database context to 'master'. The file "tempdata_01" has been modified in the system catalog. The new path wil l be used the next time the database is started. The file "templog" has been modified in the system catalog. The new path will beused the next time the database is started.4.根據(jù)上面的提示,我們已經(jīng)將TempDB的對應(yīng)的meta信息修改完畢,此時我們只需要關(guān)閉該窗口,再使用正常模式重啟SQL Server服務(wù)即可。
?
這樣,我們就解決了由于設(shè)置TempDB錯誤,導(dǎo)致無法啟動SQL Server服務(wù)的問題了。
?
轉(zhuǎn)載于:https://www.cnblogs.com/Wison-Ho/p/4891825.html
總結(jié)
以上是生活随笔為你收集整理的由于TempDB设置错误导致SQL Server无法重启错误的解决方案的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android Listview中But
- 下一篇: Android笔记:Activity