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

SQL Server文件恢復(fù)的2個(gè)好用方案

數(shù)據(jù)庫(kù) SQL Server
我們今天要和大家一起分享的是SQL Server數(shù)據(jù)庫(kù)文件恢復(fù)方法,其中包括正常的備份、恢復(fù)方式,mdf文件的恢復(fù)技術(shù)相關(guān)內(nèi)容的描述。

此文章主要向大家講述的是掌握SQL Server文件恢復(fù)方法,我們大家都知道SQL Server數(shù)據(jù)庫(kù)備份有兩種方式,一種是使用BACKUP DATABASE將數(shù)據(jù)庫(kù)文件備份出去,另外一種就是直接拷貝數(shù)據(jù)庫(kù)文件mdf和日志文件ldf的方式。

 

下面將主要討論一下后者的備份與恢復(fù)。本文假定您能熟練使用SQL Server Enterprise Manager(SQL Server企業(yè)管理器)和SQL Server Quwey Analyser(SQL Server查詢分析器)。

輕松掌握SQL Server文件恢復(fù)技術(shù)1、正常的備份、恢復(fù)方式

正常方式下,我們要備份一個(gè)數(shù)據(jù)庫(kù),首先要先將該數(shù)據(jù)庫(kù)從運(yùn)行的數(shù)據(jù)服務(wù)器中斷開(kāi),或者停掉整個(gè)數(shù)據(jù)庫(kù)服務(wù)器,然后復(fù)制文件。

以下是引用片段:

卸下數(shù)據(jù)庫(kù)的命令:Sp_detach_db 數(shù)據(jù)庫(kù)名

連接數(shù)據(jù)庫(kù)的命令:Sp_attach_db或者sp_attach_single_file_db

 

 

  1. s_attach_db [@dbname =] ′dbname′, [@filename1 =] ′filename_n′ [,...16]  
  2. sp_attach_single_file_db [@dbname =] ′dbname′, [@physname =] ′physical_name′  

使用此方法可以正確恢復(fù)SQL Sever7.0和SQL Server 2000的數(shù)據(jù)庫(kù)文件,要點(diǎn)是備份的時(shí)候一定要將mdf和ldf兩個(gè)文件都備份下來(lái),mdf文件是數(shù)據(jù)庫(kù)數(shù)據(jù)文件,ldf是數(shù)據(jù)庫(kù)日志文件。

例子:

假設(shè)數(shù)據(jù)庫(kù)為test,其數(shù)據(jù)文件為test_data.mdf,日志文件為test_log.ldf。

下面我們討論一下如何備份、恢復(fù)該數(shù)據(jù)庫(kù)。

以下是引用片段:

卸下數(shù)據(jù)庫(kù):sp_detach_db ’test’

連接數(shù)據(jù)庫(kù):sp_attach_db ’test’,

 

 

  1. ’C:\Program Files\Microsoft SQL  
  2. Server\MSSQL\Data\test_data.mdf’,  
  3. ’C:\Program Files\Microsoft SQL Server  
  4. \MSSQL\Data\test_log.ldf’  
  5. sp_attach_single_file_db ’test’,  
  6. ’C:\Program Files\Microsoft SQL Server  
  7. \MSSQL\Data\test_data.mdf’  

輕松掌握SQL Server文件恢復(fù)技術(shù)2、只有mdf文件的恢復(fù)技術(shù)

由于種種原因,我們?nèi)绻?dāng)時(shí)僅僅備份了mdf文件,那么恢復(fù)起來(lái)就是一件很麻煩的事情了。

如果您的mdf文件是當(dāng)前數(shù)據(jù)庫(kù)產(chǎn)生的,那么很僥幸,也許你使用sp_attach_db或者sp_attach_single_file_db可以恢復(fù)數(shù)據(jù)庫(kù),但是會(huì)出現(xiàn)類似下面的提示信息

設(shè)備激活錯(cuò)誤。

物理文件名 ‘C:\Program Files\Microsoft SQL Server\MSSQL\data\test_Log.LDF’可能有誤。

