資料檔案的備份,可以通過Job,設定Schedule自動管理,而手工編寫TSQL腳本,實作起來十分靈活,并且能夠分布式備份。在資料量不大時,你使用backup database,能夠把資料庫備份到指定的硬碟中,但是,當資料庫增長到很大的size時,資料庫的備份檔案,即使壓縮,也會達到很大,甚至超過單個磁盤的存儲空間,這樣,就必需考慮分布式備份,把資料庫的備份分為N份,每一份都存儲在不同的硬碟上。
一:手寫TSQL 腳本
1,自動備份
每周進行一次Database 的 Full Backup,設定 Schedule Interval 為Weekly
每天進行一次Database的 Differential Backup,設定Schedule Interval 為Daily
2,自動删除備份檔案
資料庫的備份保留4周,28天,将早于28天前的資料庫備份删除,每周執行一次,設定Schedule Interval為Weekly
xp_delete_file 能夠删除标準的bak檔案,(RESTORE HEADERONLY可以傳回資料的),不能删除普通檔案。
存儲過程 xp_delete_file 有5個參數,按照順序,參數代表的含義是:
File Type = 0 for backup files or 1 for report files.
Folder Path = The folder to delete files. The path must end with a backslash "\".
File Extension = This could be 'BAK' or 'TRN' or whatever you normally use.
Date = The cutoff date for what files need to be deleted.
Subfolder = 0 to ignore subfolders, 1 to delete files in subfolders.
3,進行備份檔案分布式存儲的腳本
View Code
二,使用維護計劃(Maintenance Plan)

1,使用Backup Database Task 對資料庫進行Full Backup 和 Differential Backup
Backup Type:選擇Full 進行完整備份,選擇Differential進行差異備份。
Database(s):選擇進行備份的資料庫
Backup Component:選擇Database,對資料庫進行備份
勾選“Create a sub-directory for each database”,在Folder中設定backup devices存儲的Floder,在Backup file extension中指定backup file的擴充名
在 Set Backup Compression中選擇Compress Backup,對backup進行壓縮。
2,使用Maintenance Cleanup Task,将備份檔案删除
在Delete files of the following type 中選擇Backup files
在Search folder and delete files based on an extension 設定Folder(Backup files存儲的folder),File Extension(backup files的擴充名),勾選 “Include first-level subfolders",
File Age:設定被删除的backup files的建立時間
例如,該Task 會将位于 D:\TestBackupFolder\TestDB 下,建立時間早于4周前的 xxxxx.bak 删除。
三,使用SSIS Task來實作,Maintenance Plan 實際上也是通過SSIS Task 來實作的
在Other Tasks Catalog下,存在Backup Database Task 和 Maintenance Cleanup Task,設定和Maintenace Plan相同。
本文版權歸作者和部落格園所有,歡迎轉載,但未經作者同意,必須保留此段聲明,且在文章頁面醒目位置顯示原文連接配接,否則保留追究法律責任的權利。
本文轉自悅光陰部落格園部落格,原文連結:http://www.cnblogs.com/ljhdo/p/5668198.html,如需轉載請自行聯系原作者