程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> 誤刪除SSIS中的Maintenance Plans文件夾的恢復收藏

誤刪除SSIS中的Maintenance Plans文件夾的恢復收藏

編輯:關於SqlServer


  在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'

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