数据库同步方式有很多种,这里以SQL Server 2008 为例利用数据库发布和订阅的方式来演示数据库的同步技术。由于就有一台计算机,只能在同一个服务器下两个不同的数据库之间进行数据同步进行演示。

首先我们在SQL Server 中建立两数据库 Lx_Data1 和 LxData2,并在两数据库中分别建立表t_student,脚本如下:

CREATE TABLE t_student
(Id INT NOT NULL,Name NVARCHAR(10) NULL,Age TINYINT NULL,School NVARCHAR (20) NULL,Class NVARCHAR (10) NULL,Score FLOAT NULL,CONSTRAINT PK_Student_Id PRIMARY KEY CLUSTERED (Id)
)

发布订阅分为两个步骤:1、发布。2订阅。首先在数据源数据库服务器上对需要同步的数据进行发布,然后在目标数据库服务器上对上述发布进行订阅。发布可以发布一张表的部分数据,也可以对整张表进行发布,还可以是存储过程等等。下面来演示一下这两个操作过程:

发布

注意:发布的时候SQL Server 需要有实际的服务器名称才能连接到服务器。不支持通过服务器别名、IP地址或者其他备用名称进行连接。因此如果当前的SQL Server的连接是IP地址的话,最好断开连接,以实际的服务器名称重新进行登录。

发布的具体过程如下:

1、展开SQL Server 2008 服务器下的 【复制】 节点,会发现有【本地发布】和【本地订阅】两个节点,右击【本地发布】节点,选择【新建发布】:

2、如果服务器第一次进行发布设置,会弹出【发布向导】对话框,设置【分发服务器】,选择第一个:

3、点击【下一步】会询问我们【启动SQL SERVER代理】的方式,由于是演示,我选则的是 手动方式:

4、点击【下一步】,会出现设置【快照文件夹】对话框,我们选择默认:

5、点击【下一步】,选择要发布的数据库,我们选择 数据库 Lx_Data1:

6、点击【下一步】,选择【发布类型】,我们选择 【事务发布】。这里要说明一下如果您对此对话框里面的各种发布类型不是很理解,请点击这里 选择适当的复制类型

7、点击【下一步】,选择数据库中的发布对象,我们的这个例子数据库只有一个表 t_student,我们选择这个表:

8、点击【下一步】,进入【筛选表行】对话框:

9、如果需要筛选表行点击【添加】就会出现如下的筛选器对话框:

10、我们不做筛选,要全部同步,点击【取消】后,直接【下一步】,进入【快照代理】设置对话框:

11、这里有两个选择一个是立即创建快照,一个是指定一个计划(比如可以指定xxx天xxx时间运行),我们选择第一个,并点击【下一步】进入【代理的安全性】设置:

12、点击【安全性设置】,我们选择 SQL SERVER 用户:

13、点击【确定】 后,返回 【代理安全性】设置对话框,继续点击【下一步】:

14、点击【下一步】,我们给发布进行命名为:“Lx_Data1_Publisher” :

15、点击【完成】,就会创建发布,并会显示创建发布的结果:

订阅

发布完成后,我们要进行订阅,过程如下:

1、右键点击【本地订阅】节点,打开,【新建订阅向导】对话框:

2、我们选择发布服务器 Lx-PC 中的数据库发布 Lx_Data1_Publisher,然后点击【下一步】:

3、在【分发代理位置】对话框中,选择第一项,点击【下一步】:

4、在【订阅服务器】对话框中,我们选择订阅数据库 Lx_Data2,然后点击【下一步】:

5、在【分发代理安全性】对话框中,我们点击“...”,进入安全性设置,我们选则的是 SQL 帐户:

6、输入帐号和密码后,点击【确定】,返回【安全性设置】对话框,点击【下一步】:

7、我们选择默认的“连续运行”,点击【下一步】,进入【初始化订阅】对话框:

8、初始化时间,选择 “立即” 初始化,点击【下一步】:

9、不创建脚本文件,点击【下一步】:

10、点击【完成】,就会创建订阅,并显示创建结果:

至此,服务器的发布和订阅都已经创建成功了。我们来测试一下,此时两个数据库表中都没有任何数据,向Lx_Data1中的 t_student 表中插入两条数据:

use Lx_Data1
go
insert into t_student values (1,'史泰龙',22,'纽约小学','一班',92)
insert into t_student values (2,'施瓦辛格',23,'华盛顿小学','一班',90)

然后我们查看两个数据库的结果:

use Lx_Data1
go
select * from t_studentuse Lx_Data2
go
select * from t_student

结果我们会发现数据已经同步了,如下图:

转载于:https://www.cnblogs.com/lxblog/archive/2012/11/08/2760650.html

