SQL Server双服务器架设并数据自动同步教程

交待:使用的软硬件环境为Win XP SP2、SQL Server 2000 SP2个人版、普通双核台式机、1000M局域网,A机为已使用的服务器,上面已有数据库和海量数据,B机为此次新架服务器,两机登陆方式均为sql server身份验证模式,其它设置均为默认设置,无特别。A机上另有FTP服务器,用于程序自动更新。

1、在A机上执行数据库备份。

2、用A机上备份下来的数据库备份文件在B机上执行数据库恢复,保证A、B机均有完全相同的数据库。(弄完后发现这上步好像不用做,反正发现时我已经弄完了,也就没有推倒重来验证)。

3、在A、B机上建两个用户名、密码完全一样的用户(控制面板>计算机管理>用户>新建),并把它们加入到administartor组。(如果两台机原来就都用administartor用户登录,那么,把两台机的登录密码改成一样就行,不用另行建新用户)

4、两台机上均进行此操作:启动>程序>管理工具>服务>右键单击SQLSERVERAGENT>属性>登陆>设置为上一步弄的那个用户名和密码。

5、在A机上进入企业管理器,把B机服务器加进服务器组,B机上进入企业管理器,把A机服务器加入服务器组。为省得麻烦,我都用了Sa用于两机互相登录SQL Server。

6、A机进入企业管理器,右键单击要发布的数据库>新建>发布,一步步下去就行,无需要特别设置的地方,走完了后,数据库下面会多出一个“发布”条目,右键点击>属性,可变更发布属性各项设置。要注意几点:1是代理登录用户要用第3步中设置的用户,不能用“系统用户”,2是数据库访问用户要指定(我是用的Sa,省得麻烦),3是要把A机上存放快照的目录设为共享,不共享的话,B机是得不到快照的(我是没用SQL默认的目录,人工指定为FTP服务器的根目录,原因下详),4是注意发布代理的工作频率不要设置过快,必竟生成快照文件,然后通知订阅者,订阅者再来拿数据还是需要一些时间的,至于需要多快,看你数据变动频率以及两机同步的快慢来设定吧,对于我来说,一天的数据丢失完全可以承受,于是乎,我设置了每5小时发布一次。

7、B机进入企业管理器,右键单击要同步的数据库>新建>订阅,一步步下去就行,无需要特别设置的地方。

8、完成后,按理说应该就能同步了,但我发现没有效果,查看A机上的发布管理器日志后发现,原来是B机不能取得A机上的快照文件,一看,原来SQL Server订阅用的端口居然是445,与病毒扫荡波一样,所以被防火墙拦掉了,囧,而我又不具有修改防火墙拦截规则的权限。于是在发布服务器属性中把快照存放目录指定为FTP所在根目录,打开允许FTP,填入FTP服务器访问用户名和密码,重新运行发布代理。B机上删除原订阅,重新建立订阅,设置采用FTP方式,于是问题解决。

PS:网上参考资料均说同步的表需要有主键,但我的系统中有一些表是没有主键的(因为表中每列均存在若干相同值,所以无法加主键,也懒得再去改表结构专门添加个序列,因为加个序列,偶就得改程序了,怕怕——!),最后同样成功了,SO,表有没有主键,肯定是不影响同步的,至少不影响快照同步模式。

(0)

