关闭

误删除SSIS中的“Maintenance Plans”文件夹的恢复

6156人阅读 评论(1) 收藏 举报

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'

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:1280707次
    • 积分:14890
    • 等级:
    • 排名:第828名
    • 原创:178篇
    • 转载:9篇
    • 译文:0篇
    • 评论:881条
    最新评论