轉 SQL的完整備份和還原

2021-09-06 04:14:09 字數 2111 閱讀 4504

from :

對於資料庫來說,備份和還原無疑是非常重要的。今天就在自己的機器上學習並操作了一下,總結一下。

我用的是2005,今天先總結的是完整資料庫備份和還原。

1、首先先建立備份裝置

exec sp_addumpdevice 'disk', 'myback1', 'd:\backup\myback1.bak'

goexec sp_addumpdevice 'disk', 'myback2', 'd:\backup\myback2.bak'

go2、完整備份資料庫test

backup database test

to myback1,myback2

with init,name='test_fullbackup_20090521'

在with選項裡面中,有兩個要注意的選項是init和format,使用這兩個選項都會破壞備份裝置中已經存在的備份,而且使用的時候兩個不能同時使用。選項name指定備份的名稱,建議使用,不然到時還原的時候就不知道哪個是哪個了。還可以用選項medianame指定備份**的名稱,一般不需要。

3、差異備份資料庫test

在對資料庫做了更改後,可以對資料庫進行差異備份。

backup database test

to myback1,myback2

with differential,name='test_fulldiff_20090521'

4、備份資料庫test日誌

backup log test

to myback1,myback2

with name='test_logbackup_20090521'

可以將日誌和資料備份到同乙個備份裝置,但在實際運用中為了效能等因素,一般是將日誌和資料備份到不同裝置。

在上一次備份日誌之後,如果做了什麼錯誤更改或變動,不得不還原資料,如果直接還原的話,將會報錯,

所以在還原之前,請先做乙個尾日誌備份,

尤其是在系統發生故障的時候,如果可能,應該馬上進行尾日誌備份,以幫助還原到故障點時的狀態。

backup log test

to myback1,myback2

with name='test_log_tailbackup_20090521'

以上所做的備份均會在系統資料庫msdb中的系統表backupset留下記錄,可以用一下語句檢視:

上圖是我做測試時的結果,position顯示檔案的位置,還原時用得到,name就是備份的名稱,type就是備份的型別,d表示資料庫,i表示差異,l表示日誌。

4、還原資料庫test

還原的時候請注意,因為想將資料庫的狀態還原到備份尾日誌之前的狀態,所以還原的時候不要還原尾日誌,不然會出錯的,或者等於沒有還原。

use master

gorestore database test #還原完整的資料庫備份,檔案位置1,顯示指定norecovery允許進一步還原資料。

from myback1,myback2

with file=1,norecovery

gorestore database test #還原差異備份

from myback1,myback2

with file=2,norecovery

gorestore log test #還原日誌,在尾日誌之前有多少日誌備份,都要還原。

from myback1,myback2

with file=3,recovery #recovery將資料庫恢復到聯機狀態。go

完整資料庫備份+差異備份+日誌備份是現實應用常用的,其備份策略一般如下:

(1)每週六晚上對資料庫進行一次完整備份。

(2)每週三晚上對資料庫進行差異備份。

(3)每隔30分鐘進行一次事務日誌備份。

可以使用「資料庫維護計畫嚮導」設計為自動執行這一備份策略。備份時應該保證備份有幾份拷貝,並放於不同的位置,另外還應該測試一下備份的可用性,保證在還原的時候不出錯。

轉 SQL的完整備份和還原

from 對於資料庫來說,備份和還原無疑是非常重要的。今天就在自己的機器上學習並操作了一下,總結一下。我用的是2005,今天先總結的是完整資料庫備份和還原。1 首先先建立備份裝置 exec sp addumpdevice disk myback1 d backup myback1.bak goexe...

SqlServer 完整備份與還原

建立資料庫與建表等操作請參考這裡 sqlserver 建立資料庫 使用多個檔案組和物理磁碟 下圖是備份前的資料情況,其中customer表中一共四條記錄 下面開始執行完全備份,參考 sqlserver 備份資料庫 按時間命名備份檔案 備份之後可以看到備份目錄下已經生成的bak檔案 下面對custom...

SQL資料庫備份1 完整備份

完整備份 完整備份資料庫到物理備份裝置 backup database studb to disk e bak studb all.bak go 完整備份資料庫到邏輯備份裝置 backup database studb to bk bk e bak studb 邏輯備份.bak go 備份的驗證與校...