2017計算機等考三級數(shù)據(jù)庫基礎:一次TempDB損毀的處理過程

字號:


    故障環(huán)境:WinNT4.0Cluster+SQL Server7.0
    故障描述: 8:30左右發(fā)現(xiàn)資料庫當機,cluster作移轉後sql server無法起來,查看windows日志,有錯誤紀錄如下
    事件類型: 錯誤
    事件來源: ClusSvc
    事件類別目錄: (2052)
    事件識別碼: 1066
    日期: 2005-1-21
    時間: 8:23:20
    使用者: N/A
    電腦: TEST
    描述:
    Cluster disk resource Disk G:: is corrupt. Running ChkDsk /F to repair problems.
    請在 http://go.microsoft.com/fwlink/events.asp 查看說明及支援中心,以取得其他資訊。
    根據(jù)該錯誤紀錄,需要對TEST\G做check disk.再對資料庫做完整backup後,停止cluster服務,重起server後,chkdsk g: /f 執(zhí)行成功.再次啟動sql server,依舊無法開啟,windows event log出下以下錯誤
    事件類型: 資訊
    事件來源: MSSQLServer$TEST
    事件類別目錄: Server
    事件識別碼: 17055
    日期: 2005-1-21
    時間: 8:23:54
    使用者: N/A
    電腦: TEST
    描述:
    17052 :Database 'tempdb' cannot be opened. It has been marked SUSPECT by recovery. See the SQL Server errorlog for more information.
    請在 http://go.microsoft.com/fwlink/events.asp 查看說明及支援中心,以取得其他資訊。
    資料:
    0000: 9c 42 00 00 0a 00 00 00 ?B......
    ...
    0030: 00 00 ..
    在Microsoft網(wǎng)站查找17055,10752的錯誤代碼沒有結果. 通過查找關鍵字 “Database 'tempdb' cannot be opened”,找到重建TempDB的一篇文章http://support.microsoft.com/default.aspx?scid=kb;en-us;288809
    處理方法: 根據(jù)微軟文檔,操作步驟如下
    1.設置SQL Server Virtul Server Name
    C:\> set _CLUSTER_NETWORK_NAME=YourSQLVirtualName
    2.命令行啟動SQL Server單用戶模式(命令行窗口不能關閉)
    C:\> sqlservr -c -f -T3608 -T4022
    3.開啟查詢分析器,以SA登入,執(zhí)行系統(tǒng)存儲過程重設TempDB狀態(tài)
    exec master..sp_resetstatus Tempdb
    4.按CTRL+C關閉第2步的命令行窗口
    5.重新正常啟動SQL Server,此時會自動重建TempDB
    6.還原第1步的環(huán)境參數(shù)設置
    C:\> set _CLUSTER_NETWORK_NAME=
    至此,資料庫恢復正常.