SSIS 部署到SQL Job
微软 BI 系列随笔 - SSIS 基础 - 部署SQL Job
简介
在之前博客中,讲述了如何实现SSIS的项目部署以及利用SSIS的参数与环境加速部署,参见 微软 BI 系列随笔 - SSIS 基础 - 参数与环境。文章末尾提到了将SSIS部署到SQL Job。本文将讲述如何利用SQL Job来规划SSIS包的运行任务。
关于SQL Job
SQL Server Agent是一个任务规划器和警报管理器,在实际应用和环境下,可以将那些周期性的活动定义成一个任务,而让其在SQL Server Agent 的帮助下自动运行。
准备工作
首先来回顾一下,在之前的博文SSIS 项目部署模型和微软 BI 系列随笔 - SSIS 基础 - 参数与环境中,我们将一个SSIS项目部署到了SSISDB目录,并对其进行了环境参数的配置。下图是完成上述步骤之后的结构图
创建SQL Job
右击上图的Jobs,选择"New Job",系统将打开Job创建窗口。
基本信息
基本信息页主要是Job的名字,拥有者,类别以及描述。
添加步骤
接下来就是为Job添加步骤了,这里我们需要给出步骤的名称,选择类型和执行的账户。
在上图的第一步中我们选择类型为SQL Server Integration Services Package,表示这个步骤是基于SSIS包的。
第二步中我们选择执行账户,这里选择的是SQL Server Agent Account,他是SQL Server的一个内建账户,如果你有其他的账户的话也可以使用。但是要注意他的权限问题,比如这个SQL Server Agent Account就没有对一般磁盘文件夹的读写权限,如果你的包有文件读写的话,就需要在文件夹上给这个账户读写权限。
第三布是选择包所在的服务器以及具体的包的位置。
第四步是配置,参数可以使用之前配置的环境变量,这样就和前面的SSISDB目录里面的环境变量对应上了。
点击OK保存步骤。
设置执行计划
设置计划的类型,执行周期以及起始时间。这一步比较简单。
接下来设置警报,通知以及目标。如果你在包中设置了针对错误和警报的处理,创建了邮件通知任务,就不要另外单独设置了,使用系统默认的就可以了。如果需要这些信息的话,就自己去配置一下。
点击OK,好了,任务创建完成。可以看到我们的新Job出现在Jobs目录下面了。
脚本研究
生成这个Job的脚本来看看:
/****** Object: Step [CoposOrderProcessing] Script Date: 8/28/2015 10:32:02 AM ******/
EXEC @ReturnCode = msdb.dbo.sp_add_jobstep @job_id=@jobId, @step_name=N'CoposOrderProcessing',
@step_id=1,
@cmdexec_success_code=0,
@on_success_action=1,
@on_success_step_id=0,
@on_fail_action=2,
@on_fail_step_id=0,
@retry_attempts=0,
@retry_interval=0,
@os_run_priority=0, @subsystem=N'SSIS',
@command=N'/ISSERVER "\"\SSISDB\EDCSSISProcessing\EDCSSISProcessing\CoposOrderProcessing.dtsx\"" /SERVER "\"PRCSGI12071D\MSSQLSERVER12\"" /ENVREFERENCE 1 /Par "\"$ServerOption::LOGGING_LEVEL(Int16)\"";1 /Par "\"$ServerOption::SYNCHRONIZED(Boolean)\"";True /CALLERINFO SQLAGENT /REPORTING E',
@database_name=N'master',
@flags=0
在上面的代码中,重点看@command的内容。
/ISSERVER "\"\SSISDB\EDCSSISProcessing\EDCSSISProcessing\CoposOrderProcessing.dtsx\""
--指定执行一个部署在SSIS上的包.
/SERVER "\"PRCSGI12071D\MSSQLSERVER12\""
--指定从那个服务器获取那个包
/ENVREFERENCE 1
--指定包运行时使用的环境变量
/Par "\"$ServerOption::LOGGING_LEVEL(Int16)\"";1
--logging记录级别
/Par "\"$ServerOption::SYNCHRONIZED(Boolean)\"";True
--同步运行的,意思是如果这个实例在运行,那么就不能重复执行
/CALLERINFO SQLAGENT
--这个任务是要SQL Agent来调用的
/REPORTING E
--只有错误信息会被报告
看来一切都在这里了啊。所有的包信息,环境变量,执行参数都在这一句command里面说的明明白白。
好了,执行一下吧,看看是不是和在SSISDB里面执行是一个效果,看看我们的[internal].[executable_statistics]表是不是记录了运行的信息了呢。
总结
本文详细讲解了如何使用SQL Agent规划SSIS包的执行工作,通过结合SSIS参数和环境变量,实现了他们之间的无缝结合,极大的方便了部署工作。
SSIS 部署到SQL Job的更多相关文章
- SSIS中执行SQL任务组件参数传递的问题
原文:SSIS中执行SQL任务组件参数传递的问题 症状: 执行SQL任务,传递参数到子查询中,执行报错. 错误: 失败,错误如下:"无法从使用 sub-select 查询的 SQL 语句中派 ...
- c#直接调用ssis包实现Sql Server的数据导入功能
调用ssis包实现Sql Server的数据导入功能网上已经有很多人讨论过,自己参考后也动手实现了一下,上一次笔者的项目中还用了一下这个功能.思前想后,决定还是贴一下增强记忆,高手请54. 1.直接调 ...
- 介绍几种SSIS部署方式
介绍 如果你已经开发完一个不错的SSIS包并且能够在你的本地完美的运行,每个任务都亮起绿色的通过标志.这时为了能够让这个包处理能够在指定时间运行,你需要将其发布到一个服务器上,并做好相关配置.作为开发 ...
- SSIS 实例——将SQL获取的信息传递到Email中
最近在为公司财务开发一个邮件通知时遇到了一个技术问题.原来我设计SSIS的是每天将ERP系统支付数据导出到财务支付平台后 Email 通知财务,然后财务到支付平台上进行支付操作.由于那个时候开发时间很 ...
- 微软BI 之SSIS 系列 - 使用 SQL Profilling Task (数据探测) 检测数据源数据
开篇介绍 SQL Profilling Task 可能我们很多人都没有在 SSIS 中真正使用过,所以对于这个控件的用法可能也不太了解.那我们换一个讲法,假设我们有这样的一个需求 - 需要对数据库表中 ...
- 微软BI 之SSIS 系列 - 在 SQL 和 SSIS 中实现行转列的 PIVOT 透视操作
开篇介绍 记得笔者在 2006年左右刚开始学习 SQL Server 2000 的时候,遇到一个面试题就是行转列,列转行的操作,当时写了很长时间的 SQL 语句最终还是以失败而告终.后来即使能写出来, ...
- 微软BI 之SSIS 系列 - Execute SQL Task 中的 Single Row 与 Full Result Set 的处理技巧
开篇介绍 Execute SQL Task 这个控件在微软BI ETL 项目中使用的频率还是非常高的,也是大部分入门 SSIS 初学者最早接触到的几个控制流控件. 我们通常使用 Execute SQL ...
- SSIS部署后执行失败,无法将保护的XML节点解密
将包属性中的 protectionLevel 设置成DontSaveSensitive 即可.
- SSIS 参数与环境
微软 BI 系列随笔 - SSIS 基础 - 参数与环境 简介 在上一篇博客中,主要讲述了如何实现SSIS的项目部署,参见 微软 BI 系列随笔 - SSIS 2012 基础 - SSIS 项目部署模 ...
随机推荐
- Cocos Code IDE新建lua工程报错解决方案
今天想用cocos code IDE新建一个工程,但是控制台报错:Read json file null failed, the reason is:null.我下载的是官方3.5源码,sdk,ndk ...
- MVP 个人理解2
根据我的理解,画了个图 这次又看了下 较复杂点的例子. 往往一个项目有多个部份,我们可以按功能分成几个activity, 每个activity有自己的view和数据model,因此也有自己的逻辑 pr ...
- svn用法:摘自http://wh-vip-126-com200907043220.iteye.com/blog/424642
下载最新版本svn(http://www.visualsvn.com/server/ ) 1.安装SVN 2.创建user与repository 3.Eclipse下配置SVN插件 3.1帮助- ...
- iOS开发拓展篇—封装音频文件播放工具类
iOS开发拓展篇—封装音频文件播放工具类 一.简单说明 1.关于音乐播放的简单说明 (1)音乐播放用到一个叫做AVAudioPlayer的类 (2)AVAudioPlayer常用方法 加载音乐文件 - ...
- Ubuntu下安装Java环境
1 Java 8 下载地址 http://www.oracle.com/technetwork/cn/java/javase/downloads/jdk8-downloads-2133151-zhs. ...
- jQuery.extend源码深层分析
在网站的开发中,经常会自己写一些jQuery插件来方便使用,其中自然少不了一个关键的方法->jQuery.extend(),使用这个方法来扩展jQuery对象. 那么今天就来讲讲这个函数的实现原 ...
- Oracle Metadata Management (OMM)元数据管理 12.2.1发布
元数据管理元数据管理是解决大量关键业务和技术挑战的基础,这些挑战包括元数据实体有多少,上游数据变化的影响,在浏览器中提供友好的分析展现界面,或提供企业范围内的元数据现状分析和改进视图.OMM是一款基于 ...
- 2、Linux系统root用户忘记密码的重置方式
.界面按空格暂停,按E .找到UTF-,在后面空格后输入init=/bin/sh 然后CHRL+X启动 .进入到这个界面,输入mount -o remount,rw / .输入passwd..然后输入 ...
- RSA IOS和Java
整了三天 终于可以相互加密解密了,今天我给大家讲讲我遇到的大坑. 这篇文章只是做一个整理,帮大家理清一下步骤的而已 在ios端做证书 来实现我们和java的交流 需要4个文件. 一.首先,打开Term ...
- HDU 4251 --- 主席树(划分树是正解)
题意:查询区间中位数 思路:模板题,相当于区间第K大的数,主席树可以水过,但划分树是正解.但还没搞明白划分树,先上模板 #include <iostream> #include <c ...