當滿足這些指定的條件,則數據庫會自動運行管理員指定的操作。使用自動管理來處理日常事務,則讓管理員可以抽出時間去關注其他的事情,如數據庫優化等等更加具有價值的作業。
計劃就是自動化管理組件的一個成員。計劃指定了作業運行的時間。多個作業可以根據一個計劃運行;多個計劃也可以應用到一個作業。但是這個時間跟我們普通上的幾點幾分又有差異。這個時間不僅指特定的日期或者時間,而且還可以表示特定的時間。如當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 數據庫自動執行管理任務
2019-11-05 14:47mssql教程網 Sql Server
如要讓數據庫進行自動管理,則管理員需要預先定義一些可預測的管理任務以及這些任務發送的條件。
延伸 · 閱讀
- 2022-03-10Mongodb數據庫轉換為表格文件的庫
- 2022-03-10C/C++ Qt 數據庫與TreeView組件綁定詳解
- 2022-03-09MySQL數據庫如何給表設置約束詳解
- 2022-03-09MySQL數據庫觸發器從小白到精通
- 2022-03-09Linux中無法遠程連接數據庫問題的解決方法
- 2022-03-09易語言的數據庫操作教程
- Sql Server
SQL2005 存儲過程解密方法
SQL2005 存儲過程解密方法,需要的朋友可以參考下。...
- Sql Server
SQL JOIN 連接詳細介紹及簡單使用實例
這篇文章主要介紹了SQL JOIN 連接詳細介紹及簡單使用實例的相關資料,需要的朋友可以參考下 ...
- Sql Server
SQLServer2005創建定時作業任務
這篇文章主要為大家介紹了SQLServer2005創建定時作業任務的詳細過程,具有一定的參考價值,感興趣的小伙伴們可以參考一下 ...
- Sql Server
三種SQL分頁查詢的存儲過程代碼
三種SQL分頁查詢的存儲過程代碼,需要的朋友可以參考下。 ...
- Sql Server
SQL_Server全文索引的用法解析
SQL Server全文索引相信大家都有一定的了解,下面就為您介紹SQL Server全文索引的用法及相關的語句,希望可以讓您對SQL Server全文索引能有更深的認識 ...
- Sql Server
深入SQLServer中ISNULL與NULLIF的使用詳解
本篇文章是對SQLServer中ISNULL與NULLIF的使用進行了詳細分析介紹,需要的朋友參考下 ...
- Sql Server
SQLServer 數據庫的數據匯總完全解析(WITH ROLLUP)
乍一看,好像很容易,用group by好像能實現?但仔細研究下去,你又會覺得group by也是無能為力,總欠缺點什么,無從下手。那么,到底該如何做呢?別急,...
- Sql Server
SQLServer2005 批量查詢自定義對象腳本
SQLServer2005 批量查詢自定義對象腳本,使用系統函數object_definition和系統表 sysobjects 就可以了 ...