SQL Server 2005中的SSIS維護計劃
SQL Server的每一個版本都已經逐漸變得越來越自我調整和自我維護了。然而,對于基本維護的 需求 ,例如刪除索引碎片,更新統計數據,檢查 數據庫 一致性,以及進行備份仍然是不會消失的。你可以想象一下,索引的維護就像是給你的汽車換油,備份就像是買保險。
SQL Server的每一個版本都已經逐漸變得越來越自我調整和自我維護了。然而,對于基本維護的
需求,例如刪除索引碎片,更新統計數據,檢查
數據庫一致性,以及進行備份仍然是不會消失的。你可以想象一下,索引的維護就像是給你的汽車換油,備份就像是買保險。你可以沒有保險,但是一旦你需要它,它就在手邊。同樣的,你的汽車可以在沒有換油的情況下跑上幾千公里,但是經常維護會產生更好的
性能,并且可以讓你的汽車壽命延續幾年。
SQL Server 2005把維護計劃以SSIS包的方式予以實現,它為任務的定制提供更大的靈活性?,F在開始計劃你要執行的Transact-SQL命令,以便察看,而不要用沒有文檔記載的SQL Server 2000中的存儲過程。另一個你可以檢查的領域是執行歷史,它可以使解決問題的維護計劃在很大程度上簡單化。
目錄表
SQL Server 2000中的維護計劃
使用向導創建一個維護計劃
在你的SSIS包的后面
改善SQL Server 2005
SQL Server 2000中的維護計劃
讓我們簡單地回顧一下SQL Server 2000中的數據庫維護計劃是什么樣子。你通過點擊一些向導的界面創建一個維護計劃,它讓你選擇完全備份、事務日至備份,索引維護和檢查數據庫一致性的選項。這聽起來很簡單,是嗎?是的,除非維護計劃是個“黑 盒子”向導并沒有顯示給你剛才創建的任務會執行的Transact-SQL語句。
更進一步地講,如果你曾經檢查過通過維護計劃向導創建的任務的屬性,你就會知道任務的步驟看起來是下面這個樣子:
EXECUTE master.dbo.xp_sqlmaint N'-PlanID 7BCCF8E2-B8F4-4B92-BC3B-
F2FA1BAE25C0 -WriteHistory -VrfyBackup -BkUpMedia DISK -BkUpDB -UseDefDir -BkExt "BAK"'
為了了解這個維護計劃屏幕之后的事情,你必須讓你自己熟悉xp_sqlmaint擴展存儲程序。這個程序也叫做 SQLMAINT工具,大概有一打的開關。此外,你還可以從命令行調用SQLMAINT。如果維護計劃任務在任務歷史中曾經失敗過,在任務歷史中顯示了如下完全沒有意義的信息片斷的話,也許這樣更重要:
Executed as user: ServerName\UserName. sqlmaint.exe failed. [SQLSTATE 42000] (Error 22029). The step failed.
幸運的是,你可以瀏覽到數據庫維護計劃的文件目錄中,右擊計劃,并且選擇“維護計劃歷史”來獲得更加詳細的錯誤信息。然而,即使是這樣的解決問題的方法在碰到維護計劃任務不總是可靠的時候,也會出錯。
在nutshell SQL Server2000 維護計劃向導中,創建重要維護任務非常簡單,但是從可用性和支持的角度來說,就差得遠了。
與維護計劃的其他圖形一樣,在SQL Server2005中也有很大的改善?,F在,維護計劃是以SQL Server集成服務(SSIS)包的形式實現的;這就允許在包含在維護計劃中的任務之間創建優先約束。如果你還沒有使用SSIS的話,這個消息也許會對你造成威脅——但是不要擔心,你仍然可以通過使用SQL Server管理套件(SSMS)中的向導來建立一個維護計劃。在SSIS中構建維護計劃,將會提供額外的靈活性,但是向導會幫助你開始,并且讓你構建一個可靠的維護計劃,而不需要你對SSIS有任何的了解,正如你下面將要看到的。
使用向導創建一個維護計劃
原文轉自:http://www.anti-gravitydesign.com