自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

SQLServer日志文件丟如何對其進行恢復?

數(shù)據(jù)庫 SQL Server
此文章主要向大家描述的是SQLServer日志文件丟失的正確恢復方法,下面就是其的主要內容的具體描述,望大家會有所收獲。

以下的文章主要是介紹SQLServer日志文件丟失的正確恢復方法。在實際操作中SQLServer日志文件丟失是一件令人十分頭疼的事情,以下的文章主要是針對這一問題給出的答案,以下就是正文的主要內容描述。

一、 概述

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

二、 數(shù)據(jù)庫的恢復

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

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

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

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

②利用MDF文件附加數(shù)據(jù)庫生成新的日志文件,可用企業(yè)管理器中的"附加數(shù)據(jù)庫"的工具,或者用存儲過程sp_attach_single_file_db附加數(shù)據(jù)庫。

如果數(shù)據(jù)庫的日志文件中含有活動事務,利用此方法就不能SQLServer日志文件丟失的恢復數(shù)據(jù)庫。

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

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

①新建同名數(shù)據(jù)庫AAA,并設它為緊急模式

停止SQL Server服務器;

把數(shù)據(jù)庫主數(shù)據(jù)MDF文件移走;

啟SQL Server服務器,新建一個同名的數(shù)據(jù)庫AAA;

停止SQL Server服務器,把移走的MDF文件再覆蓋回來;

啟動SQL Server服務器,把AAA設為緊急模式,不過默認情況下,系統(tǒng)表是不能隨便修改的,必須首先設置一下使其能被修改,運行以下語句即可:

  1. Use Master  
  2. Go  
  3. sp_configure ’allow updates’,1  
  4. reconfigure with override  
  5. Go 

接著運行以下語句,把AAA數(shù)據(jù)庫設為緊急模式,即把Sysdatabases表中AAA數(shù)據(jù)庫的status屬性設為’37268’,就表示把AAA數(shù)據(jù)庫處于緊急模式。

update sysdatabases set status=32768 where hame=’AAA’
如果沒有報告什么錯誤,就可以進行以下操作。

②設置數(shù)據(jù)庫AAA為單用戶模式,并檢查數(shù)據(jù)庫

重啟SQL Server服務器;

把數(shù)據(jù)庫AAA設為單用戶模式

Sp_dboption ’AAA’, ’single user’, ’true’
運行以下語句,檢查數(shù)據(jù)庫AAA

DBCC CHECKDB(’AAA’)
如果沒有什么大的問題就可以把數(shù)據(jù)庫的狀態(tài)改回去。

③還原數(shù)據(jù)庫的狀態(tài)

運行以下語句,就可以把數(shù)據(jù)庫的狀態(tài)還原:

  1. update sysdatabases set status=28 where name=’AAA’  
  2. sp_configure ’allow updates’,0  
  3. reconfigure with override  
  4. Go 

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

④利用DTS的導入導出向導,把數(shù)據(jù)庫AAA導入到一個新建數(shù)據(jù)庫BBB中

新建一個數(shù)據(jù)庫BBB;

右擊BBB,選擇IMPORT功能,打開導入向導;

目標源選擇"在SQL Server數(shù)據(jù)庫之間復制對象和數(shù)據(jù)庫",這樣可以把表結構,數(shù)據(jù)視圖和存儲過程導入到BBB中

再用此功能把BBB庫替換成原來的AAA庫即可。

到此為止,數(shù)據(jù)庫AAA就完全恢復。

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

【編輯推薦】

  1. SQL Server 2008綜合數(shù)據(jù)之可編程性
  2. SQL Server線程和纖程的配置與管理
  3. SQL Server 2005安全性的表現(xiàn)
  4. SQL Server日志清除的好用方案
  5. 如何實現(xiàn)SQL Server重復數(shù)據(jù)的刪除?
責任編輯:佚名 來源: 51CTO.com
相關推薦

2010-07-20 15:01:39

SQLServer日志

2010-05-17 17:09:29

Mysql LIMIT

2009-02-02 17:21:58

日志文件維護MySQL日志文件

2010-07-15 11:36:21

SQL Server歷

2021-02-07 00:09:35

數(shù)據(jù)泄漏漏洞網(wǎng)絡攻擊

2010-08-19 13:50:42

DB2catalog

2013-04-23 09:38:39

2014-05-21 09:14:00

VDI審計日志監(jiān)控監(jiān)控

2010-08-31 08:57:02

谷歌即時搜索功能

2014-05-21 14:03:55

日志監(jiān)控VDI

2022-12-01 14:02:02

MySQL數(shù)據(jù)文件

2010-08-13 09:55:33

DB2dart恢復數(shù)據(jù)

2010-10-13 14:37:49

2011-03-23 09:31:26

歸檔日志文件數(shù)據(jù)庫恢復

2020-09-25 22:14:22

TikTok程序禁令

2009-08-21 16:44:01

2019-02-28 21:20:50

MySQL備份與恢復數(shù)據(jù)庫

2010-09-01 16:17:40

SQL刪除日志

2022-03-15 09:23:25

mariaDB數(shù)據(jù)恢復數(shù)據(jù)庫

2011-01-20 10:33:30

Postfix
點贊
收藏

51CTO技術棧公眾號