SQL SERVER 2008 利用发布订阅方式实现数据库同步相关推荐

  1. SQL server 2008 中的五个系统数据库详解

    SQL Server 系统数据库有一个:分别为master , model , msdb ,tempdb 和 resource.他们的作用是什么呢?下面我们来一一分析: 1.master数据库 mas ...

  2. 怎样更改SQL Server 2008的身份验证方式

    大家都知道sql server 有两种登录验证方式,即sql server验证方式和windows验证方式,但是sql server默认的是windows登录验证方式,我们如何启用sql server ...

  3. SQL Server 使用Detach和Attach 方式 移动数据库位置

    数据库备份和权限等云云的概念就不介绍了, 直接进入主题操作了 环境: 1. 服务器 SQL Server 2005 2.  客户端工具: SQL Server Management Studio 3. ...

  4. SQL Server 2008 R2的发布订阅配置实践

    纸上得来终觉浅,绝知此事要躬行.搞技术尤其如此,看别人配置SQL SERVER的复制,发布-订阅.镜像.日志传送者方面的文章,感觉挺简单,好像轻轻松松的,但是当你自己去实践的时候,你会发现还真不是那么 ...

  5. SQL Server 2008概述(一)

    SQL Server 2008是一个重大的微软数据库产品版本,以SQL Server 2005为基础历经三年研发,推出了许多新功能并对关键功能做了改进,使得它成为至今为止的最强大和最全面的SQL Se ...

  6. SQL Server 2008新特性——SSMS增强

    SQL Server 2008已经发布很多天了,今天来总结一下我们最常用的工具SSMS在SQL 2008中的一些改进: 1.在注册的服务器组中一次SQL查询可以针对多个服务器执行. 首先是要在&quo ...

  7. 详细介绍微软SQL Server 2008

    SQL Server 2008是一个重大的产品版本,它推出了许多新的特性和关键的改进,使得它成为至今为止的最强大和最全面的SQL Server版本.这篇文章详细介绍了Microsoft SQL Ser ...

  8. sqlserver200864位下载_sqlserver2008 64位|sql server 2008 R2 64位企业版下载 - 121下载站

    sql server 2008 R2 64位企业版是微软官方发布的64位版本,支持win7.win8等操作系统.sql server 2008 R2是最新版本的数据库软件,可以有效地提升企业内部数据库 ...

  9. 微软 Sql Server 2008

    详细介绍微软SQL Server 2008 http://dev.yesky.com/264/7681264_4.shtml 2007-11-25 09:00 作者: 戴羽 出处: IT专家网 责任编 ...

最新文章

  1. android设置为存储设备,我可以从格式化为内部存储器的Android SD卡或USB驱动器中恢复数据吗? | MOS86...
  2. R语言构建xgboost模型:指定特征交互方式、单调性约束的特征、获取模型中的最终特征交互形式(interaction and monotonicity constraints)
  3. 刚毕业的职场萌新应具备这9种技能
  4. python从入门到项目实战李兴华网盘_贺胜军Python轻松入门到项目实战【经典完整版】...
  5. 事务BEGIN TRANSACTION
  6. Django 学习笔记之七 实现分页
  7. 操作系统第三章-内存管理
  8. 电容电阻贴片封装尺寸
  9. LINUX的“脏奶牛”
  10. Code Chef May Challenge 2019题解
  11. 字段与属性的总结与比较
  12. H.264视频质量评价算法(基于偏最小二乘法回归)
  13. python语言里数字包括_Python 学习 第一篇:数据类型(数字,布尔类型,操作符)...
  14. selenium安装和下载
  15. 网易互娱2017实习生招聘游戏研发工程师在线笔试第二场(一起消消毒)
  16. LabVIEW32位和64位的兼容性
  17. Deployer-6-部署流-Flow
  18. 翻译工作的重要性_为什么翻译平台很重要
  19. 联合概率数据关联JPDAF详解
  20. 《代码整洁之道》—第1章1.4节思想流派

热门文章

  1. Poj 2186 Popular Cows(Tarjan 强连通缩点)
  2. 利用 BASE64Encoder 对字符串进行加密 BASE64Decoder进行解密
  3. 跟锦数学2017年04月
  4. ITOO4.1之缓存—分布式缓存Memcached学习(理论篇)
  5. 如何处置你的竞争对手
  6. HDU 3251 Being a Hero
  7. Shell - 挂载硬盘
  8. 关于明年减半——BCH将会暴涨还是暴跌?矿工如何应对?
  9. 【VBA】点击工作簿中的每个单元格,整行整列变色
  10. asp.net core上使用redis探索(1)