誤刪除SSIS中的“Maintenance Plans”文件夾的恢復

SQL Server 2005/2008中,維護計劃的功能通過SSIS包來完成。如果不小心在SSIS管理中刪除了"Maintenance Plans"文件夾,則在SQL Server中建立維護計劃的時候會出現問題,如下圖所示。

在Management studio中創建誤刪除的"Maintenance Plans"文件夾,如下圖所示。

建立好"Maintenance Plans"文件夾之後,可以正常建立維護計劃,但是建立的維護計劃並不會顯示,在SSIS的"Maintenance Plans"文件夾下倒是可以找到相應的SSIS包。

出現這個問題的原因在於:維護計劃嚮導根據文件夾名稱來存儲維護計劃的SSIS包,但"維護計劃"通過查詢視圖"sysmaintplan_plans"來獲取維護計劃相關的SSIS包的,查詢這個視圖的腳本,可以看到其內容

EXEC msdb..sp_helptext 'sysmaintplan_plans'

 

CREATE VIEW sysmaintplan_plans

AS

SELECT

...

FROM

msdb.dbo.sysssispackages AS s

WHERE

(s.folderid = '08aa12d5-8f98-4dab-a4fc-980b150a5dc8' and s.packagetype = 6)

從視圖腳本可以看出,視圖使用了folderid,而不是名稱來獲取內容,我們新建的"Maintenance Plans"文件夾基本上不可能是這個id,所以要更新這個視圖,使其引用正確的folder id,正常的folder id可以執行下面的查詢獲得。

SELECT *

FROM msdb.dbo.sysssispackagefolders    -- sql 2005 的表名爲:sysdtsfolders90

WHERE foldername = N'Maintenance Plans'

    AND parentfolderid = '00000000-0000-0000-0000-000000000000'

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章