SqlServer服務(wù)無法啟動(dòng)的處理方法
SqlServer服務(wù)無法啟動(dòng),應(yīng)該如何解決呢?下面就教您一個(gè)SqlServer服務(wù)無法啟動(dòng)的處理方法,如果您也遇到過類似的問題,不妨一看。
我們知道SQL Server中最重要的一個(gè)數(shù)據(jù)庫是master數(shù)據(jù)庫,這個(gè)系統(tǒng)數(shù)據(jù)庫如果有損壞的話,毫無疑問服務(wù)器就將不能正常地提供服務(wù)。
在某些時(shí)候,master數(shù)據(jù)庫確實(shí)受到損壞,無法通過正常的方式登陸了,那么管理員應(yīng)該怎么樣去想辦法對其進(jìn)行還原操作呢?
在SQL Server的設(shè)計(jì)中提供了所謂的單用戶模式(或者也稱為管理模式),通常在危急關(guān)頭,我們會(huì)以這種模式來啟動(dòng)SQL Server,并對master數(shù)據(jù)庫進(jìn)行還原操作
在SQL Server 2000的時(shí)候,我們可以通過下列命令行的方式啟動(dòng)單用戶模式(SQL Server的服務(wù)必須先停止)
sqlservr -m
這時(shí)會(huì)以管理員模式啟動(dòng)SQL Server的主服務(wù),你也可以看到如下面這樣的一些輸出,實(shí)際上這也是每次SQL Server服務(wù)啟動(dòng)時(shí)所做的一些事情
2007-03-08 18:22:03.46 server Microsoft SQL Server 2000 - 8.00.2039 (Intel X86)
May 3 2005 23:18:38
Copyright (c) 1988-2003 Microsoft Corporation
Developer Edition on Windows NT 5.1 (Build 2600: Service Pack 2)
2007-03-08 18:22:03.46 server Copyright (C) 1988-2002 Microsoft Corporation.
2007-03-08 18:22:03.46 server 保留所有權(quán)利。
2007-03-08 18:22:03.46 server 服務(wù)器進(jìn)程 ID 是 2976。
2007-03-08 18:22:03.46 server 將 SQL Server 消息記錄在文件“C:\Program Files\Microsoft SQL Server\MSSQL\log\ERRORLOG”中。
2007-03-08 18:22:03.48 server SQL Server 正在以優(yōu)先級“normal”(已檢測到 1 CPU)啟動(dòng)。
2007-03-08 18:22:03.50 server 已為 thread 模式處理而配置了 SQL Server。
2007-03-08 18:22:03.51 server 使用 dynamic 鎖分配。[2500] 鎖塊,[5000] 鎖所有者塊。
2007-03-08 18:22:03.52 server 嘗試初始化分布式事務(wù)處理協(xié)調(diào)器。
2007-03-08 18:22:03.55 server Failed to obtain TransactionDispenserInterface: XACT_E_TMNOTAVAILABLE
2007-03-08 18:22:03.56 spid3 警告 ******************
2007-03-08 18:22:03.56 spid3 SQL Server 以單用戶模式啟動(dòng)。允許對系統(tǒng)目錄進(jìn)行更新。
2007-03-08 18:22:03.56 spid3 啟動(dòng)數(shù)據(jù)庫“master”。
2007-03-08 18:22:04.38 spid3 0 個(gè)事務(wù)在數(shù)據(jù)庫“master”中后滾 (1)。
2007-03-08 18:22:04.38 spid3 恢復(fù)操作正在對數(shù)據(jù)庫 'master'(1)執(zhí)行檢查點(diǎn)操作。
2007-03-08 18:22:04.51 server 正在使用“SSNETLIB.DLL”版本“8.0.2039”。
2007-03-08 18:22:04.52 spid5 啟動(dòng)數(shù)據(jù)庫“model”。
2007-03-08 18:22:04.53 server SQL Server 正在監(jiān)聽 169.254.10.189: 1433。
2007-03-08 18:22:04.53 server SQL Server 正在監(jiān)聽 127.0.0.1: 1433。
2007-03-08 18:22:04.53 server SQL Server 正在監(jiān)聽 TCP, Shared Memory, Named Pipes。
2007-03-08 18:22:04.53 server SQL Server 已準(zhǔn)備好進(jìn)行客戶端連接
2007-03-08 18:22:04.56 spid3 服務(wù)器名稱是“THINKER-XP”。
2007-03-08 18:22:04.56 spid7 啟動(dòng)數(shù)據(jù)庫“msdb”。
2007-03-08 18:22:04.56 spid8 啟動(dòng)數(shù)據(jù)庫“pubs”。
2007-03-08 18:22:04.56 spid9 啟動(dòng)數(shù)據(jù)庫“Northwind”。
2007-03-08 18:22:04.56 spid10 啟動(dòng)數(shù)據(jù)庫“ReportServer”。
2007-03-08 18:22:05.71 spid8 啟動(dòng)數(shù)據(jù)庫“ReportServerTempDB”。
2007-03-08 18:22:05.73 spid5 清除 tempdb 數(shù)據(jù)庫。
2007-03-08 18:22:05.84 spid9 啟動(dòng)數(shù)據(jù)庫“AdventureWorks2000”。
2007-03-08 18:22:05.87 spid10 啟動(dòng)數(shù)據(jù)庫“demo”。
2007-03-08 18:22:06.32 spid7 啟動(dòng)數(shù)據(jù)庫“ClassNorthwind”。
2007-03-08 18:22:06.69 spid8 啟動(dòng)數(shù)據(jù)庫“demo2”。
2007-03-08 18:22:10.89 spid5 啟動(dòng)數(shù)據(jù)庫“tempdb”。
2007-03-08 18:22:11.12 spid3 恢復(fù)完成。
2007-03-08 18:22:11.12 spid3 SQL global counter collection task is created.
這時(shí)候你可以再登陸到企業(yè)管理器,對master數(shù)據(jù)庫進(jìn)行還原
如果這種方式還是無法修復(fù)錯(cuò)誤的話呢,我們該怎么辦?
當(dāng)服務(wù)器出現(xiàn)無法修復(fù)的錯(cuò)誤,最后的一個(gè)手段是重建系統(tǒng)數(shù)據(jù)庫,然后全部重新附加或者還原用戶數(shù)據(jù)庫。
重建系統(tǒng)數(shù)據(jù)庫的方法是運(yùn)行下面這個(gè)工具
C:\Program Files\Microsoft SQL Server\80\Tools\Binn\Rebuildm.exe
SQL Server 2005的時(shí)候,要進(jìn)入單用戶模式的命令行工具是
sqlcmd -A
或者登陸Management Studio的時(shí)候,服務(wù)器名字前面加上 "Admin:",并且以sa和密碼登陸
【編輯推薦】