** 温馨提示:如需转载本文,请注明内容出处。**

本文连接: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)

官方文档:https://docs.microsoft.com/zh-cn/sql/integration-services/integration-services-ssis-development-and-management-tools?view=sql-server-2017

这里只以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包完成远程数据更新的更多相关文章

  1. Sql Server 部署SSIS包完成远程数据传输

    本篇介绍如何使用SSIS和作业完成自动更新目标数据任务. ** 温馨提示:如需转载本文,请注明内容出处.** 本文链接:https://www.cnblogs.com/grom/p/9018978.h ...

  2. Maven deploy部署jar包到远程私仓

    Maven deploy部署jar包到远程私仓 maven deploy介绍 maven中的仓库分为两种,snapshot快照仓库和release发布仓库.snapshot快照仓库用于保存开发过程中的 ...

  3. 持续集成之Jenkins自动部署war包到远程服务器

    一.无war包链接的情况 无war包链接时,需先下载war包到本地,然后执行: ---------------------------------------------以下部分为转载-------- ...

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

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

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

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

  6. 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 ...

  7. jenkins部署war包到远程服务器的tomcat

    一.目的 jenkins上将war包,部署到远程服务器的tomcat上. 这边tomcat在windows 主机A上,版本apache-tomcat-8.5.23. jenkins在主机B上,cent ...

  8. 部署Jar包到远程Maven仓库

    在使用maven开发工程时,模块A可能会依赖模块B的jar包,如果两个模块都是在一个工程里,只需要在模块A的pom文件中加入模块B的依赖信息,模块A就可以加载模块B的jar包.但如果模块A与模块B在不 ...

  9. 用Maven部署war包到远程Tomcat服务器

    过去我们发布一个Java Web程序通常的做法就是把它打成一个war包,然后用SSH这样的工具把它上传到服务器,并放到相应的目录里,让Tomcat自动去解包,完成部署. 很显然,这样做不够方便,且我们 ...

随机推荐

  1. 2015年CSDN博客排名第一名,何方神圣?

    2015年CSDN博客排名第一名,何方神圣? 一.引子: 话说博主phphot,雄霸天下好多年. 俱往矣, 落花流水春去也. 斗转星移,江山易主. 详细可以参见下文: CSDN博客排名第一名,何许人也 ...

  2. C++ Primer 有感(异常处理)(四)

    查看普通函数的声明的时候,不可能知道该函数会抛出什么异常,但是在捕获异常的时候要知道一个函数会抛出什么样的异常,以便捕获异常. 异常说明:指定,如果函数抛出异常,抛出的异常将是包含在该说明中的一种,或 ...

  3. JAVA DOM4j解析XML数据到自定义javabean

    我们获取xml中的数据,一般以面向对象的思想去处理这些数据.因此,我们需要自定义类来封装解析出来的数据,以方便我们操作这些数据. 自定义的java类,称为javabean. 自定义Contact类代码 ...

  4. byte和长度为8的boolean数组互相转换

    由于byte是一个8位字节 所以可以用它来存放数组为8的boolean数组,这些在通信协议会经常用到.这里给出一个java代码对其互相转换的. package com.udpdemo.test2; i ...

  5. 使用百度地图开发一个导航定位demo-android学习之旅(77)

    首先介绍如何导入百度地图 步骤(其实官方文档写的很清楚了)http://developer.baidu.com/map/index.php?title=androidsdk/guide/introdu ...

  6. C语言中sizeof与strlen区别

    本文转载自:http://www.2cto.com/kf/201109/105100.html 1. 以字符串形式出现的,编译器都会为该字符串自动添加一个0作为结束符,如在代码中写"abc& ...

  7. 浅谈C之精华---指针

    今天是2016年的第一天,祝大家元旦快乐!哎,今天有点倒霉,代码写到一半,突然机子就没电了,幸好有保存,否则今天没有这篇日志的出现. 好了,今天以我个人的角度来深度剖析一下C语言中关于指针的用法以及注 ...

  8. FFMPEG结构体分析:AVFormatContext

    注:写了一系列的结构体的分析的文章,在这里列一个列表: FFMPEG结构体分析:AVFrameFFMPEG结构体分析:AVFormatContextFFMPEG结构体分析:AVCodecContext ...

  9. 【LaTeX排版】LaTeX论文排版<三>

    A picture is worth a thousand words(一图胜千言).图在论文中的重要性不言而喻,本文主要讲解图的制作与插入. 1.图像的插入     图像可以分为两大类:位图和向量图 ...

  10. 【编程练习】kmp算法代码

    代码来自: http://blog.csdn.net/v_JULY_v #include "StdAfx.h" #include <iostream> using na ...