SSAS/SSIS 定时任务

SSAS/SSIS 定时任务

在浪费了不知道多少时间之后,终于把 SSIS 的定时任务搞定了。事情的起因是几个月前做的两个 SSAS 的多维数据集,按照我个人的理解,多维数据集就是将原有的数据库表转变为带有多个维度、多个层次结构的数据集,一般将这种数据集在 Excel 中以数据透视表的形式呈现出来,它的好处在于可以非常方便的查询和筛选各项数据。但是 SSAS 有个问题,那就是它不会随着数据库表的更新而更新,为了解决这个问题需要使用 SQL Server 的另一项功能:整合服务(SSIS)。

首先是在 Visual Studio 中创建 SSIS 包,SSIS 项目中包含刷新多维数据集的控制流项,具体操作不再赘述,然后将这个包部署到服务器,这一步比较繁琐,可以参考:
https://wenku.baidu.com/view/d16105abdd3383c4bb4cd20c.html

部署完包就可以进入本篇博客的主题了,对于 SSIS 的定时任务,网上最常见的做法是在 MSSMS 中通过 SQL Server 代理来完成这项任务,如下图所示:
SSAS/SSIS 定时任务_第1张图片
之前曾尝试过这种做法,不过不知道什么原因,总在新建完作业之后的启动作业那一步卡住。今天本来想着要去解决作业无法启动的问题,结果没想到 SQL Server 代理怎么也无法启动,无奈之下只好放弃这种方法。

下面来说一下我找到的另一种方法,总的来说就是通过系统自带的 DtExecUI 与任务计划程序来定时执行 SSIS 包。下面给出详细步骤:

1. 打开 “执行包实用工具”。
SSAS/SSIS 定时任务_第2张图片
2. 选择服务器和要执行的包,如果包的部署没有问题,就能看到下面的界面。
SSAS/SSIS 定时任务_第3张图片
3. 点击 “执行” 之后,如果没出现问题,可以在 “命令行” 选项中看到一条命令。
SSAS/SSIS 定时任务_第4张图片
这条命令是可以直接在 cmd 中运行的,不过需要在前面加上 “dtexec”。
SSAS/SSIS 定时任务_第5张图片
有了这条命令就可以设置定时任务了,可以说前面的三步就是为了得到这条命令。

4. 为了更方便地执行这条命令,需要将这条命令做成 bat 批处理文件。做法很简单,将命令复制到一个新建的 txt 文件中,然后保存时加上 .bat 的后缀就可以了。
SSAS/SSIS 定时任务_第6张图片
5. 打开 “任务计划程序”,点击右侧栏中的 “新建任务”,把上一步得到的 bat 文件放进来,然后设置好触发条件和执行频率之类的参数就大功告成了。
SSAS/SSIS 定时任务_第7张图片

你可能感兴趣的:(SQL,Server)