误删除SSIS中的"Maintenance Plans"文件夹的恢复收藏
2010-04-20 00:00:00 来源:WEB开发网在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'
更多精彩
赞助商链接