MS SQL BackUp 指令 參數說明

Posted: 2024 年 02 月 16 日 in SQL

選項 描述
BLOCKSIZE 實體區塊大小,單位為字節。
DESCRIPTION 指定備份集合的文字說明。對於還原時定位正確的備份集合十分有用。
DIFFERENTIAL 指定一個差異備份。這個選項只在使用完全數據庫備份有用。
EXPIREDATE = date |
RETAINDAYS = days EXPIREDATE 選項指定備份集合到期的日期(可以被覆寫)。RETAINDAYS 選項指定備份集合到期前的天數。
PASSWORD = password 指定備份的密碼。提供備份本身較大的安全性。
FORMAT | NOFORMAT FORMAT 選項指定媒體標題將被重寫,因此會使媒體中的原始數據無效。NOFORMAT 指定媒體標題將不被重寫。
INIT | NOINIT INIT 選項指定備份集合位於媒體的第一個檔案中並保存媒體標題,但覆寫媒體中的所有數據。也就是說,INIT覆寫在磁帶上的任何內容。NOINIT 選項指定備份附加到媒體中。如果您要重新使用磁帶,您將需要使用這個選項。
MEDIADESCRIPTION = text 設定媒體集合的說明。
MEDIANAME = media_name 指定媒體的名稱。
MEDIAPASSWORD = password 指定媒體集合的密碼
NAME = backup_set_name 設定備份集合名稱
NOSKIP | SKIP NOSKIP 選項指定在備份集合被覆寫前,檢查媒體中備份集合的到期日期。SKIP 選項不檢查到期日期。
NO_TRUNCATE 指定在備份後不刪減交易記錄文件。這個選項只在記錄文件備份中有用。
NOUNLOAD | UNLOAD NOUNLOAD 選項指定在完成備份後,媒體不被卸載(例如,不退出磁帶)。UNLOAD 選項指定在完成備份後,卸載媒體。
RESTART 指示 SQL Server 重新啟動被中斷的備份。
STATS [ = percentage ] 在完成指定備份的百分率後,顯示一個訊息。如果您想要檢視操作的過程,這個選項將會是有用的。
請確認您指定了備份附加到媒體中,或是應該覆寫媒體;您選擇的選項會影響到寫入磁帶中數據的數量。如果您正要備份數據到一個已經使用過的磁帶裝置上,卻沒有清除這個磁帶,也沒有指定要覆寫磁帶,您將發現磁帶的空間很快就用完了。在附加模式中,備份程序將只使用磁帶末端的可用空間。
________________________________________
真實世界 使用BACKUP
這裡有一些使用 BACKUP T-SQL 指令的例子。
下面的例子為 Example 數據庫備份數據文件:
BACKUP DATABASE Example
TO Backup_Dev_1, Backup_Dev_2
WITH
DESCRIPTION = “DB backup of example",
STATS = 5
GO
備份裝置是 Backup_Dev_1 和 Backup_Dev_2,並當每完成備份的 5% 就會顯示統計數字。注意,在先前的例子中提供備份的說明。
如果您在一個小的數據庫上測試這個例子,例如 Northwind,您看到的統計數字並不是 5% 的增量,您可能看到如 7%、16% 等的增量。這種差異的出現是因為備份程序一次讀取和寫入大於整個備份的 5%,這時就顯示那些較大的增量。對於較大的數據集合,寫入的增量將比 5% 小,所以將按照預設的顯示。
下面的陳述式將備份 Example 數據庫的交易記錄文件:
BACKUP LOG Example
TO Backup_Dev_3, Backup_Dev_4
WITH
DESCRIPTION = “DB backup of example",
STATS = 25
GO
備份裝置是 Backup_Dev_3 和 Backup_Dev_4,統計數字將顯示出 25% 的間隔時間。輸出結果顯示已完成操作和備份結果的百分率。您將會被通知備份了多少頁面、備份花了多長時間、以及備份的速度(MB/sec)。

________________________________________

–清除交易紀錄檔
backup log DB_NAME with truncate_only
go

–壓縮資料庫釋放空間
dbcc shrinkdatabase (DB_NAME, 10)
go

________________________________________

USE [master]
GO

-- 完整備份資料庫
BACKUP DATABASE [Source] TO DISK = 'E:\Backup\Source_Full.BAK' WITH INIT
GO

-- 檢查備份檔是否 OK
RESTORE VERIFYONLY FROM DISK = 'E:\Backup\Source_Full.BAK'
GO

-- 列出備份檔案內包含哪些資料庫檔案
RESTORE FILELISTONLY FROM DISK = 'E:\Backup\Source_Full.BAK'
GO

-- 列出備份檔的備份資訊
RESTORE HEADERONLY FROM DISK = 'E:\Backup\Source_Full.BAK'
GO

發表留言