SQL Server數(shù)據(jù)庫的備份與還原以及在項(xiàng)目中是怎樣去實(shí)現(xiàn)的_第1頁
SQL Server數(shù)據(jù)庫的備份與還原以及在項(xiàng)目中是怎樣去實(shí)現(xiàn)的_第2頁
SQL Server數(shù)據(jù)庫的備份與還原以及在項(xiàng)目中是怎樣去實(shí)現(xiàn)的_第3頁
SQL Server數(shù)據(jù)庫的備份與還原以及在項(xiàng)目中是怎樣去實(shí)現(xiàn)的_第4頁
SQL Server數(shù)據(jù)庫的備份與還原以及在項(xiàng)目中是怎樣去實(shí)現(xiàn)的_第5頁
已閱讀5頁,還剩3頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、.:.;SQL Server數(shù)據(jù)庫的備份與復(fù)原以及在工程中是怎樣去實(shí)現(xiàn)的2021-03-13 11:39:21標(biāo)簽: HYPERLINK blog.51cto/tagindex.php?keyword=SQL+Server%CA%FD%BE%DD%BF%E2%B5%C4%B1%B8%B7%DD%D3%EB%BB%B9%D4%AD t _blank SQL Server數(shù)據(jù)庫的備份與復(fù)原-備份的設(shè)備有2種(暫時(shí)設(shè)備和永久設(shè)備) 留意:默許下的備份類型是完好備份-第一種:backup database Company to disk=d:backup1.bak-暫時(shí)設(shè)備/*假設(shè)這里不指定明確途徑的

2、話如:backup database company to disk=backup1.bak,那么備份的數(shù)據(jù)庫將會(huì)自動(dòng)備份到系統(tǒng)指定的目錄下:C:Program FilesMicrosoft SQL ServerMSSQL.1MSSQLBackup*/-第二種:/*第一步首先建立永久備份設(shè)備 系統(tǒng)自帶的存儲過程在master 數(shù)據(jù)庫中就會(huì)找到如圖1:*/-執(zhí)行語句如:exec sp_addumpdevice disk,disk_company,D:2.bak-永久設(shè)備-執(zhí)行結(jié)果就會(huì)出現(xiàn)如圖2:-多了一個(gè)備份設(shè)備:disk_company-第二步:backup database company

3、to disk_company with noinit -默許表示追加(不覆蓋)-好了 備份完成 !-如今我來復(fù)原數(shù)據(jù)庫(我用的是第一種方法備份的,所以我要第一種方法來復(fù)原) ,-原來的數(shù)據(jù)如圖3:-經(jīng)過我手動(dòng)刪除幾個(gè)表后的數(shù)據(jù)庫如圖4:-執(zhí)行語句:restore database Company from disk=d:backup1.bak -留意備份到哪里去就要從復(fù)原哪里來-執(zhí)行后會(huì)出現(xiàn)什么呢?請看錯(cuò)誤音訊:/*音訊 3159,級別 16,形狀 1,第 1 行尚未備份數(shù)據(jù)庫 company 的日志尾部。假設(shè)該日志包含您不希望喪失的任務(wù),請運(yùn)用 BACKUP LOG WITH NORECO

4、VERY 備份該日志。請運(yùn)用 RESTORE 語句的 WITH REPLACE 或 WITH STOPAT 子句來只覆蓋該日志的內(nèi)容。音訊 3013,級別 16,形狀 1,第 1 行RESTORE DATABASE 正在異常終止。*/-為什么會(huì)出現(xiàn)這種錯(cuò)誤呢 我們可以從錯(cuò)誤的音訊中找到處理方案!-我們?nèi)タ纯催@個(gè)數(shù)據(jù)庫的恢復(fù)方式如圖5:-由于如圖的恢復(fù)方式是 :完好; 所以它的功能是將一切事務(wù)都寫入日志,把一切數(shù)據(jù)庫文件的都復(fù)原-方案一:我如今只是復(fù)原的數(shù)據(jù)庫文件 并沒有備份日志文件 所以我再去備份日志文件backup log Company to disk=d:backup2.bak -備份日

