麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁(yè) > 學(xué)院 > 編程設(shè)計(jì) > 正文

多種SQL Server數(shù)據(jù)庫(kù)備份方法的精細(xì)講述教程

2020-06-27 15:27:18
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
本文假定您 能熟練使用SQL Server EntERPrise Manager(SQL Server企業(yè)管理器)和SQL Server Quwey Analyser(SQL Server查詢(xún)分析器)

1.正常的備份、SQL數(shù)據(jù)庫(kù)恢復(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
s_attach_db [@dbname =] ′dbname′, [@filename1 =] ′filename_n′ [,...16]
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',
'C:Program FilesMicrosoft SQL ServerMSSQLDatatest_data.mdf',
'C:Program FilesMicrosoft SQL ServerMSSQLDatatest_log.ldf'
sp_attach_single_file_db 'test','C:Program FilesMicrosoft SQL ServerMSSQLDatatest_data.mdf'

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)類(lèi)似下面的提示信息:
  設(shè)備激活錯(cuò)誤。
  物理文件名 'C:Program FilesMicrosoft SQL ServerMSSQLdatatest_Log.LDF' 可能有誤。
  已創(chuàng)建名為 'C:Program FilesMicrosoft SQL ServerMSSQLDatatest_log.LDF' 的新日志文件。
  但是,如果您的數(shù)據(jù)庫(kù)文件是從其他計(jì)算機(jī)上復(fù)制過(guò)來(lái)的,那么很不幸,也許上述辦法就行不通了。你也許會(huì)得到類(lèi)似下面的錯(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)。

use master
go
sp_configure 'allow updates',1
go
reconfigure with override
go
F.設(shè)置test為緊急修復(fù)模式:
  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ù)日志文件:
  dbcc rebuild_log('test','C:Program FilesMicrosoft SQL ServerMSSQLDatatest_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)該類(lèi)似于:
  警告: 數(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í)可以訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)里面的用戶(hù)表了。
H.驗(yàn)證數(shù)據(jù)庫(kù)一致性: 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)
  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ǔ)句完成:
sp_configure 'allow updates',0
go
reconfigure with override
go
發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 精品国产乱码久久久久久丨区2区 | 91超在线 | 九九精品视频免费 | 狠狠干五月天 | 欧美成人理论片乱 | 成人性视频欧美一区二区三区 | 久久亚洲春色中文字幕久久 | a视频在线看 | 亚洲精品欧美二区三区中文字幕 | 一区二区三区在线观看国产 | 水卜樱一区二区av | 国产69精品99久久久久久宅男 | 亚a在线| av手机在线电影 | 羞羞视频免费网站日本动漫 | 久久成人免费网站 | 欧美大电影免费观看 | 国产精品久久久久久久久久久久久久久久 | 国产无遮挡一区二区三区毛片日本 | 欧美激情猛片xxxⅹ大3 | av电影免费在线看 | 一区二区精品在线 | 日韩毛片一区二区三区 | www69xxxxx| 国产精品99久久99久久久二 | 羞羞网站视频 | 久久久婷婷一区二区三区不卡 | 亚洲网站一区 | 久久久www成人免费精品 | 久久成年人视频 | 久久精品国产久精国产 | 免费a级观看 | 亚洲国产成人一区二区 | 黄色片网站在线看 | 毛片大全免费 | 在线观看国产网站 | 国产亚洲精品久久久久久网站 | 成人精品久久 | 国产午夜精品久久久久婷 | 91网站免费观看 | 女人解衣喂奶电影 |