讓SQL Server數據庫自動執行管理任務(一)_Mssql數據庫教程

      編輯Tag賺U幣
      教程Tag:暫無Tag,歡迎添加,賺取U幣!

      推薦:解析Oracle數據庫編寫有效事務指導方針
      數據共享是數據庫最基本的特征之一。但是數據共享雖然為員工帶來了便利,但也產生了一些負面作用。例如因用戶并發存取而導致的對數據一致性的破壞、由于在修改數據過程中的意外事故導致數據完整性破壞、非法用戶未經授權修改數據等等。所以,在數據庫設計過

      如要讓數據庫進行自動管理,則管理員需要預先定義一些可預測的管理任務以及這些任務發送的條件。當滿足這些指定的條件,則數據庫會自動運行管理員指定的操作。使用自動管理來處理日常事務,則讓管理員可以抽出時間去關注其他的事情,如數據庫優化等等更加具有價值的作業。

      計劃就是自動化管理組件的一個成員。計劃指定了作業運行的時間。多個作業可以根據一個計劃運行;多個計劃也可以應用到一個作業。但是這個時間跟我們普通上的幾點幾分又有差異。這個時間不僅指特定的日期或者時間,而且還可以表示特定的時間。如當SQL Server代理啟動的時候或者服務器的CPU使用率處于定義的空閑狀態水平時。也就是說,這里指的時間計劃也可以實現一定的條件狀態控制。簡而言之,計劃作業就是定義使得作業在沒有哦能夠互交互情況下開始運行的條件,包括具體的日期或者特定的在狀況。通過為作業創建新計劃或者將現有的計劃添加到作業可以將作業計劃設置為自動運行。不過在設置自動執行計劃的時候,需要注意一個問題。即一次只能夠運行一個作業實例。如果在作業按計劃運行時嘗試手工運行該作業,則SQL Server代理將拒絕這個請求。另外,即使計劃未啟用,作業仍可以為響應警報而運行,或者由用戶手動運行。如果作業計劃未啟用,則任何使用該計劃的作業都不會啟用該計劃。

      一、 計劃觸發的時間與事件。

      上面筆者說過,計劃可以基于特定的時間與事件而觸發。那么這些具體的時間與事件是什么呢?筆者平時用到的最多的就是如下幾種情況。

      一是特定的日期和時間運行一次。這個計劃時間在數據庫備份的時候特別有用。大家都知道,數據庫備份會占用比較多的系統資源。如果在數據庫服務器使用高峰期(如白天上班時間)進行備份的話,那么會對用戶的訪問造成比較大的影響。為此筆者就把數據庫備份的時間放在晚上12點之后。這個時段相對來說,很少有用戶會訪問數據庫。此時管理員就可以利用計劃功能,讓其在每天的12點之后進行數據庫備份。這就是基于特定的日期和時間計劃的典型應用。

      二是安重復執行的計劃運行。這個跟上面講的特定日期和時間運行一次比較類似。只是上面的情況只運行一次。而這個按重復執行計劃運行則是指會重復運行多次。如每天晚上12點都進行數據庫備份等等。在實際工作中,特定日期和時間運新一次往往只是針對一些特殊的情況。如今天剛對數據庫結構進行了比較大的更改,如添加了幾張表或者視圖,此時就需要對數據庫進行一次完全備份。如故不急于進行備份的話,則就可以建立一個在特定的日期和時間運行的數據庫完全備份計劃,讓其在午后進行數據庫備份。但是對于常規的數據庫備份,則需要采取這個按重復執行計劃運行。

      三是當計算機的CPU使用率處于定義的空閑狀態水平時。也就是說,數據庫服務器當前的CPU使用率比較低,可以執行其他一些比較復雜的管理任務。如有些數據庫系統在設計的時候,有一個庫存補貨點作業。當庫存低于安全庫存的時候,系統就會自動生成一張物料請購單,來滿足安全庫存的需要。由于這張表設計到的物料比較多,會占用比較多的系統資源。故可以設置每天運行一次,而運行的時間就定在CPU使用率比較低的時候。如此就可以減少對其他作業造成的負面影響。

      二、 CPU空閑計劃的典型應用。

      其他的幾種計劃類型,不少數據庫管理員已經非常了解。筆者今天想談的是CPU空閑計劃的應用。這個計劃如果應用的好的話,可以大大提高數據庫的性能。如果要想利用好這個功能,則需要回答如下兩個問題。

      一是什么作業需要使用CPU空閑計劃?這個問題比較難回答。從理論上來說,任何作業都可以采用CPU空閑計劃在自動執行。只是他們帶來的效果不同。有的作業即使采用了CPU空閑計劃,也不能夠帶來很大的性能改善。簡單的來說,一些占用CPU資源比較大的作業,采用CPU空間計劃規則來自動執行,可以取得比較好的效果。如數據庫有時候需要重新生成索引,這項工作會占用比較多的CPU資源。而且隨著數據量的增多,這個CPU使用率也會越來越高。為此,如果可以把重新生成索引的作業,放在CPU空閑時間來進行的話,那么對于提高數據庫的性能效果是比較明顯的。總之當某個作業比較復雜,可能需要占用到比較多的CPU或者內存資源的話,則可以采用這個CPU空閑計劃。

      分享:淺談SQL Server中鏈接服務器將替代遠程服務器
      遠程服務器配置可以使得數據庫管理員在服務器以外的主機上連接到一個SQL Server實例,以便管理員在沒有建立單據連接的情況下在其他的SQL Server實例上執行存儲過程等相關操作。在遠程服務器配置模式下,客戶端所連接發服務器接受客戶端的請求,并代表客戶端

      來源:模板無憂//所屬分類:Mssql數據庫教程/更新時間:2009-09-03
      相關Mssql數據庫教程