5、志文件restore database Company from disk=d:backup1.bak -再去復(fù)原數(shù)據(jù)庫restore log Company from disk=d:backup2.bak-這步可有可無-執(zhí)行的結(jié)果為:如圖6:-方案二 由于錯(cuò)誤音訊中的提示:請運(yùn)用 RESTORE 語句的 WITH REPLACE 或 WITH STOPAT 子句來只覆蓋該日志的內(nèi)容。-音訊 3013,級別 16,形狀 1,第 1 行 所以 我想到去覆蓋掉日志文件 雖然恢復(fù)方式是完好的 但是我要覆蓋它 也是可以的-只是對數(shù)據(jù)庫的操作沒有日志沒有完全復(fù)原而已 也是可以的-執(zhí)行語句如下:resto

6、re database Company from disk=d:backup1.bak WITH REPLACE-執(zhí)行勝利/*已為數(shù)據(jù)庫 Company,文件 Company_Data (位于文件 1 上)處置了 224 頁。已為數(shù)據(jù)庫 Company,文件 Company_Log (位于文件 1 上)處置了 5 頁。RESTORE DATABASE 勝利處置了 229 頁,破費(fèi) 0.225 秒(8.319 MB/秒)。*/-方案三:我想了一下 我只是備份了數(shù)據(jù)庫,但是沒有備份日志文件 根據(jù)備份復(fù)原的原理/*恢復(fù)方式 闡明簡單 不用備份的事務(wù)日志,即可復(fù)原用于小型數(shù)據(jù)庫和不經(jīng)常更改的數(shù)據(jù)庫完好

7、 一切事務(wù)都被記錄到日志中保管一切日志,直到事務(wù)日志備份用于消費(fèi)數(shù)據(jù)庫大容量日志 完好恢復(fù)方式的補(bǔ)充不將大容量日志操作寫入日志*/-所以我修正了這個(gè)數(shù)據(jù)庫的屬性中的恢復(fù)方式 改為 “簡單-如圖7:-我直接執(zhí)行復(fù)原的代碼restore database Company from disk=d:backup1.bak/*執(zhí)行結(jié)果:已為數(shù)據(jù)庫 Company,文件 Company_Data (位于文件 1 上)處置了 224 頁。已為數(shù)據(jù)庫 Company,文件 Company_Log (位于文件 1 上)處置了 5 頁。RESTORE DATABASE 勝利處置了 229 頁,破費(fèi) 0.224 秒

8、(8.356 MB/秒)。*/-三種復(fù)原的處理方案勝利-但是這用到工程中數(shù)據(jù)庫正在運(yùn)用的話是不勝利的 ,它具有排它性 !-所以我寫了一個(gè)存儲過程來處理,這也是很多程序員花了很久才處理的問題-代碼用法如下 :有附帶的例子 HYPERLINK filesblogs/qinpengming/BackUpDBSolution.rar 下載-創(chuàng)建存儲過程killspidcreate proc killspid (dbname varchar(20)asbegindeclare sql nvarchar(500)declare spid intset sql=declare getspid cursor

9、forselect spid from sysprocesses where dbid=db_id( HYPERLINK mailto:+dbname+) +dbname+)exec (sql)open getspidfetch next from getspid into spidwhile fetch_status -1beginexec(kill HYPERLINK mailto:+spid +spid)fetch next from getspid into spidendclose getspiddeallocate getspidendGO-闡明:-1.此存儲過程應(yīng)寫在Master中;-2.以上代碼就是處理由于數(shù)據(jù)庫正在運(yùn)用,所以未能獲得對數(shù)據(jù)庫的排它訪問權(quán)的問題,不然系統(tǒng)有時(shí)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論