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)

官方文档: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值。

转载于:https://www.cnblogs.com/grom/p/9018978.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/398007.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java值类型和引用类型 == 比较,Java中值类型和引用类型的比较与问题解决

一、问题描述前几天因为一个需求出现了Bug。说高级点也挺高级,说白点也很简单。其实也就是一个很简单的Java基础入门时候的值类型和引用类型的区别。只是开发的时候由于自己的问题,导致小问题的出现。还好突然想起来以前看过一篇对于该问题讲解的博客&am…

java 泛型的几点备忘

1、在java虚拟机中是没有泛型的&#xff0c;所有泛型类的参数都会被擦除&#xff0c;如下&#xff1a; public void test(List<String> list, int num){}public void test(List<Integer> list, int num){} 这两个方法对于java编译器来说是一样的&#xff0c;因此无…

用最简单的例子说明设计模式(三)之责任链、建造者、适配器、代理模式、享元模式...

责任链模式一个请求有多个对象来处理&#xff0c;这些对象是一条链&#xff0c;但具体由哪个对象来处理&#xff0c;根据条件判断来确定&#xff0c;如果不能处理会传递给该链中的下一个对象&#xff0c;直到有对象处理它为止使用场景1)有多个对象可以处理同一个请求&#xff0…

Ubuntu 12.04 修改/etc/resolv.conf重启后还原成修改前状态解决办法

$ sudo vi /etc/resolvconf/resolv.conf.d/head (最后一行添加)按a或i进入编辑模式search spreadtrum.com (寻找或声明域spreadtrum.com)nameserver 10.0.0.97按Esc键退出编辑模式:wq (保存并退出)$ sudo resolvconf -u (更新resolv.conf文件)/etc/resolv.conf文件中就会多…

利用Java针对MySql封装的jdbc框架类 JdbcUtils 完整实现(包含增删改查、JavaBean反射原理,附源码)...

最近看老罗的视频&#xff0c;跟着完成了利用Java操作MySQL数据库的一个框架类JdbcUtils.java,完成对数据库的增删改查。其中查询这块&#xff0c;包括普通的查询和利用反射完成的查询&#xff0c;主要包括以下几个函数接口: 1、public Connection getConnection() 获得数据库…

Linux启动提示Kernel panic - not syncing: Attempted to kill init解决办法

系统类型&#xff1a;CentOS 6.5(x64) 启动提示&#xff1a;Kernel panic - not syncing: Attempted to kill init 解决办法&#xff1a; 系统启动的时候&#xff0c;按下‘e’键进入grub编辑界面&#xff0c;编辑grub菜单&#xff0c;选择“kernel /vmlinuz-XXXXro root/dev/v…

vuex和vuejs

前言&#xff1a;在最近学习 Vue.js 的时候&#xff0c;看到国外一篇讲述了如何使用 Vue.js 和 Vuex 来构建一个简单笔记的单页应用的文章。感觉收获挺多&#xff0c;自己在它的例子的基础上进行了一些优化和自定义功能&#xff0c;在这里和大家分享下学习心得。 在这篇教程中我…

laravel mysql 配置,laravel5数据库配置及其注意事项

今天分享一个Laravel5数据库配置上的坑。Laravel5作为一套简洁、优雅的PHP Web开发框架(笑)&#xff0c;唯一不足的一点就是中文手册或者说是资料比较少&#xff0c;虽然现在很多大神也开始普及这些东西&#xff0c;但是大神一遍也会忽略一下小坑。今天配置了一下数据库&#x…

React开发中常用的工具集锦

本文从属于笔者的React入门与最佳实践系列。本文记录了笔者在React开发中常见的一些工具插件&#xff0c;如果你想寻找合适的项目生成器或者模板&#xff0c;请参考笔者的使用Facebook的create-react-app快速构建React开发环境 React Devtools React Devtools是React官方提供的…

9-[记录操作]--数据的增删改,权限管理

