SqlServer的订阅发布功能可以准实时的备份数据库,用来做读写分离都是可以的,简单好用
以下是亲身经历闭坑指南
准备工作
1,确定安装了数据库的复制功能,如果没有重新运行数据库安装包就可以增加这个功能
2,把SqlServer代理服务开启,并修改为自动(不能是手动)
四种复制模式介绍
快照发布:隔一段时间会覆盖订阅服务器的数据库,这里每一次快照都是完整覆盖;可以用来做备份;
事务发布:【推荐】,这是【接近实时】地从源到目标分发数据的方法;可以用来做读写分离;
具有可更新订阅的事务发布:双向更新,不推荐;
合并发布:发布服务器和订阅服务器的更新都会同步到对方,注意ID在合并发布上的冲突,不推荐。
1,同实例内的发布订阅
同实例内的发布订阅相当简单
1,右键新建发布,按指引一步步操作就可以创建一个发布
2,右键一个发布新建订阅,也是一路绿灯,基本没有问题
新建发布注意点
在快照代理.安全设置对话框上面选择:“在Sql Server代理服务账户下运行”
如果是快照发布,要勾选定时生成快照:“计划在以下时间内运行快照代理”,这是完整快照,间隔不能太小
如果是事务发布,也要勾选定时生成快照,时间设置长一点,7天一次快照就可以
2,跨服务器订阅
以A发布,B订阅为例
1,在A上新建好发布
2,在A上打开Sql Server 配置管理器,找到Sql Native Client xx 配置(有两个),都添加别名
3,新建别名:【这里最关键】
别名:B的计算机名
端口号:1433(如果改过就按实际填写)
服务器:IP\实例名 例如:9.9.9.9\MSSQLSERVER (实例名默认为:MSSQLSERVER ,如果改过就按实际填写)
4,测试一下用【B的计算机名+sa账号密码】能否连上B数据库,记住密码
5,右键发布新建订阅,用【B的计算机名+sa账号密码】添加订阅服务器
6,其他按指引操作就可以了
B不需要做什么配置