SQL Server 2005日志文件損壞的處理方法

在實際的工作和學習中,許多人的SQL Server 2005數據庫日志文件可能會發生損壞,例如硬件故障、計算機非正常重啓或關機等等。

在SQL Server 2005的日志文件損壞時,你會發現以下的情況:

◆1、在SQL Server Management Studio中顯示數據庫處于置疑(suspect)狀態。

◆2、事件日志可能會出現如下錯誤信息:

Could not redo log record (21737:686:9), for transaction ID (0:2334886), on page (1:37527), database 'Test' (database ID 15). Page: LSN = (21735:299:5), type = 2. Log: OpCode = 3, context 19, PrevPageLSN: (21737:615:1). Restore from a backup of the database, or repair the database.

During redoing of a logged operation in database 'Test', an error occurred at log record ID (76116:286:2). Typically, the specific failure is previously logged as an error in the Windows Event Log service. Restore the database from a full backup, or repair the database.

◆3、無法分離數據庫

◆4、用CREATE DATABASE DBName ON ( FILENAME = N'DBFile' ) FOR ATTACH_REBUILD_LOG附加數據庫時出現提示:The log cannot be rebuilt because the database was not cleanly shut down.

詳細的恢複方法:

1、停止數據庫服務。

2、將需要恢複的數據庫文件複制到另外的位置。

3、啓動數據庫服務。

4、確認要恢複的數據庫文件已經成功複制到另外的位置,然後在SQL Server Management Studio中刪除要恢複的數據庫。

5、新建同名的數據庫(數據庫文件名也要相同)。

6、停止數據庫服務。

7、用第2步中備份的.mdf文件覆蓋新數據庫的同名文件。

8、啓動數據庫服務。

9、運行alter database dbname set emergency,將數據庫設置爲emergency mode

10、運行下面的命令就可以恢複數據庫:

use master

declare @databasename varchar(255)

set @databasename='要恢複的數據庫名稱'

exec sp_dboption @databasename, N'single', N'true' --將目標數據庫置爲單用戶狀態

dbcc checkdb(@databasename,REPAIR_ALLOW_DATA_LOSS)

dbcc checkdb(@databasename,REPAIR_REBUILD)

exec sp_dboption @databasename, N'single', N'false'--將目標數據庫置爲多用戶狀態

注:這個方法是通過.mdf文件恢複數據庫,即使大家的log文件丟失也可以進行恢複。

SQL Server非正常刪除日志文件(ldf)恢複方法
  事務日志文件(ldf)在SQL Server服務未啓動的情況下被刪除(SQL Server在工作狀態下是無法刪除日志文件),這種情況下啓動SQL服務後,相應數據庫即被標志成置疑(suspend)狀態  按目前本人實驗結果,恢複方法如下...查看完整版>>SQL Server非正常刪除日志文件(ldf)恢複方法
 
SQL Server日志文件丟失的恢複方法
  一、 概述  在應用系統中,數據庫往往是最核心的部分,一旦數據庫毀壞或損壞,將會帶來巨大的損失,所以數據庫的管理越來越重要。我們在做數據庫管理與維護工作中,不可避免會出現各種各樣的錯誤,本文針對數據...查看完整版>>SQL Server日志文件丟失的恢複方法
 
SQL Server 2005安裝失敗的處理方法
錯誤案例:在Microsoft Virtual PC 2007和一台筆記本電腦上安裝MSDN訂閱下載的SQL Server 2005企業版時出現問題。安裝環境爲windows Server 2003 企業版 + sp1,另外一個系統是帶sp2的,安裝用戶使用超級管理員(Adm...查看完整版>>SQL Server 2005安裝失敗的處理方法
 
ORACLE聯機日志文件丟失或損壞的處理方法
   經驗總結:聯機日志分爲當前聯機日志和非當前聯機日志,非當前聯機日志的損壞是比較簡單的,一般通過clear命令就可以解決問題。損壞非當前聯機日志:1、啓動數據庫,碰到ORA-00312 or ORA-00313錯誤,如: ...查看完整版>>ORACLE聯機日志文件丟失或損壞的處理方法
 
Oracle聯機日志文件丟失或損壞的處理方法
    經驗總結:  聯機日志分爲當前聯機日志和非當前聯機日志,非當前聯機日志的損壞是比較簡單的,一般通過clear命令就可以解決問題。    損壞非當前聯機日志:  1、啓動數據庫,遇到ORA-00312 or ORA-0...查看完整版>>Oracle聯機日志文件丟失或損壞的處理方法
 
ORACLE聯機日志文件丟失或損壞的處理方法
  經驗總結:  聯機日志分爲當前聯機日志和非當前聯機日志,非當前聯機日志的損壞是比較簡單的,一般通過clear命令就可以解決問題。  損壞非當前聯機日志:  1、啓動數據庫,遇到ORA-00312 or ORA-00313錯誤...查看完整版>>ORACLE聯機日志文件丟失或損壞的處理方法
 
ORACLE聯機日志文件丟失或損壞的處理方法
ORACLE聯機日志文件丟失或損壞的處理方法 ORACLE聯機日志文件丟失或損壞的處理方法 經驗總結:聯機日志分爲當前聯機日志和非當前聯機日志,非當前聯機日志的損壞是比較簡單的,一般通過clear命令就可以解決...查看完整版>>ORACLE聯機日志文件丟失或損壞的處理方法
 
ORACLE聯機日志文件丟失或損壞的處理方法
經驗總結:聯機日志分爲當前聯機日志和非當前聯機日志,非當前聯機日志的損壞是比較簡單的,一般通過clear命令就可以解決問題。損壞非當前聯機日志:1、啓動數據庫,遇到ORA-00312 or ORA-00313錯誤,如:ORA-00313: ...查看完整版>>ORACLE聯機日志文件丟失或損壞的處理方法
 
Sql Server 2000數據庫日志日益龐大的解決方法
我在使用sqlserver2000數據庫時,使用一段時間後日志日益龐大。所以我就給Server添加了一個作業,讓它每月運行一次。來完成一次我的數據庫維護工作。(dmt就是我的多媒體數據庫名)backup log dmt with no_log--這裏...查看完整版>>Sql Server 2000數據庫日志日益龐大的解決方法
 
 
回到王朝網路移動版首頁