維護SQL Server 2005資料庫的方法
先裝上一個Microsoft SQL Server 2005 Service Pack 2 (SP 2),接著,我給大家展示資料庫維護計劃,可以用來管理工作臺中不同的結點。
這下面有一個維護計劃節點。目前為止,我這裡還沒有建立一個任何的管理計劃。我們知道,資料庫的備份是一個很重要的事情,這是每位DBA每天要做的工作。這好比你自己家中的資料一樣,你的身份證也需要做一份複製,萬一有一天丟了還可以拿出來用。我們資料庫也是同樣的道理。以前我見過很多的DBA他們非常的聰明,也非常的敬業,但是忘了給資料庫做備份。做備份其實是簡單的一件事。備份上,你可以設定你需要備份什麼樣的資料庫?你使用什麼樣的日程?比如說是每天、每小時還是一星期一次的?你是做資料庫全部的備份還是做交易日程的備份?我給大家演示一下。
在畫面上我要建立一個新的維護計劃,我點選滑鼠右鍵建立新的維護計劃,自己起一個名字,比如我叫做PLAN1。這時候你會發現這需要有一個描述,描述給你自己看。你需要知道這裡可以做什麼用。在這個計劃下面還有一些計劃,要列出你需要做什麼事情。我下面繼續給大家演示。子計劃像一個日曆,在這裡你需要定義你使用什麼樣的日程。
你用滑鼠單擊就可以把這個計劃定上來了,下面你可以看到是自動的,或者是使CPU變得顯眼些執行,或者在重複的一個時間只定義一次。比如我們選擇重複的時間,在這裡你可以說明是每天跑一次,還是每一星期或者是一個月跑一次。我選擇了每天跑一次,你還可以具體定義為幾天跑一次?如果是選擇每星期的話,你還可以選擇是這個星期中的任何一天。在每一次執行時,比如說每天執行一次,你可以選擇一個時間,比如說每一小時、每兩個小時等等。如果你需要一小時一次或者是一分鐘一次,你還可以講明是什麼時候開始的?比如你只希望在夜晚,比如說晚上12點,這都是可以自己調整的。
這個計劃是從什麼時候開始做,比如說今天開始做,是否有終止日期?如果有,你可以說明終止日期,如果沒有就可以表示出沒有。這樣就可以把時間表定義完了。我們定義時間表之後,要考慮維護計劃到底做什麼?這裡面有不同的事情可以做。第一,你可以在上面備份資料庫。你可以檢查資料庫的一致性,也可以執行一個代理SQL Server的任務。你可以使用一個語句,做一些歷史清除,或者是維護歷史清除工作,還可以履行告知操作員的工作。比如說你可以定義一些事件,當這些事件發生時,可以自動告知操作員。透過重建、索引,也可以對索引進行重組。
如果資料庫比較空,你可以對它進行壓縮。因為統計數字涉及到我這一個表中對於不同直列的統計表,我查詢的.最佳化器是要利用這些數字決定什麼樣的查詢計劃是一個好的計劃。所以,我們在資料庫中要求數字是準確的。現在我們做一個簡單的事情——備份。這時候怎麼辦呢?你可以把Drawer拉過來放進去。在這裡,我可以在資料庫做一個備份的計劃,裡面還有一些細節的問題。
你需要來進行定義。現在我是把這塊進行了定義,你定義是由本地伺服器連線,你是做差異認證還是做Fillback,這時候你可以從Master、model、msdb、Northwind、Pubs中選擇,這時候我可以簡單選擇兩個。或者你選擇上面的System Databases等等,你可以有四種不同的選擇。我這裡面選擇兩個Databases就可以了。這裡面有一些功能,比如你要把每個Databases要有一個Backup files。在這裡你還需要檢查資料庫的完整性,這些都屬於可選專案。你選擇之後,可以看到剛才的紅叉沒有了,表示現在我已經把這個定義完成了。
現在我的時間表定義的是每天執行一次,每晚12點。所以到今天晚上12點,如果我的機器是開著的,就可以對每個資料庫實現一個backup。我覺得SQL Server 2005比起2000版本進步了很多。
總結:我們做這個演示的目的是想告訴你,定義一個數據庫的維護計劃是非常簡單的一件事。你並不需要有特別高深的技術,只是很普通的人都可以做到這件事,你只要選擇好這個東西,它就會為你做。這種簡單易操作性是SQL Server重要的一個特性。我們一直認為我們SQL Server使用起來很簡單,我們一直為這件事情覺得很驕傲。