Sql Server 部署SSIS包完成远程数据传输
本篇介绍如何使用SSIS和作业完成自动更新目标数据任务。
** 温馨提示:如需转载本文,请注明内容出处。**
本文链接:https://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值。
Sql Server 部署SSIS包完成远程数据传输的更多相关文章
- 部署SSIS包完成远程数据更新
** 温馨提示:如需转载本文,请注明内容出处.** 本文连接:http://www.cnblogs.com/grom/p/9018978.html 笔者需要定期从服务器更新N家客户的远程服务器数据,上 ...
- [转]一步一步部署SSIS包图解教程
本文就SQL统计分析SSIS包的部署进行一次详细的部署图解教程,Sql Server Integration Services 提供了非常简单的部署工具,利用这些工具可以方便地将包文件(*.dtsx) ...
- 一步一步部署SSIS包图解教程
本文就SQL统计分析SSIS包的部署进行一次详细的部署图解教程,Sql Server Integration Services 提供了非常简单的部署工具,利用这些工具可以方便地将包文件(*.dtsx) ...
- Maven deploy部署jar包到远程私仓
Maven deploy部署jar包到远程私仓 maven deploy介绍 maven中的仓库分为两种,snapshot快照仓库和release发布仓库.snapshot快照仓库用于保存开发过程中的 ...
- 解决SQL Server管理器无法连接远程数据库Error: 1326错误
解决SQL Server管理器无法连接远程数据库Error: 1326错误 我们在在使用SQL Server时都会遇到使用SQL Server Management Studio无法连接远程数据库实例 ...
- 未找到或无法访问服务器 请验证实例名称是否正确并且SQL Server 已配置为允许远程连接
无法连接到sql server 2008服务器 报下错误 其他信息 在与SQL Server建立连接时出现与网络相关的或特定于实例的错误 未找到或无法访问服务器请验证实例名称是否正确并且SQL ...
- 请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。 (provider: Named Pipes Provider, error: 40 - 无法打开到 SQL Server 的连接)
程序异常,错误信息:在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误.未找到或无法访问服务器.请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接. (pro ...
- Microsoft® SQL Server® 2012 功能包
Microsoft® SQL Server® 2012 功能包 http://www.microsoft.com/zh-cn/download/details.aspx?id=29065 Micros ...
- 解决SQL Server管理器无法连接远程数据库的问题(转)
add by zhj: 本文最后那个数据库别名没搞明白,在我的测试中没有建别名,是可以的.远程登陆时,服务器名称: 服务器IP,端口号 (如223.42.155.248,52134 如果是默认端口号1 ...
随机推荐
- SpringBoot 整合 Mybatis + Mysql——XML配置方式
一.介绍 SpringBoot有两种方法与数据库建立连接,一种是集成Mybatis,另一种用JdbcTemplate,本文主要讨论集成Mybatis方式. SpringBoot整合Mybatis也有两 ...
- [转]开源日志库<log4cplus+VS2008使用>整理
转 开源日志库<log4cplus+VS2008使用>整理 转http://pyhcx.blog.51cto.com/713166/143549 一.简介 log4cplus是C+ ...
- BottomNavigationView结合ViewPager
BottomNavigationView是Google推出的底部导航栏组件,在没有这些底部导航组件之前,Android开发者多使用的是RadioGroup,在上一个项目开发中我们使用了Google的B ...
- apply方法和call方法的详解2
1.apply和call的区别在哪里 2.什么情况下用apply,什么情况下用call 3.apply的其他巧妙用法(一般在什么情况下可以使用apply) 我首先从网上查到关于apply和call的定 ...
- xml php 解析
JSON作为数据交换可以说已经成为了一种事实上的标准,但是前几年和它对应的xml虽然说用的越来越少,但是我感觉还是有他可以应用的地方. json更偏重于程序员来使用和解读,而xml则更适合用户来使用和 ...
- 了解 Azure VM 的系统重启
有时 Azure 虚拟机 (VM) 可能重启,即使没有明显原因,也没有证据表明用户发起重启操作. 本文列出了可导致 VM 重启的操作和事件,并针对如何避免意外重启问题或减少该问题影响提供见解. 配置 ...
- 【Oracle】DBMS_STATS.GATHER_TABLE_STATS详解
由于Oracle的优化器是CBO,所以对象的统计数据对执行计划的生成至关重要! 作用:DBMS_STATS.GATHER_TABLE_STATS统计表,列,索引的统计信息(默认参数下是对表进行直 ...
- 机器学习入门KNN近邻算法(一)
1 机器学习处理流程: 2 机器学习分类: 有监督学习 主要用于决策支持,它利用有标识的历史数据进行训练,以实现对新数据的表示的预测 1 分类 分类计数预测的数据对象是离散的.如短信是否为垃圾短信,用 ...
- ScriptManager的使用方法 .(转)
从这一节开始我将和大家一起学习ASP.NET AJAX的服务器端控件的用法.首先,安装ASPAJAXExtSetup.msi,可以到微软官方网站上去下载.安装之后当你新建项目的时候会多出一个ASP.N ...
- CSMA/CD 3
一.二进制指数类型退避算法 (truncated binary exponential type) 发生碰撞的站在停止发送数据后,要推迟(退避)一个随机时间才能再发送数据. 目的:重传时再次发生碰撞的 ...