程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> 其他數據庫知識 >> 更多數據庫知識 >> SQL Server 數據庫自動執行管理任務

SQL Server 數據庫自動執行管理任務

編輯:更多數據庫知識

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

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

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

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

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

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

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

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

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

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

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved