文章目錄
- 14.2 尾記錄備份
- 14.2.1 圖形化尾記錄備份操作
- 14.2.2 用Backup Log陳述式完成尾記錄備份
14.2 尾記錄備份
對於將資料庫恢複到即時點,很好理解也很好操作。下面我們重點來研究將資料庫恢複到故障點時必不可少的操作,即尾記錄備份。
但是,需要注意的是,如果在Management Studio中按照預設設定是永遠無法完成尾記錄備份的。
14.2.1 圖形化尾記錄備份操作
圖14-7所示為選擇記錄備份的資料庫的【選項】選項卡。預設情況下選擇的是【截斷交易記錄】選項按鈕,這樣將永遠無法備份尾日誌。
提示:要完成尾記錄備份,需要在圖14-7中選擇“備份日誌尾部,並使資料庫處於還原狀態”選項。
圖14-7 【選項】選項卡
14.2.2 用Backup Log陳述式完成尾記錄備份
也可以直接執行Backup Log語句來完成記錄備份。下面介紹該語句的文法形式。
1.文法形式
Backup Log語句的文法形式如下。
BACKUP LOG { database_name | @database_name_var }
{
TO <backup_device> [ ,...n ]
[ [ MIRROR TO <backup_device> [ ,...n ] ] [ ...next-mirror ] ]
[ WITH
[ BLOCKSIZE = { blocksize | @blocksize_variable } ]
[ [ , ] { CHECKSUM | NO_CHECKSUM } ]
[ [ , ] { STOP_ON_ERROR | CONTINUE_AFTER_ERROR } ]
[ [ , ] DESCRIPTION = { 'text' | @text_variable } ]
[ [ , ] EXPIREDATE = { date | @date_var }
| RETAINDAYS = { days | @days_var } ]
[ [ , ] PASSWORD = { password | @password_variable } ]
[ [ , ] { FORMAT | NOFORMAT } ]
[ [ , ] { INIT | NOINIT } ]
[ [ , ] { NOSKIP | SKIP } ]
[ [ , ] MEDIADESCRIPTION = { 'text' | @text_variable } ]
[ [ , ] MEDIANAME = { media_name | @media_name_variable } ]
[ [ , ] MEDIAPASSWORD = { mediapassword | @mediapassword_variable } ]
[ [ , ] NAME = { backup_set_name | @backup_set_name_var } ]
[ [ , ] NO_TRUNCATE ]
[ [ , ] { NORECOVERY | STANDBY = undo_file_name } ]
[ [ , ] { NOREWIND | REWIND } ]
[ [ , ] { NOUNLOAD | UNLOAD } ]
[ [ , ] RESTART ]
[ [ , ] STATS [ = percentage ] ]
[ [ , ] COPY_ONLY ]
]
}
2.主要參數
對於其他參數讀者可以參閱聯機叢書的有關說明。與備份尾日誌有關的主要參數如下。
— NO_TRUNCATE:只與BACKUP LOG一起使用。指定不截斷日誌,並使資料庫引擎嘗試執行備份,而不考慮資料庫的狀態。該選項允許在資料庫損壞時備份日誌。
— BACKUP LOG的NO_TRUNCATE選項相當於同時指定COPY_ONLY和CONTINUE_AFTER_ERROR。
— NO_LOG | TRUNCATE_ONLY:通過放棄活動紀錄以外的所有日誌,無須備份複製日誌即可刪除不活動的日誌部分,並截斷日誌。該選項會釋放空間。因為並不儲存記錄備份,所以沒有必要指定備份裝置。NO_LOG和TRUNCATE_ONLY是同義的。使用NO_LOG或TRUNCATE_ONLY截斷日誌後,記錄在日誌中的更改不可恢複。為了進行恢複,請立即執行BACKUP DATABASE以執行完整備份或完整差異備份。
3.使用方法
要備份尾日誌,主要使用Truncate_Only參數就可以。本書的執行個體代碼如下。
BACKUP LOG [db_test] TO DISK = N'C:"test2.bak'
WITH NO_TRUNCATE ,
NOFORMAT,
NOINIT,
NAME = N'db_test-交易記錄 備份',
SKIP,
NOREWIND,
NOUNLOAD,
NORECOVERY ,
STATS = 10
GO