部署SSIS包完成远程数据更新
** 温馨提示:如需转载本文,请注明内容出处。**
本文连接:http://www.cnblogs.com/grom/p/9018978.html
笔者需要定期从服务器更新N家客户的远程服务器数据,上一篇的存储过程是其中一个更新方法,后来随着数据量逐渐增大,受网络环境的影响,批量远程插入消耗的时间已经无法承受,后来在导出数据时发现了保存SSIS选项,然后展开了测试开发,现将成果分享出来供大家参考,类似的资料不少,所以就简单写写操作步骤。
首先,尽量可能使用部署到环境的Windows账号,比如部署到服务器,就远程到服务器后使用Windows账号登录,可以避免很多权限上的麻烦。
另外,注意客户端的版本,SSMS一定不能低于SQL服务版本,不然会出异常。
微软官网文档:https://docs.microsoft.com/zh-cn/previous-versions/sql/sql-server-2008-r2/bb522535(v%3dsql.105)
导出导入数据,SSIS包部署在源库还是目标库均可,下面以导出数据为例。
右键导出数据的库 任务 导出数据

选择导出数据库(数据源库)

选择目标库

编辑要传输的表,有不同需求(如需要删除目标表内原数据实现全覆盖等)时,可在编辑映射里设置。

批量设置
或单表设置
最后保存SSIS包,为了保证可移植性,笔者这里将保护级别设置成了密码保护

(SSIS包保存方式有两种,一种是保存在SQL Server内部,另一种是保存成.dtsx的文件
保存在SQL Server里可以在系统数据库msdb里的sysssispackages表内看到
或者保存成文件
双击执行后可开启执行包的实用工具(前提是安装了)

跟着向导走就可以执行包了,无论是包文件还是Sql Server内的均可使用此工具执行。)
继续导出

点击完成后完成包的保存。
SSIS可视化界面
管理SSIS微软提供了两种可视化管理工具,SQL Server Data Tools (SSDT)和大家用的 SQL Server Management Studio(SSMS)
这里只以SSMS界面举例
点击连接,选择 Integration Services(这里只能使用Windows身份连接,所以)

连接后可进行管理配置

为了可维护性,楼主在这里新建了项目,如无此需求的可以跳过本步骤

在Integration Services目录上右键创建目录
创建此目录时会自动在数据库内创建同名库,记录相关信息,红色圈内为数据库名称

密码必须设置,并且要符合安全策略,默认的好像是字母+数字+特殊符号
* 可能会出现以下错误

解决方案:https://blog.csdn.net/yy13210520/article/details/6438457 下面附张解决方案截图

创建完成如图

创建文件夹

好了,一个解决方案建好了

下面是导入包

保存为文件选第一个,保存在SQL Server选第三个,第二个笔者没用过,推测是装了SSDT后创建的,有经验的大神希望可以留下教程

找不到包直接选择SSIS包的根目录文件夹(如图所选)即可

把项目里需要的包都放进去,记得吧密码输进去

选择项目的保存路径

完成后会自动弹出项目部署向导,没有的话可以右击项目选择部署项目

部署完成

设置作业自动执行包
新建作业,没有SQL Server代理的可在SQL配置中开启

新建步骤 类型选择 SQL Server Integration Services 包
包源:保存文件的选择文件系统,没有建项目只保存在SQL Server上的选SQL Server,按上面步骤建立项目的选SSIS目录

选择每个包建立每个步骤,再设置好计划

大功告成