已創(chuàng)建名為 ‘C:\Program Files\Microsoft SQL Server\MSSQL\Data\test_log.LDF’ 的新日志文件。

但是,如果您的數(shù)據(jù)庫(kù)文件是從其他計(jì)算機(jī)上復(fù)制過(guò)來(lái)的,那么很不幸,也許上述辦法就行不通了。

你也許會(huì)得到類似下面的錯(cuò)誤信息:

服務(wù)器: 消息 1813,級(jí)別 16,狀態(tài) 2,行 1

未能打開(kāi)新數(shù)據(jù)庫(kù) ‘test’。CREATE DATABASE 將終止。

設(shè)備激活錯(cuò)誤。物理文件名 ‘d:\test_log.LDF’ 可能有誤。

怎么辦呢?別著急,下面我們舉例說(shuō)明恢復(fù)辦法。

A.我們使用默認(rèn)方式建立一個(gè)供恢復(fù)使用的數(shù)據(jù)庫(kù)(如test)。可以在SQL Server Enterprise Manager里面建立。

B.停掉數(shù)據(jù)庫(kù)服務(wù)器。

C.將剛才生成的數(shù)據(jù)庫(kù)的日志文件test_log.ldf刪除,用要恢復(fù)的數(shù)據(jù)庫(kù)mdf文件覆蓋剛才生成的數(shù)據(jù)庫(kù)數(shù)據(jù)文件test_data.mdf。

D.啟動(dòng)數(shù)據(jù)庫(kù)服務(wù)器。此時(shí)會(huì)看到數(shù)據(jù)庫(kù)test的狀態(tài)為”置疑”。這時(shí)候不能對(duì)此數(shù)據(jù)庫(kù)進(jìn)行任何操作。

E.設(shè)置數(shù)據(jù)庫(kù)允許直接操作系統(tǒng)表。此操作可以在SQL Server Enterprise Manager里面選擇數(shù)據(jù)庫(kù)服務(wù)器,按右鍵,選擇”屬性”,在”服務(wù)器設(shè)置”頁(yè)面中將”允許對(duì)系統(tǒng)目錄直接修改”一項(xiàng)選中。也可以使用如下語(yǔ)句來(lái)實(shí)現(xiàn)。

以下是引用片段:

  1. use master  
  2. go  
  3. sp_configure ’allow updates’,1  
  4. go  
  5. reconfigure with override  
  6. go  

F.設(shè)置test為緊急修復(fù)模式

以下是引用片段:

  1. update sysdatabases set status=-32768 where dbid=DB_ID(’test’)  

此時(shí)可以在SQL Server Enterprise Manager里面看到該數(shù)據(jù)庫(kù)處于”只讀\置疑\脫機(jī)\緊急模式”可以看到數(shù)據(jù)庫(kù)里面的表,但是僅僅有系統(tǒng)表。

G.下面執(zhí)行真正的恢復(fù)操作,重建數(shù)據(jù)庫(kù)日志文件

以下是引用片段:

  1. dbcc rebuild_log(’test’,'C:\Program Files\Microsoft SQL Server\MSSQL\Data\test_log.ldf’)  

執(zhí)行過(guò)程中,如果遇到下列提示信息:

服務(wù)器: 消息 5030,級(jí)別 16,狀態(tài) 1,行 1

未能排它地鎖定數(shù)據(jù)庫(kù)以執(zhí)行該操作。

DBCC 執(zhí)行完畢。如果 DBCC 輸出了錯(cuò)誤信息,請(qǐng)與系統(tǒng)管理員聯(lián)系。

說(shuō)明您的其他程序正在使用該數(shù)據(jù)庫(kù),如果剛才您在F步驟中使用SQL Server Enterprise Manager打開(kāi)了test庫(kù)的系統(tǒng)表,那么退出SQL Server Enterprise Manager就可以了。

正確執(zhí)行完成的提示應(yīng)該類似于:

警告: 數(shù)據(jù)庫(kù) ‘test’ 的日志已重建。已失去事務(wù)的一致性。應(yīng)運(yùn)行 DBCC CHECKDB 以驗(yàn)證物理一致性。將必須重置數(shù)據(jù)庫(kù)選項(xiàng),并且可能需要?jiǎng)h除多余的日志文件。

