sql server作业实现数据同步
作业介绍
SQL SERVER的作业是一系列由SQL SERVER代理按顺序执行的指定操作。作业可以执行一系列活动,包括运行Transact-SQL脚本、命令行应用程序、Microsoft ActiveX脚本、Integration Services 包、Analysis Services 命令和查询或复制任务。作业可以运行重复任务或那些可计划的任务,它们可以通过生成警报来自动通知用户作业状态,从而极大地简化了 SQL Server 管理[参见MSDN]。创建作业、删除作业、查看作业历史记录....等所有操作都可以通过SSMS管理工具GUI界面操作,有时候也确实挺方便的。但是当一个实例有多个作业或多个数据库实例时,通过图形化的界面去管理、维护作业也是个头痛的问题,对于SQL脚本与GUI界面管理维护作业熟优熟劣这个问题,只能说要看场合。下面主要介绍通过SQL脚本来管理、维护作业。
作业优劣
作业适合一些简单的操作,主要是定时执行一些计划,利用JOB定时执行,先清空本地数据,然后从远程LinkServer远程数据库提取数据插入当前数据库,方式简单,操作容易,但是效率低,不需要检查事物日志去比较差异。但是频繁的清空,插入,如果数据量比较大时候。效率会很低,而且进行一些复杂的操作是有点困难。主要看你的需求是咋样。
实际例子
需求:将一台服务器上的sql server2005某一些表的数据同步到另一台服务器装有sql server 2008的数据库中。在同步中,有一些数据4小时更新一次。另外一些2小时更新一次。
设计:由于操作简单我们首选采用server JOB来完成。在目标数据库中来完成作业创建。因为sql server2005版本有点低。定时将SourceDate中数据更新到目标数据库中,
首先删除目标数据库中数据,然后进行插入操作。有些需求不需要删除所有数据,但是你进行一些判断是否存在要更新和插入。在JOB不好操作,我暂时没有发现好的方法,只能将表清空,然后在插入,但是这样数据量大的时候就会慢下来。这里有两种办法实现设计,第一种就是源数据源中创建作业,另外一种是就是目标数据源中创建作业,因为sql server2005版本有点低。定时将SourceDate中数据更新到目标数据库中,这里有两种办法实现远程数据库连接,第一种就是在创建作业链接远程数据库中采用脚本连接,另外一种是利用GUI界面中在链接服务器中创建连接即可,我个人认为有界面版的好一些。
实现:①:在源数据库服务器上建立链接服务器。【服务器对象】-【链接服务器】-右键【新建链接服务器(N)…】-【常规】(如下图)
注 意:链接服务器IP:192.168.1.65是目标数据库,建立这个链接服务器准备直接访问192.168.1.65的服务器上的数据库表。由于这里是 SQL SERVER 所以服务器类型选择SQL Server。
②:选择【安全性】设置登录用户和密码,添加一个本地服务器登录到远程服务器的登录映射。然后【确定】(如下图)
③:这时可以看到了一个192.168.1.56的链接服务器。右键【测试连接(T)】(如下图)
④:如果出现如下对话框则说明配置正确(如下图)
在源数据库服务器上建立一个job主动的把数据push到目标数据库里去。⑤:新建立作业:【SQL Server 代理】-【作业】-右键【新建作业(N)...】
⑥:在【常规】中为作业起个名称(如下图)
⑦:点击【步骤】,然后点击【新建(N)…】创建作业步骤(如下图)
⑧:编辑步骤(如下图),然后【确定】
从源数据库push数据到目标数据库的sql语句:
truncate table [192.168.1.56].TargetData.[dbo].[TargetTable]
go
insert into [192.168.1.56 ].TargetData.[dbo].[TargetTable ] select * from SourceData.[dbo].[SourceTable]
go
⑨:新建作业计划(如下图),然后【确定】
⑩:最终【确定】就可以了(如下图)
11:执行SQL JOB,右键点击刚新建的作业【PushDataToTarget】-【作业开始步骤(T)…】(如下图)
12:结果出现下面的问题(如下图)
13:然后去查看日志右键点击【PushDataToTarget】-【查看历史记录(V)】(如下图)
sql server作业实现数据同步相关推荐
- SQL Server AlwaysOn查看数据同步进度
SQL Server AlwaysOn数据同步失败,修复完成后,检查数据追赶同步进度情况 SELECT ag.name AS ag_name, ar.replica_server_name, db_n ...
- 局域网内两台SQL Server电脑如何实时同步数据
局域网内两台SQL Server电脑如何实时同步数据 2007-04-10 15:56 在数据库事务处理系统中,数据的同步性问题非常重要,下面我们来建立一个能检测数据同步性的存储过程. ...
- 了解SQL Server数据库静态数据及其如何适合数据库生命周期管理
什么是静态数据 (What is static data) Static data (aka Code, Lookup, List or Reference data), in the context ...
- sql server作业_SQL Server作业性能–报告
sql server作业 描述 (Description) Once collected, job performance metrics can be used for a variety of r ...
- sql server作业_在SQL Server中报告作业失败并发出警报
sql server作业 SQL Server Agent can be used to run a wide variety of tasks within SQL Server. The buil ...
- SQL Server 如何读写数据
01. SQL Server 如何读写数据 一. 数据读写流程简要 SQL Server作为一个关系型数据库,自然也维持了事务的ACID特性,数据库的读写冲突由事务隔离级别控制.无论有没有显示开启事务 ...
- SQL Server插入中文数据后出现乱码
原文:SQL Server插入中文数据后出现乱码 今天在做项目的过程中遇到如标题的问题,情况如下图: 数据库使用的是SQL Server2012版本,创建表的脚本如下: CREATE TABLE [d ...
- SQL SERVER作业的Schedules浅析
SQL SERVER作业的计划(Schedules),如果你没仔细研究过或没有应用一些复杂的计划(Schedules),那么你觉得SQL SERVER作业的计划(Schedules)非常好用,也没啥问 ...
- SQL Server :理解数据记录结构
原文:SQL Server :理解数据记录结构 在SQL Server :理解数据页结构我们提到每条记录都有7 bytes的系统行开销,那这个7 bytes行开销到底是一个什么样的结构,我们一起来看下 ...
- SQL Server中的数据层应用程序简介
In this article, I'm going to introduce the data-tier applications in SQL Server. As the official do ...
最新文章
- mysql 8.0配置主从同步_MySQL8.0.19开启GTID主从同步CentOS8
- go channel 缓冲区最大限制_GO语言圣经学习笔记(八)Goroutines和Channels
- Android异步消息机制
- playbook核心元素之 模板template 介绍(7)
- proteus仿真micropython_[MicroPython]TurniBit开发板DIY自动窗帘模拟系统
- Ubunt16.04 搭建 GPU 显卡驱动 + CUDA9.0 + cuDNN7 详细教程
- JUL执行原理和流程
- 让你的PHP也能执行JS并获得JS函数的返回值
- 哥德巴赫猜想(洛谷P1304题题解,Java语言描述)
- 王校长撩妹不成反被锤爆?再有钱的舔狗也只是舔狗【Python爬虫实战:微博评论采取】
- 关于jenkins打包部署
- Android5开机自动执行sh,自动脚本执行器
- java基于springboot高校后勤报修管理系统
- 清华大学计算机杜瑜皓,我在清华等你来|2015国际信息学奥赛全球第四名杜瑜皓:人生不搏枉少年...
- IPv4 + IPv6 = IPv10?是的,IPv10就是IPV4 + IPv6!
- 【历史上的今天】9 月 21 日:世界上第一部商用移动电话;苹果发布 iPhone 5 ;Mini-SATA 研制成功
- 解决问题:failed to lazily initialize a collection of role异常解决
- 利用组策略部署软件——将软件发布给用户
- IMDB数据看影响电影票房的因素分析
- uniapp项目H5端横屏问题-样式错乱+字体大小+video
热门文章
- 用python创建及使用一个tls_Python使用TLSv1.2和Forward Secrecy粘贴SSL服务器
- h264和aac 封装成flv
- 什么是PECL电平以及常用的匹配电路
- 【错误记录】Android Studio 编译报错 ( Module was compiled with an incompatible version of Kotlin. The binary )
- 用Java判断ab大小_比例类数据的差异性检验与AB测试的终止点
- JAVA应用生产问题排查步骤
- Flutter系列之设置Dialog的宽度
- Iphone连接Openwrt的IPSEC服务器
- 如何用TextView显示Html格式的数据
- excel表格打印每页都有表头_怎样设置Word表格打印时每页都显示表头?不会的看看这篇教程!...