关于SSISDB数据库的表,笔者从网上查了下表的作用:
- [internal].[executables] -- 记录每个版本的包里面的可执行任务
- [internal].[operations] -- 该表记录了SSIS包的操作记录
- [internal].[operation_permissions] --记录的每个操作记录的权限
- [internal].[operation_os_sys_info] --记录每个操作的系统资源使用
- [internal].[operation_messages] --记录每个操作的运行时状态,具体到包里面的各个任务的执行情况
- [internal].[executions] --记录每个SSIS包的执行信息
- [internal].[execution_parameter_values] --记录执行时各个参数的值
- [internal].[executable_statistics] -- 记录每个包里面可执行任务的执行状态
- [internal].[event_messages] -- 记录每个可执行任务的消息代码
- [internal].[event_message_context] -- 记录每个可执行消息的上下文属性
- [internal].[catalog_encryption_keys] -- 记录创建SSISDB时使用的密码和加密的Key值。
部署SSIS包完成远程数据更新的更多相关文章
- Sql Server 部署SSIS包完成远程数据传输
本篇介绍如何使用SSIS和作业完成自动更新目标数据任务. ** 温馨提示:如需转载本文,请注明内容出处.** 本文链接:https://www.cnblogs.com/grom/p/9018978.h ...
- Maven deploy部署jar包到远程私仓
Maven deploy部署jar包到远程私仓 maven deploy介绍 maven中的仓库分为两种,snapshot快照仓库和release发布仓库.snapshot快照仓库用于保存开发过程中的 ...
- 持续集成之Jenkins自动部署war包到远程服务器
一.无war包链接的情况 无war包链接时,需先下载war包到本地,然后执行: ---------------------------------------------以下部分为转载-------- ...
- [转]一步一步部署SSIS包图解教程
本文就SQL统计分析SSIS包的部署进行一次详细的部署图解教程,Sql Server Integration Services 提供了非常简单的部署工具,利用这些工具可以方便地将包文件(*.dtsx) ...
- 一步一步部署SSIS包图解教程
本文就SQL统计分析SSIS包的部署进行一次详细的部署图解教程,Sql Server Integration Services 提供了非常简单的部署工具,利用这些工具可以方便地将包文件(*.dtsx) ...
- jenkins:用jenkins通过ssh部署jar包到远程linux机器(jdk 15 / jenkins 2.257)
一,远程linux机器上安装java15(如已安装,跳过此步) 说明:演示用的linux机器ip: 192.168.1.47 1,下载: [root@blog ~]# cd /usr/local/so ...
- jenkins部署war包到远程服务器的tomcat
一.目的 jenkins上将war包,部署到远程服务器的tomcat上. 这边tomcat在windows 主机A上,版本apache-tomcat-8.5.23. jenkins在主机B上,cent ...
- 部署Jar包到远程Maven仓库
在使用maven开发工程时,模块A可能会依赖模块B的jar包,如果两个模块都是在一个工程里,只需要在模块A的pom文件中加入模块B的依赖信息,模块A就可以加载模块B的jar包.但如果模块A与模块B在不 ...
- 用Maven部署war包到远程Tomcat服务器
过去我们发布一个Java Web程序通常的做法就是把它打成一个war包,然后用SSH这样的工具把它上传到服务器,并放到相应的目录里,让Tomcat自动去解包,完成部署. 很显然,这样做不够方便,且我们 ...
随机推荐
- 调用sed命令的三种方式
调用sed命令的三种方式 调用sed有三种方式,一种为Shell命令行方式,另外两种是将sed命令写入脚本文件,然后执行该脚本文件. 三种方式的命令格式归纳如下: 一.在Shell命令行输入命令调用s ...
- Leetcode_168_Excel Sheet Column Title
本文是在学习中的总结,欢迎转载但请注明出处:http://blog.csdn.net/pistolove/article/details/42554641 Given a positive integ ...
- hadoop环境配置过程中可能遇到问题的解决方案
Failed to set setXIncludeAware(true) for parser 遇到此问题一般是jar包冲突的问题.一种情况是我们向java的lib目录添加我们自己的jar包导致had ...
- 鹅场offer已Get,下周签约,终于能静下心来总结总结
2015年9月20号下午,接到腾讯总部的电话,确定了offer相关信息,算是正式get了鹅场的offer,坐等下个周一周二的签约会. 心路篇 2015年2月:已经2月份了,自己在大学的时光已经来到了比 ...
- 关于iOS socket的讲解介绍
socket(套接字)是通信的基石,是支持TCP/IP协议的网络通信的基本操作单元,包含进行网络通信必须的五种信息:连接使用的协议,本地主机的IP地址,本地进程的协议端口,远地主机的IP地址,远地进程 ...
- Unix/Linux中的grep命令(转)
本文转载自:如何使用Unix/Linux grep命令——磨刀不误砍柴工系列.该博文条理很清晰. grep简介 grep在一个或多个文件中查找与模式字符串(pattern)匹配的行,并将搜索的结果打印 ...
- ffdshow 源代码分析 2: 位图覆盖滤镜(对话框部分Dialog)
===================================================== ffdshow源代码分析系列文章列表: ffdshow 源代码分析 1: 整体结构 ffds ...
- Linux - 工作管理(job control),jobs,fg,bg,kill
什么是工作管理? 『进行工作管理的行为中, 其实每个工作都是目前 bash 的子程序,亦即彼此之间是有相关性的. 我们无法以 job control 的方式由 tty1 的环境去管理 tty2 的 b ...
- Dijkstra算法 c语言实现
Dijkstra(迪杰斯特拉)算法是典型的最短路径路由算法,用于计算一个节点到其他所有节点的最短路径.主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止.Dijkstra算法能得出最短路径的最优 ...
- how tomcat works 读书笔记 十一 StandWrapper 上
方法调用序列 下图展示了方法调用的协作图: 这个是前面第五章里,我画的图: 我们再回顾一下自从连接器里 connector.getContainer().invoke(request, resp ...