国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > SQL Server > 正文

SQL Server日志文件丟失的恢復方法

2024-08-31 00:48:52
字體:
來源:轉載
供稿:網友
一、 概述

  在應用系統中,數據庫往往是最核心的部分,一旦數據庫毀壞或損壞,將會帶來巨大的損失,所以數據庫的管理越來越重要。我們在做數據庫管理與維護工作中,不可避免會出現各種各樣的錯誤,本文針對數據庫的日志文件丟失時如何利用mdf文件恢復數據庫的方法進行了研究。

  二、 數據庫的恢復

  當數據庫的主數據mdf文件完好無損時,在丟失了ldf文件的情況下,如何利用mdf文件恢復數據庫?我們把sql server的日志文件分為兩類:一類是無活動事務的日志,另一類是含活動事務的日志,根據不同的日志,采取不同的方法來恢復數據庫。

  1. 無活動事務的日志恢復

  無活動事務的日志丟失時,我們很容易利用mdf文件直接恢復數據庫,具體方法如下:

  ①.分離被質疑的數據庫,可用企業管理器中的"分離數據庫工具",或者用存儲過程sp_detach_db分離數據庫;

  ②利用mdf文件附加數據庫生成新的日志文件,可用企業管理器中的"附加數據庫"的工具,或者用存儲過程sp_attach_single_file_db附加數據庫。

  如果數據庫的日志文件中含有活動事務,利用此方法就不能恢復數據庫。

  2. 含活動事務的日志恢復

  含有活動事務的日志丟失時,利用上述方法就會出現"數據庫和日志文件不符合,不能附加數據庫"。對于這種情況下,我們采用如下方法:

  ①新建同名數據庫aaa,并設它為緊急模式

  ·停止sql server服務器;

  ·把數據庫主數據mdf文件移走;

  ·啟sql server服務器,新建一個同名的數據庫aaa;

  ·停止sql server服務器,把移走的mdf文件再覆蓋回來;

  ·啟動sql server服務器,把aaa設為緊急模式,不過默認情況下,系統表是不能隨便修改的,必須首先設置一下使其能被修改,運行以下語句即可:

use master
go
sp_configure ’allow updates’,1
reconfigure with override
go

  接著運行以下語句,把aaa數據庫設為緊急模式,即把sysdatabases表中aaa數據庫的status屬性設為’37268’,就表示把aaa數據庫處于緊急模式。

update sysdatabases set status=32768 where hame=’aaa’

  如果沒有報告什么錯誤,就可以進行以下操作。

  ②設置數據庫aaa為單用戶模式,并檢查數據庫

  ·重啟sql server服務器;

  ·把數據庫aaa設為單用戶模式

sp_dboption ’aaa’, ’single user’, ’true’

  ·運行以下語句,檢查數據庫aaa

dbcc checkdb(’aaa’)

  如果沒有什么大的問題就可以把數據庫的狀態改回去。

  ③還原數據庫的狀態

  運行以下語句,就可以把數據庫的狀態還原:

update sysdatabases set status=28 where name=’aaa’
sp_configure ’allow updates’,0
reconfigure with override
go

  如果沒有什么大的問題,刷新一下數據庫,數據庫aaa又會出現在你面前,但目前恢復工作還沒有做完,此時的數據庫仍不能工作,還要進行下面的處理,才能真正恢復。

  ④利用dts的導入導出向導,把數據庫aaa導入到一個新建數據庫bbb中

  ·新建一個數據庫bbb;

  ·右擊bbb,選擇import功能,打開導入向導;

  ·目標源選擇"在sql server數據庫之間復制對象和數據庫",這樣可以把表結構,數據視圖和存儲過程導入到bbb中

  ·再用此功能把bbb庫替換成原來的aaa庫即可。

  到此為止,數據庫aaa就完全恢復。

  三、 小結

  日志文件丟失是一件非常危險的事情,很有可能你的數據庫徹底毀壞。sql server數據庫的恢復都是靠日志文件來完成,所以無論如何都要保證日志文件的存在,它至關重要。為了使我們的數據庫萬無一失,最好采用多種備份方式相結合,所以我們要從心里重視數據庫的管理與維護工作。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 白山市| 克东县| 仲巴县| 侯马市| 佛坪县| 甘孜县| 河北区| 庄河市| 德清县| 永安市| 建湖县| 满洲里市| 泽州县| 元氏县| 攀枝花市| 穆棱市| 叶城县| 麻城市| 克东县| 陆丰市| 枞阳县| 象州县| 潼关县| 佛教| 顺昌县| 东山县| 金山区| 贵德县| 长春市| 察隅县| 嘉禾县| 铁岭县| 澄城县| 光泽县| 绵竹市| 宁河县| 特克斯县| 麟游县| 涟水县| 内丘县| 会宁县|