備份還原 資料庫備份和還原

2021-05-01 02:36:42 字數 2632 閱讀 6933

最近在搞封閉開發,有些東西基本上都忘記了,在網上重新搜尋了一下貼子,總結了一下檔案組備份和還原的一些東西;

環境:microsoft corporation  developer edition on windows nt 5.1 (build 2600: service pack 3, v.5755)

1、建立還原裝置;

建立還原裝置語法:

use people

go exec sp_addumpdevice 'disk', 'back1', 'e:/back_1.bak'

gouse people

go exec sp_addumpdevice 'disk', 'back2', 'e:/back_2.bak'

go關於裝置還原,見另一貼:

2、完全備份資料庫

完整資料庫備份的基本 transact-sql 語法如下:

backup database people

to back1,back2

with init,name='people_fullbackup_20090721'

--已為資料庫 'people',檔案 'people' (位於檔案 1 上)處理了 109896 頁。

--已為資料庫 'people',檔案 'people_log' (位於檔案 1 上)處理了 1 頁。

--backup database 成功處理了 109897 頁,花費 57.675 秒(14.886 mb/秒)。

3、差異備份

backup database people

to back1,back2

with differential,name='people_fulldiff_20090721'

--已為資料庫 'people',檔案 'people' (位於檔案 3 上)處理了 32 頁。

--已為資料庫 'people',檔案 'people_log' (位於檔案 3 上)處理了 1 頁。

--backup database with differential 成功處理了 33 頁,花費 0.303 秒(0.828 mb/秒)。

4、備份日誌

日誌備份語法:

backup log people

to back1,back2

with name='people_logbackup_20090721'

--已為資料庫 'people',檔案 'people_log' (位於檔案 4 上)處理了 196 頁。

--backup log 成功處理了 196 頁,花費 0.269 秒(5.679 mb/秒)。

5、檢查備份記錄

use msdb

goselect backup_set_id,media_set_id,position,name,type

from backupset

backupset 系統表

--result

13    13    1    people_fullbackup_20090721    d

14    13    2    people_fulldiff_20090721    i

15    13    3    people_fulldiff_20090721    i

16    13    4    people_logbackup_20090721    l

17    13    5    people_logbackup_20090721    l

6、還原資料庫

use master

gorestore database people

from back1,back2

with file=1,norecovery

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

go--還原差異備份

restore database people

from back1,back1

with file=2,norecovery

go--還原日誌,在尾日誌之前有多少日誌備份,都要還原。

--recovery將資料庫恢復到聯機狀態。

restore log people   

from back1,back1

with file=3,recovery

go詳細日誌備份還原,見:

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

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

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

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

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

7、清除

exec sp_dropdevice 'back1';

exec sp_dropdevice 'back2';

drop database people;

備份 還原資料庫

備份資料庫 backup database test 這裡的test指的是資料庫名稱 to disk d backup.bak 這裡指名的資料庫路徑 backup.bak為備份檔案名 with format,name full backup of mynwind 這個是備註,無所謂。隨便寫 還原資料...

資料庫備份和還原過程

1 新建資料庫例項注意字符集為utf 8 2 命令列下 c set oracle sid eas 注意例項名未大寫例項名 定義預設例項 c sqlplus nolog 3 使用者system使用者登入 sql user password as sysdba 登入sqlplus建立目錄 sql cre...

mysql資料庫備份和還原

備份mysql資料庫的命令 mysqldump hhostname uusername ppassword databasename backupfile.sql 備份mysql資料庫為帶刪除表的格式 備份mysql資料庫為帶刪除表的格式,能夠讓該備份覆蓋已有資料庫而不需要手動刪除原有資料庫。mys...