SQL Server 订阅、发布的坑

        最近因为又要省钱又要想实时备份数据库数据,想到的最简单的方法可能就是发布订阅了,于是测试了一下。在虚拟机里测试一切都好,于是磨刀霍霍准备上真机,结果还好手上有一台运行多年但是数据已经无效的物理机,想尝试下看看不会有坑。结果不试不知道,一试才发现到处都是雷。以下就是总结的遇到的各种雷,当然不保证还有没有踩到的其他雷。

        1. 服务器名称和数据库实例名称不一致:有人在安装好服务器和数据库后修改了服务器名,这样日常使用是没有问题的,但是在做发布的时候就直接报错,必须把实例名改成和服务器一样的名字。

        2. 从1衍生的问题,本地账号登录数据库的时候,前缀也是原机器名的前缀,需要删除账号后重新添加。这里又有两个雷,一个是如果没有设置sa账号,而是只有admin账号的话,一旦删除。。。你懂的,还有就是重新添加admin账号后,不要忘记权限设置,不设置权限就是一个用户账号,不要以为Windows下的admin账号在sql中直接会成为管理员账号。

        3. 文件夹权限:测试的时候发现很多 错误3,查了很多资料没说明白,后来才意识到所谓的权限是指agent运行账号有没有对文件夹的读写权限,只要把对应账号赋予ntfs权限就能读写了。

        4. 磁盘空间:测试装完调完后,有几天都是能正常使用的,结果有一天突然发现不行了,登录后才发现C盘没空间了。可以的话要把快照文件夹弄一个单独的有足够空间的盘。如果前期忘记设置,后期也是可以重新指定的。

        5. 事务订阅一直报错,多次测试后才发现,如果只同步表是没事的,但是如果加了视图和存储过程后就不行了,其实这个问题在制作发布的时候有提示,有哪些视图和存储过程是需要在订阅服务器上先行设置的,但是,如果有很多,也需要一个个弄吗?这个还真不知道怎么处理好。

        6. 快照订阅:如果你说,快照订阅不会有视图和存储过程需要先行建立的问题,那么,事务订阅当有更新的时候,测试只要几秒钟就能同步到订阅服务器,但是快照是有周期的,时间最少10秒钟,也就是说事务基本上是触发更新的。所以,个人觉得事务订阅可能跟实时化一点。

        7. 如果源发布上有表、视图、存储过程的增减,那么相对的需要在设置中将相应的变更勾选上,否则在订阅端无法看到。虽然操作表面很简单,很多教程也有讲解,但是测试过程中无一例外全部失败,原因不明。。。

        8. 不算是雷,就是要注意表一定要有主键,没有主键的表是不能被发布的。

        上面就是安装过程中遇到的雷。上述问题全部排出后,安装就成功了,尝试了几次,没有遇到更多问题。总结下就是初期安装服务器的时候一定要规范,否则后续会遇到各种莫名其妙的怪事。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值