sqlserver 定时任务同步数据

1. 打开 Sql server Management Studio

Sql server Management Studio 

微软提供了专门操作SQLServer数据库的工具:SQL Server Management Studio,

管理工具的版本最好比数据库的版本大,比如数据库用的是SQLServer2012的,管理工具也用2012版 或者更高版本的。

如果没有请自行下载

 

2. 通过管理工具连接数据库

若失败,请检查地址,用户名以及密码

3. 创建测试数据(测试用,可忽略)

3.1 创建源数据/目的数据库

点击数据库右键新建数据库  

分别创建源:source 

目的:purpose

分别创建字段以及表名称相同的表

目的表(purpose) sys_user

源表(source) sys_user

 

3.2 测试数据描述

需要将源数据库中的表定时同步到目的数据库表中

以上示例为: 

3.2插入测试数据

在源数据库的sys_user表中插入数据

此时目的数据库中的sys_user暂无数据

 

4. 创建计划任务

4.1. 发布

选择复制下面的本地发布

4.2 创建发布任务

右键新建发布

4.3.选择发布源

选择我们的source数据库

4.4. 选择发布类型

选择快照发布即可(若有不同的可根据发布类型说明,自定变更)

4.5.选择表

 4.6.添加删选器

添加筛选条件例如:筛选名称为张三的用户数据

实际操作并未筛选,因为我要全部的数据

4.7.代理设定

选择计划时间,点击更改

点击更改

本例采用每隔3分钟执行一次同步任务

点击确认,下一步

4.8. 安全配置

下一步

4.9.点击完成

4.10配置发布名称

点击完成

4.11等待完成

4.12 创建发布成功后

5.  创建本地订阅

5.1 新建订阅

右键新建订阅-选择下一步

5.2 选择需要订阅的发布任务

5.3分发代理配置

下一步

5.4订阅服务器

下一步

5.5安全性配置

同样的根据自身选择

5.6 点击完成

5.7 创建过程

等待创建成功

恭喜你已经可以定时同步了

6.结果总结

在source 中的sys_user表插入数据,此时会根据我们设定的同步规则,将数据同步至purpose sys_user表中!

6.1 新增数据

例如: source  的sys_user 插入三条数据。

三分钟后在 purpose 的sys_user 

就会出现三条一样的数据

6.2 修改数据

例如: 修改 source  的sys_user 的第二条数据

 

三分钟后在 purpose 的sys_user 就会出现一样的数据

 

 

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Windows.Forms; using System.Data.SqlClient; using System.Text; using MySql.Data; using MySql.Data.MySqlClient; //本程序的功能是实时从mysql中读取一条记录中的一个字段,插入到sqlserver 中,经过长时间的运行,基本无错了, 而这数据同步,目前没有实时性强的软件,至少1分钟,太久了,自己写了一个, //可以自己设置同步时间,字符连接串等,给了源码,而且对程序进行了很多优化 容错性很强,懂点程序的 就可以直接修改源码 就可以用了。由于没有时间按做界面,只能自己修改了,不过已经很稳定了,为了给大家提供点方便,免得还去查大量的资料。 namespace tool { public partial class Form1 : Form { public string mysql_Conn = "Database='cmccbbs';Data Source='211.139.22.124';UserId='cmcc';Password='CMCC2014cmcc2014';charset='utf8';pooling=true"; public string mysql_sql = "select max(id) from pre_sms_tempsend"; // public string sql_server_Conn = "Data Source=lei; DataBase=test; User=sa;PWD=123456"; 211.222.229.124 public string id, phone, verify, last_id; SqlConnection my_sql_con; MySqlConnection con; MySqlCommand cmd; DataSet ds; public string sql_server_Conn = "Data Source=222.85.144.112,14444; DataBase=DB_CustomSMS; User=sms;PWD=sms2014"; // public string sql_sql = "select max(id) from pre_sms_tempsend"; MySqlDataAdapter md; public int ii = 0; public Form1() { InitializeComponent(); timer1.Interval = 1000; //连接mysql con = new MySql.Data.MySqlClient.MySqlConnection(mysql_Conn); con.Open(); cmd = new MySqlCommand("select * from pre_sms_tempsend order by id desc limit 1", con); cmd.Connection = con; md = new MySqlDataAdapter(); ds = new DataSet(); //这样做避免一直new,导致内存泄露 } private void button1_Click(object sender, EventArgs e) { if (button1.Text == "start") { timer1.Enabled = true; button1.Text = "stop"; }
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值