|
序:
MS SQL Server 2008 r2附加無ldf日志的mdf數據庫時報1813錯誤。提示數據庫被強制分離,無日志不能還原之類的話。
原因:
原因系統正在執行定時作業,沒有主要到多次強制分離了數據庫。當附加回mdf文件時報錯誤1813。總之都是手賤惹的禍。。。
解決辦法:
1、首先要備份好mdf文件,如果他沒了經理非吃了你不可。都不吐骨頭的。
2、在數據庫中新建一個需要附加同名的數據庫。例如【testdb】
3、停止SQL Server服務
4、找到該數據庫所在的文件夾、并刪除testdb_log.ldf與testdb.mdf文件
5、 把需要附加的數據庫【testdb.mdf】文件拷貝到當前路徑。
6、啟動SQL Server服務,通過企業管理器連接數據庫。
7、此時的1步中新建的數據庫地址已經指向你需要附加數據庫的mdf文件了。但是現在數據庫還是無法打開的。
8、執行語句:ALTER DATABASE testdb SET EMERGENCY
9、執行語句:ALTER DATABASE testdb SET SINGLE_USER
10、執行語句:ALTER DATABASE testdb REBUILD LOG ON (NAME=dbname_log, FILENAME='C:\XXX\dbname_log.ldf')
其中FILENAME為你需要新建ldf日志的路徑已經ldf文件名稱。運行后會出現一條警告“執行后,會有警告信息“警告: 數據庫 'xhtyjbbs' 的日志已重新生成。已失去事務的一致性。RESTORE 鏈已斷開,服務器不再有以前的日志文件的上下文,因此您需要了解它們的內容。應運行 DBCC CHECKDB 驗證物理一致性。數據庫已置于 dbo-only 模式。在準備使數據庫可用時,需要重置數據庫選項,并刪除所有多余的日志文件。””別鳥他。
11、 DBCC CHECKDB(testdb , REPAIR_ALLOW_DATA_LOSS) 這一步會比較卡,可能會導致界面未響應。多等一會。成功后數據庫變成了單用戶模式,下面兩步驟修改成多用戶模式。
12、ALTER DATABASE testdb SET MULTI_USER
13、ALTER DATABASE testdb SET ONLINE
尾:
不出意外的話數據庫應該可以使用。
|
|