SQL Server事务复制(sql 2008 r2)
一、环境准备
1.两个虚拟服务器
主机1:XINXIBU01 作为发布和分发服务器 主 机2:XINXIBU02 192.168.1.160 作业阅服务器
2.SQL SERVER
sql 2008 R2 (注意:连接数据库时要用主机名称)
3.数据库
名称:BigbeardERPSystem
注:已经在发布服器和订阅服务器上还原好相同的数据库
4.新建一个数据库用户(ReplicationUser)
二、配置分发服务器
发布和分发在一台主机上
.
在XINXIBU01上新建 并设置共享文件目录
修改为新建的共享目录
分发数据库的路径可修改存储空间大的盘符,这测试暂不做修改
配置完成
注意:
在发布和分发服务器上的数据库上执行,以下授权命令(分发和发布同一台服务器)
use BigbeardERPSystem
alter authorization on database::[BigbeardERPSystem] to [XINXIBU01\kang]
三、配置分布服务器
之前做好的数据授权,这里可以立即初始化
取一个发布数据库的名称,可以相同也可不相同
查看快照初始化完成情况
等待完成即可
四、订阅服务器配置
五、配置过程中遇到卡得久的问题:
1. 起初使用推送订阅很顺利,后来改成请求订阅出现了以下问题,折腾好长时间终于搞定,留下此文备日后查阅参考:
首先阐述以下问题:
解决方法:
在订阅服务器和发布服务器设置相同账号密码的系统登录用户(例如:账号 administrator ),之后设置两台服务器的SQL Server 代理 (MSSQLSERVER)服务的登录名(必须确保发布和订阅服务器的账号密码相同)如图:
把代理改为自动启动
2.数据库授权
2.错误,原因,是对数据库没有权限
解决:
ALTER AUTHORIZATION ON DATABASE::[数据库名] TO [sa]
3.无法订阅连接 ---- 般是用户密码有误 (优先把所有用到的用户的密码确认有没有输错)
补充注意事项:
发布服务器添加用户,要将快照重新初始化,因为之前的快照没有用户会报对共享快照文件没有权限。
问题 :要订阅时, 假如用普通用户连接:
解决:连接发布服务器要用能在发布服务器管理员账号,比如sa 或者有管理员权限的用户