相关推荐

  • SqlServer2008 数据库同步的两种方式(发布、订阅使用方法)

    上篇中说了通过SQL JOB的方式对数据库的同步,这一节作为上一节的延续介绍通过发布订阅的方式实现数据库之间的同步操作.发布订阅份为两个步骤:1.发布.2订阅.首先在数据源数据库服务器上对需要同步的数据进行发布,然后在目标数据库服务器上对上述发布进行订阅.发布可以发布一张表的部分数据,也可以对整张表进行发布.下面分别介绍发布.订阅的过程. 1.发布.发布需要用实际的服务器名称,不能使用服务器的IP地址进行.能发布的信息包括[表].[存储过程].[用户函数]如果使用IP会有错误,如下图: 具体发布

  • SqlServer2005 数据库同步配置图文详解

    <1>软件准备条件 机器A端:SqlServer2005 Management Studio + WinServer 2003 Enterprise (作为发布服务器) 机器B端:Sqlserver2005 Management Studio Express + WinXP(作为订阅服务器) 一:[准备条件] <1>软件准备条件 机器A端:SqlServer2005 Management Studio + WinServer 2003 Enterprise (作为发布服务器) 机器

  • sqlserver 2000数据库同步 同步两个SQLServer数据库的内容

    复制前要做好的准备工作: 1.发布服务器,订阅服务器都创建一个同名的windows用户,并设置相同的密码,做为发布快照文件夹的有效访问用户 我的电脑 控制面板 管理工具 计算机管理 用户和组 右键用户 新建用户 建立一个隶属于administrator组的登陆windows的用户 2.在发布服务器上,新建一个共享目录,做为发布的快照文件的存放目录,操作: 我的电脑 D:\ 新建一个目录,名为: PUB 右键这个新建的目录 属性 共享 选择"共享该文件夹" 通过"权限"

  • SQLServer 跨库查询实现方法

    本文给出一条 SQL 语句用于展示在同一名服务器上,不同的数据库间查询,注意当前连接用户要对两个库都有权限SQL Server 中 SQL 语句中对象的完整表达式是: [DatabaseServer].[DatabaseName].[DatabaseSchema].[DatabaseObject] 本文给出一条 SQL 语句用于展示在同一名服务器上,不同的数据库间查询,注意当前连接用户要对两个库都有权限. 复制代码 代码如下: select * from CfteaDb1.dbo.CfteaTa

  • SQLServer2005与SQLServer2008数据库同步图文教程

    1,复制简介 简单的说,复制是获取一个或多个数据库的过程,它系统的针对出入不同数据库的数据,提供基于规则的拷贝机制. 复制分为三种角色, 1,发布服务器 发布服务器可以被看成是源数据库. 2 ,分发服务器 分发数据库针对更改而承担类似某些票据交换所的工作,他是一个特殊的分发数据库,用于对更改进行跟踪,同时也跟踪哪些订阅服务器已经收到了这些更改.除此之外,它还跟踪任何同步过程的结果,并知道发生了哪些必须解决的冲突. 3,订阅服务器 任何参与到于复制发布过程的数据库,订阅服务器并不只能接受数据,它还

  • SQL Server 跨库同步数据

    最近有个需求是要跨库进行数据同步,两个数据库分布在两台物理计算机上,自动定期同步可以通过SQL Server代理作业来实现,但是前提是需要编写一个存储过程来实现同步逻辑处理.这里的存储过程用的不是opendatasource,而是用的链接服务器来实现的.存储过程创建在IP1:192.168.0.3服务器上,需要将视图v_custom的客户信息同步到IP2:192.168.0.10服务器上的t_custom表中.逻辑是如果不存在则插入,存在则更新字段. create PROCEDURE [dbo]

  • 通过SQL Server 2008数据库复制实现数据库同步备份

    SQL Server 2008数据库复制是通过发布/订阅的机制进行多台服务器之间的数据同步,我们把它用于数据库的同步备份.这里的同步备份指的是备份服务器与主服务器进行实时数据同步,正常情况下只使用主数据库服务器,备份服务器只在主服务器出现故障时投入使用.它是一种优于文件备份的数据库备份解决方案. 在选择数据库同步备份解决方案时,我们评估了两种方式:SQL Server 2008的数据库镜像和SQL Server 2008数据库复制.数据库镜像的优点是系统能自动发现主服务器故障,并且自动切换至镜像

  • SQLServer 2000 数据库同步详细步骤[两台服务器]

    为什么要同步SQL Server 2000 数据库,它都用在什么场合 SQL Server 2000 数据库同步配置的原理 从0开始一步一步配置SQL Server 2000 数据库同步,非常细 已经非常熟练,可以看精品版SQL Server 2000 数据库同步配置 配置SQL Server 2000 数据库同步时的 常见问题 为什么要同步SQL Server 2000 数据库,它都用在什么场合 数据实时备份同步,数据库服务器出问题时我们也有其正常工作时的备份 数据实时备份同步,一台服务器负载

  • 使用Sqlserver事务发布实现数据同步(sql2008)

    事务的功能在sqlserver中由来已久,因为最近在做一个数据同步方案,所以有机会再次研究一下它以及快照等,发现还是有很多不错的功能和改进的.这里以sqlserver2008的事务发布功能为例,对发布订阅的方式简要介绍一下操作流程,一方面做个总结备份,一方面与大家进行一下分享和交流.费话就不多说了,进入一下今天的正题:) 这里要说明一下环境:首先我在本地局域网内有两台安装有sqlserver2008的机器(注意:已发布的快照版本无法向老版本数据库兼容,意味着2008下创建的事务或快照发布,无法被

  • SQL Server 2005 镜像构建手册(sql2005数据库同步镜像方案)

    一. 镜像简介 1. 简介 数据库镜像是将数据库事务处理从一个SQL Server数据库移动到不同SQL Server环境中的另一个SQL Server数据库中.镜像不能直接访问;它只用在错误恢复的情况下才可以被访问. 要进行数据库镜像所需的最小需求包括了两个不同的SQL Server运行环境.主服务器被称为"主机",第二个服务器被称作"备机".主机数据库就是你实际用着的数据库,镜像数据库就是你的数据库的备用拷贝.当事务写入你的基本服务器的时候,他们也同样被传送到并

随机推荐