DBCC 執(zhí)行完畢。如果 DBCC 輸出了錯(cuò)誤信息,請(qǐng)與系統(tǒng)管理員聯(lián)系。

此時(shí)打開(kāi)在SQL Server Enterprise Manager里面會(huì)看到數(shù)據(jù)庫(kù)的狀態(tài)為”只供DBO使用”。此時(shí)可以訪問(wèn)數(shù)據(jù)庫(kù)里面的用戶表了。

H.驗(yàn)證數(shù)據(jù)庫(kù)一致性(可省略)

以下是引用片段:

  1. dbcc checkdb(’test’) 

一般執(zhí)行結(jié)果如下:

CHECKDB 發(fā)現(xiàn)了 0 個(gè)分配錯(cuò)誤和 0 個(gè)一致性錯(cuò)誤(在數(shù)據(jù)庫(kù) ‘test’ 中)。

DBCC 執(zhí)行完畢。如果 DBCC 輸出了錯(cuò)誤信息,請(qǐng)與系統(tǒng)管理員聯(lián)系。

I.設(shè)置數(shù)據(jù)庫(kù)為正常狀態(tài)

  1. sp_dboption ‘test’,'dbo use only’,'false’ 

如果沒(méi)有出錯(cuò),那么恭喜,現(xiàn)在就可以正常的使用恢復(fù)后的數(shù)據(jù)庫(kù)啦。

J.***一步,我們要將步驟E中設(shè)置的”允許對(duì)系統(tǒng)目錄直接修改”一項(xiàng)恢復(fù)。因?yàn)槠綍r(shí)直接操作系統(tǒng)表是一件比較危險(xiǎn)的事情。當(dāng)然,我們可以在SQL Server Enterprise Manager里面恢復(fù),也可以使用如下語(yǔ)句完成。

以下是引用片段:

  1. sp_configure ’allow updates’,0  
  2. go  
  3. reconfigure with override  
  4. go  

 以上的相關(guān)內(nèi)容就是對(duì)輕松掌握SQL Server文件恢復(fù)技術(shù)的介紹,望你能有所收獲。

【編輯推薦】

  1. Oracle數(shù)據(jù)庫(kù)索引和SQL Server的闡述
  2. 微軟將改變對(duì)SQL Server 2008 R2的虛擬化授權(quán)策略
  3. SQL Server 2008 R2連連看 需要微軟平臺(tái)配合
  4. 詳解SQL Server 2008復(fù)制分區(qū)清理數(shù)據(jù)
  5. 安裝MySQL Server 5.0在Linux上
責(zé)任編輯:佚名 來(lái)源: 博客園
相關(guān)推薦

2010-07-16 10:12:21

SQL Server導(dǎo)

2010-07-01 14:23:25

SQL Server查

2010-07-07 16:46:52

SQL Server日

2010-07-12 17:25:32

SQL Server海

2010-07-21 11:38:59

SQL Server重

2010-07-19 10:08:56

SQL Server

2010-07-23 15:09:42

SQL Server刪

2010-07-23 16:21:37

SQL Server重

2010-07-09 14:23:10

SQL Server圖

2010-07-05 11:32:23

SQL Server自

2010-07-01 12:44:52

SQL Server數(shù)

2010-10-19 14:11:20

SQL SERVER恢

2010-10-19 14:19:07

SQL Server恢

2010-07-14 10:32:26

SQL Server查

2010-07-02 10:33:18

SQL Server單

2010-08-06 13:45:11

DB2提高IMPORT

2011-04-02 11:02:54

SQL Server數(shù)文件恢復(fù)

2010-07-15 08:50:11

2010-07-22 09:48:14

SQL Server全

2010-07-19 10:15:33

SQL Server2
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)