维护计划生成的SSIS包存储在哪
首先理解导入导出包的基本概念:
http://technet.microsoft.com/zh-cn/library/ms141772(v=SQL.110).aspx
包既可以保存在SQL Server msdb数据库的sysssispackages表中,也可以保存在文件系统中。
包存储区是Integration Services服务监视和管理的逻辑存储区,它包括在Integration Services服务的配置文件中指定的msdb数据库和文件系统。
我们创建包含两个子计划的维护计划MaintenancePlanTest,如下图所示:
--与维护计划及作业相关的表
1 --包存储区MSDB下的信息 2 select * from msdb.dbo.sysssispackagefolders 3 select * from msdb.dbo.sysssispackages 4 --记录维护计划的子计划信息 5 select * from msdb.dbo.sysmaintplan_subplans--每一个子计划对应一个job,在一个子计划下添加多个任务并不会在job中表现为多个steps 6 select * from msdb.dbo.sysmaintplan_log--在维护计划运行后,会在此表中进行记录 7 select * from msdb.dbo.sysjobs--相关的作业信息 8 select * from msdb.dbo.sysjobsteps--相关的作业步骤 9 select * from msdb.dbo.sysjobschedules--相关的作业调度
--图例中在MSDB下产生的维护计划及作业信息
1 select spf.foldername,sp.name,sps.subplan_name,sps.subplan_description 2 ,sj.job_id,sj.name,sjs.step_name,sjs.subsystem,sjs.command 3 from msdb.dbo.sysssispackagefolders spf--包存储区MSDB下的信息 4 INNER JOIN msdb.dbo.sysssispackages sp--包存储区MSDB下的信息 5 ON spf.folderid=sp.folderid 6 INNER JOIN msdb.dbo.sysmaintplan_subplans sps--每一个子计划对应一个job 7 ON sp.id=sps.plan_id 8 INNER JOIN msdb.dbo.sysjobs sj--相关的作业信息 9 ON sps.job_id=sj.job_id 10 INNER JOIN msdb.dbo.sysjobsteps sjs--相关的作业步骤 11 ON sj.job_id=sjs.job_id 12 ORDER BY sp.id,sps.subplan_name,sjs.step_id
--删除维护计划涉及的过程
1 execute msdb.dbo.sp_maintplan_delete_plan 2 execute msdb.dbo.sp_maintplan_delete_subplan 3 execute msdb.dbo.sp_maintplan_delete_log 4 execute msdb.dbo.sp_delete_job
SQL Server 的维护计划生成的SSIS包,存储在哪个位置?
使用“维护计划”(“设计”选项卡)可以指定维护计划及其子计划的属性。将任务从工具箱拖到计划设计器中。右键单击任务组以创建分支执行路径。维护计划将另存为 Integration Services包,它们由SQL Server代理作业执行。在“设计”选项卡,每一个子计划对应一个job。通过查看作业属性对应步骤下面包源为SQL Server。
因此推断维护计划生成的SSIS包是保存在msdb库sysssispackages表中,而非文件系统。
可通过在对象资源管理器中连接到Integration Services(服务器名称应该填写计算机名)。然后展开'已存储的包'-->MSDB-->右击对应包-->导出-->包位置选择'文件系统'即可导出后缀为.dtsx形式的SSIS包。当然也可以直接迁移维护计划。
通过查看作业步骤属性:
类型SSIS,包源:SQL Server、文件系统、SSIS包存储区 分别对应的命令行
/SQL "Maintenance Plans\MaintenancePlan" /SERVER "tcp:127.0.0.1,1433" /CHECKPOINTING OFF /SET "\Package\Subplan_1.Disable";false /REPORTING E
/FILE "C:\Documents and Settings\Administrator\My Documents\新建包.dtsx" /CHECKPOINTING OFF /SET "\Package\Subplan_1.Disable";false /REPORTING E
/DTS "\MSDB\Maintenance Plans\MaintenancePlan" /SERVER SERVERNAME /CHECKPOINTING OFF /SET "\Package\Subplan_1.Disable";false /REPORTING E
扩展:
通过'SQLServer导入和导出向导'导数据,选项'保存SSIS包'若选择SQL Server则保存到msdb数据库下(可通过在对象资源管理器中连接到Integration Services查看,右键单击该包并选择“运行包”,即可执行数据导入导出);若选择文件系统则保存到指定路径的.dtsx文件。
|
【作者】: 醒嘞 |
【出处】: http://www.cnblogs.com/Uest/ | |
【声明】: 本文内容仅代表个人观点。如需转载请保留此段声明,且在文章页面明显位置给出原文链接! |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?