1、数据操作语言&#xff1a; DML&#xff08;data manage language&#xff09; 在MySQL管理软件中&#xff0c;可以通过SQL语句中的DML语言来实现数据的操作&#xff0c;包括 使用INSERT实现数据的插入UPDATE实现数据的更新使用DELETE实现数据的删除使用SELECT查询数据以及。…

hdu 1023 Train Problem II

题目连接 http://acm.hdu.edu.cn/showproblem.php?pid1212 Train Problem II Description As we all know the Train Problem I, the boss of the Ignatius Train Station want to know if all the trains come in strict-increasing order, how many orders that all the tra…

阿贝尔分部求和法的应用(二)

14.(阿贝耳定理) 设$\sum\limits_{n0}^{\infty}a_{n}s$. 则$\lim_{x\to 1-}\sum\limits_{n0}^{\infty}a_{n}x^{n}s$.证明: 容易看出$f(x)\sum\limits_{n0}^{\infty}a_{n}x^{n}$在$0 \leq x \leq 1$上一致收敛.由Cauchy收敛准则知,任意$\varepsilon>0$,存在$n$任意$p>0$有…

python中字母大小顺序,如何在Python中按字母顺序对unicode字符串排序?

Python sorts by byte value by default, which means comes after z and other equally funny things. What is the best way to sort alphabetically in Python?Is there a library for this? I couldnt find anything. Preferrably sorting should have language support…

Nginx自建CDN加速节点 实现DNS智能解析网站项目

如今&#xff0c;网站项目越来越多的会使用CDN加速&#xff0c;如果需要便捷一点的可以直接用第三方提供的CDN加速服务&#xff0c;比如百度CDN、七牛、又拍云、腾讯云、阿里云等等服务商都有提供这类服务。但是前提条件是需要一定的成本&#xff0c;以及网站域名是需要BA才可以…

字符串字典排序

把字符串以字典的展示形式排序&#xff0c;如把字符串abc,bad,aade,bdca排列成aade,abc,bad,bdca。 1.使用冒泡排序 (1) 相邻两数据两两比较&#xff0c;较大的放到后面&#xff0c;直到把最大的字符串放在最后一个位置。 (2) 从头开始再进行相邻数据两两比较&#xff0c;较大的…

OC2_点语法(属性关键字)

// // Dog.h // OC2_点语法(属性关键字) // // Created by zhangxueming on 15/6/16. // Copyright (c) 2015年 zhangxueming. All rights reserved. //#import <Foundation/Foundation.h>interface Dog : NSObject //属性关键字 //assgin(缺省)直接赋值 //基本类型 …

matlab中获取view,ios 怎么获取一个view的位置

ios 怎么获取一个view的位置以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;ios 怎么获取一个view的位置打开appstore进入应用&#xff0c;右上角的分享按钮(从右往左数第二个)&#xff0c;拷…

eureka需要替换吗_Spring Cloud Alibaba迁移指南1:零代码从Eureka迁移到Nacos

作者&#xff1a;得少&#xff0c;校对&#xff1a;周立。在本号首发&#xff0c;欢迎转载。Spring Cloud官方宣布Spring Cloud Netflix进入维护状态&#xff0c;后续不再会有新的功能已成为事实。作为开发者&#xff0c;如何使用极简的方式替换Netflix相关组件成为首要解决的问…

P1134 阶乘问题

题目描述 也许你早就知道阶乘的含义&#xff0c;N阶乘是由1到N相乘而产生&#xff0c;如&#xff1a; 12! 1 x 2 x 3 x 4 x 5 x 6 x 7 x 8 x 9 x 10 x 11 x 12 479,001,600 12的阶乘最右边的非零位为6。 写一个程序&#xff0c;计算N(1<N<50,000,000)阶乘的最右边的非零…

JAVA TCP通信练习

2019独角兽企业重金招聘Python工程师标准>>> 1、Server端 package com.hhdys.serviceimpl;import java.io.*; import java.net.ServerSocket; import java.net.Socket; import java.util.ArrayList; import java.util.List; import java.util.Scanner; import java.…