SQL Server复制:事务发布
一、背景
在复制的运用场景中,事务发布是使用最为广泛的,我遇到这样一个场景:在Task数据库中有Basic与Group两个表,需要提供这两个表的部分字段给其它程序读取放入缓存,程序需要比较及时的获取到这些数据,作为DBA你需要从权限和性能控制的角度出发,我采用了SQL Server的事务复制技术和timestamp,下面只讲述事务复制的搭建过程; 二、实现过程 (一) 环境信息 系统环境:Windows Server 2008 + SQL Server 2008 R2 发布服务器:192.168.1.151,服务器名称:USER-H2B2A89PEK 分发服务器:与发布服务器同一台机器 订阅服务器:192.168.1.152,服务器名称:USER-FJMO8L052U 发布数据库:Task 订阅数据库:TaskSiteInfo 数据库帐号:ReplicationUser/ ReplicationPassword (二) 搭建步骤 A. 发布服务器配置 首先在发布数据库和订阅数据库上创建相同的帐号和密码(ReplicationUser/ ReplicationPassword),并且设置Task数据库的安全对象,设置这样的帐号的目的就是为了和程序连接到数据库的帐号区分开,可以做权限上的控制,方便问题的排查; --更改安全对象的所有权 ALTER AUTHORIZATION ON DATABASE::[Task] TO [ReplicationUser] 在E盘目录下创建文件夹:E:ReplData,并设置这个文件夹为共享目录,共享用户为barefootadmin; (Figure1_1:文件夹权限) 这里需要设置SQL Server Agent登陆帐号为上面文件夹访问用户barefootadmin; (Figure1_2:SQL Server Agent登陆帐号) (Figure2:分发服务器) 如果你设置快照文件夹路径为:E:ReplData,即使你的发布服务器本身就是分发服务器,如果订阅服务器是另外一台机器,那么在请求(Pull)订阅(如果是推送(Push)订阅就没有这个限制)模式下订阅代理是无法访问到这个快照文件的;除非你发布服务器、分发服务器和订阅服务器都是同一台机器;你应该设置快照文件夹路径为:USER-H2B2A89PEK ReplData; (Figure3:快照文件夹) (Figure4:数据库) (编辑:徐州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |