一、SQL Server 2005數(shù)據(jù)庫定期備份
SQLServer2005的定期備份是通過創(chuàng)建“維護計劃”來實現(xiàn)的。主要有兩種方式:1、維護計劃向?qū)А?、新建維護計劃(用戶手工創(chuàng)建)
如果想在SQLServer2005中使用維護計劃來設(shè)計維護備份數(shù)據(jù)庫任務(wù)時,有一個前提條件:“SQL Server 代理”服務(wù)必須是啟用狀態(tài)
首先介紹使用維護計劃向?qū)韴?zhí)行數(shù)據(jù)庫的定期備份
操作過程:
1、 單擊:開始→程序→Microsoft SQL Server 2005→“SQL Server Management Studio”(圖1)
圖1
2、 右鍵單擊:SQL Server 代理→啟動(注:要執(zhí)行維護計劃,SQL Server 代理必須啟動?。?/span>
3、 右鍵單擊:管理→維護計劃→維護計劃向?qū)?,單擊“下一步”(圖2)
圖2
4、 在“選擇目標(biāo)服務(wù)器”窗口,依次設(shè)置“名稱”、“服務(wù)器”、“身份驗證”等信息,單擊“下一步”(圖3),
圖3
說明:身份驗證:安裝sqlserver2005時采用的驗證方式
5、 在“選擇維護任務(wù)”窗口,選擇準(zhǔn)備執(zhí)行的任務(wù),單擊“下一步”(圖4)
圖4
說明:
1) 在維護任務(wù)列表中勾選需要執(zhí)行的任務(wù),可多選
2) 下方黃色區(qū)域針對選擇的每項任務(wù)加以說明
6、 在“選擇維護任務(wù)順序”窗口,可以調(diào)整每項任務(wù)的執(zhí)行順序,單擊“下一步”(圖5)
圖5
說明:
1) 調(diào)整多個任務(wù)的先后執(zhí)行順序可通過上移和下移來實現(xiàn)
7、 在“定義備份數(shù)據(jù)庫(完整)任務(wù)”窗口,勾選需要備份的數(shù)據(jù)庫名稱,單擊下一步(圖6)
圖6
圖7
說明:
1) 選擇將備份文件備份到磁盤上
2) 指定備份文件存放的文件夾和位置
3) 勾選“驗證備份完整性”
8、 在“選擇計劃屬性”窗口,單擊“更改”按鈕打開“新建作業(yè)計劃窗口”,設(shè)置好各項參數(shù)后單擊“確定”按鈕(圖8)
圖8
說明:
1) 設(shè)置好各項參數(shù)后,在摘要說明欄中敘述了本次作業(yè)的詳細內(nèi)容
9、 再次回到“選擇計劃屬性”窗口,單擊下一步(圖9)
圖9
10、 在“選擇報告選項”窗口,設(shè)置報告的保存或分發(fā)方式,單擊下一步(圖10)
圖10
11、 顯示本次維護計劃的詳細信息,單擊完成(圖11)
至此,SQL Server 2005采用維護計劃即可以達到定期備份數(shù)據(jù)庫的目的。
二、SQL Server 2005數(shù)據(jù)庫備份定期清理
由于采用上述介紹的數(shù)據(jù)庫維護計劃,可以到達定期備份數(shù)據(jù)庫的目的,但是產(chǎn)生了一個問題,數(shù)據(jù)庫備份定期一直在生成,如果大的數(shù)據(jù)庫一個備份文件達幾GB,長期備份的話,硬盤將滿了,并且保存太長時間的備份也沒有太大必要,因此如何定期清理這些備份是我們接下來要介紹的。有很多種方法可以實現(xiàn)定期清理備份,本文介紹一種實現(xiàn)方法——采用forfiles命令,這個命令在Windows Server 2003系統(tǒng)中存在,在XP中并不存在,因此需要下載安裝。
1. 下載forfiles并安裝。
下載forfiles,并且拷貝forfiles.exe至具備環(huán)境變量的目錄下(比如:C:/WINDOWS/system32)。這樣你就可以在命令提示符中用forfiles命令了。 下載地址:http://download.csdn.net/source/1812302
2. forfiles命令簡介
FORFILES [/P pathname] [/M searchmask] [/S]
[/C command] [/D [+ | -] {yyyy-MM-dd | dd}]
描述:
選擇一個文件(或一組文件)并在那個文件上
執(zhí)行一個命令。這有助于批處理作業(yè)。
參數(shù)列表:
/P pathname 表示開始搜索的路徑。默認(rèn)文件夾是當(dāng)前工作的
目錄 (.)。
/M searchmask 根據(jù)搜索掩碼搜索文件。默認(rèn)搜索掩碼是 '*'。
/S 指導(dǎo) forfiles 遞歸到子目錄。像 "DIR /S"。
/C command 表示為每個文件執(zhí)行的命令。命令字符串應(yīng)該
用雙引號括起來。
默認(rèn)命令是 "cmd /c echo @file"。下列變量
可以用在命令字符串中:
@file - 返回文件名。
@fname - 返回不帶擴展名的文件名。
@ext - 只返回文件的擴展。
@path - 返回文件的完整路徑。
@relpath - 返回文件的相對路徑。
@isdir - 如果文件類型是目錄,返回 "TRUE";
如果是文件,返回 "FALSE"。
@fsize - 以字節(jié)為單位返回文件大小。
@fdate - 返回文件上一次修改的日期。
@ftime - 返回文件上一次修改的時間。
要在命令行包括特殊字符,字符請以 0xHH
形式使用十六進制代碼(例如,0x09 為 tab)。
內(nèi)部 CMD.exe 命令前面應(yīng)以 "cmd /c" 開始。
/D date 選擇文件,其上一次修改日期大于或等于 (+),
或者小于或等于 (-) 用 "yyyy-MM-dd" 格式指定的日
或選擇文件,其上一次修改日期大于或等于 (+)
當(dāng)前日期加 "dd" 天,或者小于或等于 (-) 當(dāng)前
日期減 "dd" 天。有效的 "dd" 天數(shù)可以是
0 - 32768 范圍內(nèi)的任何數(shù)字。如果沒有指定,
"+" 被當(dāng)作默認(rèn)符號。
/? 顯示幫助消息。
例如:
FORFILES /?
FORFILES
FORFILES /P C:/WINDOWS /S /M DNS*.*
FORFILES /S /M *.txt /C "cmd /c type @file | more"
FORFILES /P C:/ /S /M *.bat
FORFILES /D -30 /M *.exe
/C "cmd /c echo @path 0x09 在 30 前就被更改。"
FORFILES /D 2001-01-01
/C "cmd /c echo @fname 在 2001年1月1日就是新的。"
FORFILES /D +2006-12-12 /C "cmd /c echo @fname 今天是新的。"
FORFILES /M *.exe /D +1
FORFILES /S /M *.doc /C "cmd /c echo @fsize"
FORFILES /M *.txt /C "cmd /c if @isdir==FALSE notepad.exe @file"
不熟悉的可以根據(jù)上面的例子,逐個聯(lián)系,看看執(zhí)行結(jié)果。
3. 刪除備份的批處理腳本
FORFILES /P D:/sqldataup /M *.bak /C "cmd /C del /Q @path" /d –5
上述腳本的意思是:備份文件夾為D:/sqldataup,/d –5表示刪除5天前的數(shù)據(jù)庫備份,這個可以根據(jù)實際需要設(shè)定。
注意:如果路徑有空格,則應(yīng)用""將路徑引起來。如:"C:/my documents/database backup",否則出錯。
4. 通過計劃任務(wù)調(diào)用批處理腳本如下圖所示:(下圖為在網(wǎng)上摘錄)
至此,數(shù)據(jù)庫定期備份和清理備份可以實現(xiàn)了。清理備份還有其他方法,此文并不介紹。