当前位置: 网站首页 > 技术专题 > 数据库专题 >

误删除SSIS中的"Maintenance Plans"恢复

时间:2010-04-23 14:54  来源:唯实中国   点 击:
导读』:在SQL Server 2005/2008中,维护计划的功能通过SSIS包来完成。如果不小心在SSIS管理中删除了Maintenance Plans文件夹,则在SQL Server中建立维护计划的时候会出现问题,如下图所示。 在Management..
关键字:SQL Server 2005/2008维护计划

 在SQL Server 2005/2008中,维护计划的功能通过SSIS包来完成。如果不小心在SSIS管理中删除了"Maintenance Plans"文件夹,则在SQL Server中建立维护计划的时候会出现问题,如下图所示。

误删除SSIS中的"Maintenance Plans"文件夹的恢复收藏

  在Management studio中创建误删除的"Maintenance Plans"文件夹,如下图所示。

误删除SSIS中的"Maintenance Plans"文件夹的恢复收藏

  建立好"Maintenance Plans"文件夹之后,可以正常建立维护计划,但是建立的维护计划并不会显示,在SSIS的"Maintenance Plans"文件夹下倒是可以找到相应的SSIS包。

误删除SSIS中的"Maintenance Plans"文件夹的恢复收藏

  出现这个问题的原因在于:维护计划向导根据文件夹名称来存储维护计划的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%
烂透了!
(0)
0%
编辑:danny

分享与收藏:
您可能感兴趣的文章

数据恢复

热门技术文章

硬盘常见问题