不同服务器数据库之间的数据定时同步到sql server (支持mysql,oracle数据库同步到sql server)
1,在目标数据库新增服务器对象->连接到服务器->新建服务器连接

2,编写数据同步业务PROC
ALTER PROC TestProc
AS
BEGIN
--打开完全事物回滚
SET XACT_ABORT ON;
SET NOCOUNT ON; --开始异常拦截
BEGIN TRY
--开始事物
BEGIN TRANSACTION;
PRINT '开始同步数据';
MERGE INTO dbo.TestTable AS T
USING
(
SELECT ROW_NUMBER() OVER (ORDER BY CREATE_DATE DESC) AS Id,
NAME,
PHONE
FROM [TEST_OGU].[Hyx_Finance_DB].[dbo].[TBL_CUSTOMER_RELATIONSHIP]
) AS d
ON T.Name = d.NAME
AND T.Phone = d.PHONE
--是否存在(存在更新)
WHEN MATCHED THEN
UPDATE SET Name = d.NAME,
Phone = d.PHONE
--不存在数据(新增数据)
WHEN NOT MATCHED THEN
INSERT
(
Name,
Phone
)
VALUES
(d.NAME, d.PHONE);
PRINT '同步数据结束';
--提交事物
COMMIT TRANSACTION;
--结束异常拦截
END TRY
BEGIN CATCH
--回滚事物
IF XACT_STATE() <> 0
BEGIN
ROLLBACK TRANSACTION;
END;
END CATCH; --还原事物设置
SET XACT_ABORT OFF;
END;
3,设置定时作业
1、打开本地数据连接,在左边资源管理器中找到Sql Server代理(在最下面)
2、【新建】一个作业
3、在【常规】中填写名称即可,说明看个人习惯
4、打开【步骤】,点击【新建】,填写【名称】,选择【数据库】,在命令空白处填写T-sql语句,然后点分析。
5、打开【计划】,点击【新建】,设置你想要的定时计划,然后保存。
6、点击【Sql Server代理】,右键启动,即定时作业启动。
7、如果想让定时作业开机自动启动,则在 服务中找到SQL Server 代理 (MSSQLSERVER),设置成【自动】模式
第三步:把定时作业生成脚本
方法1、点击【SQL Server 代理】下的作业,选中你创建的作业——右键编写作业脚本——create到,然后复制脚本语言即可
方法2、发现有博主这样写的(管理-SQL Server代理-作业(鼠标右键)-所有任务-生成SQL脚本-保存到下的某个sql文件 [Page])
不同服务器数据库之间的数据定时同步到sql server (支持mysql,oracle数据库同步到sql server)的更多相关文章
- SQL Server 之 在数据库之间进行数据导入导出
1.同一服务器上数据库之间进行数据导入导出 (1).使用 SELECT INTO 导出数据 在SQL Server中使用最广泛的就是通过SELECT INTO语句导出数据,SELECT INTO语句同 ...
- 阿里云RDS实例内不同数据库之间的数据迁移
适用场景 本文适用于使用DTS实现相同实例下库名不同的数据库之间的数据迁移.本文以使用DTS将同一RDS实例下的amptest库迁移到jiangliu_amptest库为例来说明如何使用DTS实现相同 ...
- PL/SQL Developer 远程连接Oracle数据库
PL/SQL Developer 远程连接Oracle数据库 网上搜了很多方法,这个可行! 1. 配置服务器tnsnames.ora文件,如果本机上没有安装oracle,可以从安装了oracle ...
- Decimal为SQL Server、MySql等数据库的一种数据类型
Decimal为SQL Server.MySql等数据库的一种数据类型,不属于浮点数类型,可以在定义时划定整数部份以及小数部分的位数.使用精确小数类型不仅能够保证数据计算更为精确,还可以节省储存空间, ...
- 支持MySql的数据库自动分表工具DBShardTools发布
支持MySql的数据库自动分表工具DBShardTools发布 前段时间参与了公司的一个项目,这个项目的特点是数据量.访问量都比较大,考虑使用数据库水平分表策略,Google了大半天,竟然没有找到分表 ...
- undo丢失恢复异常恢复,运维DBA反映Oracle数据库无法启动报错ORA-01157 ORA-01110,分析原因为Oracle数据库坏块导致
本文转自 惜纷飞 大师. 模拟基表事务未提交数据库crash,undo丢失恢复异常恢复,运维DBA反映Oracle数据库无法启动报错ORA-01157 ORA-01110,分析原因为Oracle数据库 ...
- PL/SQL Developer连接远程Oracle数据库
转自:http://zhengdu.net/archives/152 一.首先看远程端oracle服务是否启动 如果没有启动,请启动oracle服务 ps:创建或者删除oracle监听 二.远程端or ...
- sql plus 和 pl/sql无法连接远程oracle数据库
前言:安装完oracle客户端后,可能会出现sql plus 和 pl/sql无法连接远程oracle数据库的情况,可能是以下原因: 针对sql plus连接不上: 1 可能原因:之前安装过oracl ...
- SQLite与MySQL、SQLServer等异构数据库之间的数据同步
SQLite DBSync是开源嵌入式数据库SQLite的数据同步引擎,实现了SQLite与SQLite数据库之间以及SQLite与异构数据库(Oracle.MySQL.SQLServer)之间的增量 ...
随机推荐
- 【数组】Maximum Product Subarray
题目: Find the contiguous subarray within an array (containing at least one number) which has the larg ...
- 为android游戏开发-准备的地图编辑器-初步刷地图
采用多文理混合,单页面支持8张文理进行刷绘
- 可视化Echarts的使用示例
1.照着官方文档简单做两个图表,感受一下. <!DOCTYPE html> <html> <head> <meta charset="UTF-8&q ...
- C/C++练习题(二)
1.下面这些指针分别代表什么? float(**p1)[10]; double*(*p2)[10]; double(*p3[10])(); int*((*p4)[10]); long(**p5)(in ...
- ConfigurationManager
ConfigurationManager读取和写入 提供对客户端应用程序配置文件的访问 通过引入System.Configuration.dll可以用ConfigurationManager类来读取项 ...
- Sharepoint Timer job问题汇总
解决方案发布最好发布到GAC中,使用WebApplication很多时候会有问题.TimerJob并非是在IIS下运行,所以发布到wss目录下的dll不能使用. 如果解决方案中只有一个Timer Jo ...
- ruby实现下订单后给客户发送手机序列号
还有半个小时下班,写点今天做的功能,打发打发时间. 两个类,订单类和序列号类. 订单类 class GroupOrder include Mongoid::Document include Mongo ...
- Golang panic用法
Go语言追求简洁优雅,所以,Go语言不支持传统的 try…catch…finally 这种异常,因为Go语言的设计者们认为,将异常与控制结构混在一起会很容易使得代码变得混乱.因为开发者很容易滥用异常, ...
- 解决vuejs应用在nginx非根目录下部署时访问404的问题
以往部署vuejs应用都是直接在nginx的location为/下直接部署,这次遇到要将vue应用部署在/vuejs-admin的非根下,使用以往部署方案直接访问就会404,这时修改步骤如下: 1.修 ...
- Xcode DEBUG宏定义,debug和release模式的选择
设置DEBUG, 使用宏定义: #if DEBUG NSLog(@"debug model"); #else //执行release模式的代码 #endif