首先理解导入导出包的基本概念:
http://technet.microsoft.com/zh-cn/library/ms141772(v=SQL.110).aspx
包既可以保存在SQL Server msdb数据库的sysssispackages表中,也可以保存在文件系统中。
包存储区是Integration Services服务监视和管理的逻辑存储区,它包括在Integration Services服务的配置文件中指定的msdb数据库和文件系统。
我们创建包含两个子计划的维护计划MaintenancePlanTest,如下图所示:

--与维护计划及作业相关的表

 --包存储区MSDB下的信息
select * from msdb.dbo.sysssispackagefolders
select * from msdb.dbo.sysssispackages
--记录维护计划的子计划信息
select * from msdb.dbo.sysmaintplan_subplans--每一个子计划对应一个job,在一个子计划下添加多个任务并不会在job中表现为多个steps
select * from msdb.dbo.sysmaintplan_log--在维护计划运行后,会在此表中进行记录
select * from msdb.dbo.sysjobs--相关的作业信息
select * from msdb.dbo.sysjobsteps--相关的作业步骤
select * from msdb.dbo.sysjobschedules--相关的作业调度

--图例中在MSDB下产生的维护计划及作业信息

 select spf.foldername,sp.name,sps.subplan_name,sps.subplan_description
,sj.job_id,sj.name,sjs.step_name,sjs.subsystem,sjs.command
from msdb.dbo.sysssispackagefolders spf--包存储区MSDB下的信息
INNER JOIN msdb.dbo.sysssispackages sp--包存储区MSDB下的信息
ON spf.folderid=sp.folderid
INNER JOIN msdb.dbo.sysmaintplan_subplans sps--每一个子计划对应一个job
ON sp.id=sps.plan_id
INNER JOIN msdb.dbo.sysjobs sj--相关的作业信息
ON sps.job_id=sj.job_id
INNER JOIN msdb.dbo.sysjobsteps sjs--相关的作业步骤
ON sj.job_id=sjs.job_id
ORDER BY sp.id,sps.subplan_name,sjs.step_id


--删除维护计划涉及的过程

 execute msdb.dbo.sp_maintplan_delete_plan
execute msdb.dbo.sp_maintplan_delete_subplan
execute msdb.dbo.sp_maintplan_delete_log
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文件。

维护计划生成的SSIS包存储在哪的更多相关文章

  1. [转]一步一步部署SSIS包图解教程

    本文就SQL统计分析SSIS包的部署进行一次详细的部署图解教程,Sql Server Integration Services 提供了非常简单的部署工具,利用这些工具可以方便地将包文件(*.dtsx) ...

  2. 一步一步部署SSIS包图解教程

    本文就SQL统计分析SSIS包的部署进行一次详细的部署图解教程,Sql Server Integration Services 提供了非常简单的部署工具,利用这些工具可以方便地将包文件(*.dtsx) ...

  3. 在SQL Server中使用命令调用SSIS包

    在SQL Server中可以使用dtexec命令运行SSIS包(2005以上版本),当然也可以通过系统过程:xp_cmdshell调用dtexec运行SSIS包. 具体操作步骤如下: 1.首先,当然是 ...

  4. SQL Server Integration Services(SSIS) 包配置与部署

    SSIS配置此处的配置方式,主要针对到正式服务器上要修改服务器名,和连接服务器等配置注意:1. 包配置在windows2008上生成后,在windows2003上mysql的配置无法使用,总是报错连接 ...

  5. c#控制台調用SSIS包互传值

    有时候不仅仅需要在内部执行package包,多数情况下,是需要在外部进行调用,比如,需要一个批处理或者控制台程序进行外部调用SSIS包,而往往这个包所配置的连接字符串是经过加密处理的,所以当外部调用S ...

  6. 变量在SSIS包中的使用

    2010~2011年经常使用SSIS包采集加工数据,后来换了工作就很少使用.最近又开始用那玩意采集数据,努力回想之前是怎样操作的,网上各种找各种纠结.趁这次使用记录下日常操作步骤,以备以后不时之需. ...

  7. SSIS包部署

    1.ssis包部署可以生成部署文件,部署到sqlserver,再通过sqlserver计划作业来执行. 2.也可以通过shell来调用dtsx ,通过windows计划任务来定时调用exe. 不论是哪 ...

  8. [译]在 64bit 环境中执行32 bit的SSIS包

    最近碰到了一个众所周知的32bit的 SSIS 包在64bit的SQL Server环境的执行问题. 我看了一些解决方案,比如修改在SSDT里面修改 debug 选项(Run64BitRuntime ...

  9. SSIS从理论到实战,再到应用(3)----SSIS包的变量,约束,常用容器

    原文:SSIS从理论到实战,再到应用(3)----SSIS包的变量,约束,常用容器 上期回顾: SSIS从理论到实战,再到应用(2)----SSIS包的控制流   首先我们来看看包里面的变量 SSIS ...

随机推荐

  1. WBS练习

    我们把这次团队程序设计分成了6个模块,让每一个同学都能参与其中,然后让每一个人选一个自己喜欢的模块,最后数据库设计这个部分就大家一起来做. Everybody's task allocation is ...

  2. SEP图示

    Icon Description This icon indicates the following status: The client can communicate with Symantec ...

  3. HDU 1114 完全背包+判断能否装满

    题意 给出一个存钱罐里的钱币重量 给出可能的n种钱币重量以及价值 求存钱罐中钱币的最小价值 若不可能另有输出 在裸的完全背包上加了一点东西 即判断这个背包能否被装满 初始化 dp[0]=0 其余的都使 ...

  4. 省略nslog打印

    //#if #endif宏定义的意思就是如果定义了DEBUG,那么就使用NSLog输出:否则这段代码直接忽略.有人会疑问这个DEBUG和_DEBUG来自哪里,这个其实不用担心,这个来自于Xcode的默 ...

  5. #define与运算精度问题探究

    #include <stdio.h> #define SQR(X) X*X int main(int argc, char* argv[]) { ; ; ; printf("SQ ...

  6. PHP防止用户重复提交表单

    我们提交表单的时候,不能忽视的一个限制是防止用户重复提交表单,因为有可能用户连续点击了提交按钮或者是攻击者恶意提交数据,那么我们在提交数据后的处理如修改或添加数据到数据库时就会惹上麻烦. 那么如何规避 ...

  7. 【IOS笔记】Resource Management in View Controllers

    Resource Management in View Controllers 视图控制器的资源管理 View controllers are an essential part of managin ...

  8. 初步理解Java的三大特性——封装、继承和多态

    声明:整理自网络,如有雷同,请联系博主处理 一.封装 封装从字面上来理解就是包装的意思,专业点就是信息隐藏,是指利用抽象数据类型将数据和基于数据的操作封装在一起,使其构成一个不可分割的独立实体,数据被 ...

  9. 关于Hive的调优(本身,sql,mapreduce)

    1.关于hive的优化 ->大表拆分小表 ->过滤字段 ->按字段分类存放 ->外部表与分区表 ->外部表:删除时只删除元数据信息,不删除数据文件 多人使用多个外部表操作 ...

  10. 【android学习4】Eclipse中Clean作用

    今天修改Servlet中代码,重启服务端程序之后发现没有启作用,于是Clean了一把,果然生效. 查阅资料得知,Eclipse中是根据时间戳去编译代码,如果某个类对应的时间戳没有发生改变就不会重新编译 ...