SQL Server 订阅、发布的坑
最近因为又要省钱又要想实时备份数据库数据,想到的最简单的方法可能就是发布订阅了,于是测试了一下。在虚拟机里测试一切都好,于是磨刀霍霍准备上真机,结果还好手上有一台运行多年但是数据已经无效的物理机,想尝试下看看不会有坑。结果不试不知道,一试才发现导出都是雷。以下就是总结的遇到的各种雷,当然不保证还有没有踩到的其他雷。1. 服务器名称和数据库实例名称不一致:有人在安装好服务器和数据库后修改了服务器名,
最近因为又要省钱又要想实时备份数据库数据,想到的最简单的方法可能就是发布订阅了,于是测试了一下。在虚拟机里测试一切都好,于是磨刀霍霍准备上真机,结果还好手上有一台运行多年但是数据已经无效的物理机,想尝试下看看不会有坑。结果不试不知道,一试才发现到处都是雷。以下就是总结的遇到的各种雷,当然不保证还有没有踩到的其他雷。
1. 服务器名称和数据库实例名称不一致:有人在安装好服务器和数据库后修改了服务器名,这样日常使用是没有问题的,但是在做发布的时候就直接报错,必须把实例名改成和服务器一样的名字。
2. 从1衍生的问题,本地账号登录数据库的时候,前缀也是原机器名的前缀,需要删除账号后重新添加。这里又有两个雷,一个是如果没有设置sa账号,而是只有admin账号的话,一旦删除。。。你懂的,还有就是重新添加admin账号后,不要忘记权限设置,不设置权限就是一个用户账号,不要以为Windows下的admin账号在sql中直接会成为管理员账号。
3. 文件夹权限:测试的时候发现很多 错误3,查了很多资料没说明白,后来才意识到所谓的权限是指agent运行账号有没有对文件夹的读写权限,只要把对应账号赋予ntfs权限就能读写了。
4. 磁盘空间:测试装完调完后,有几天都是能正常使用的,结果有一天突然发现不行了,登录后才发现C盘没空间了。可以的话要把快照文件夹弄一个单独的有足够空间的盘。如果前期忘记设置,后期也是可以重新指定的。
5. 事务订阅一直报错,多次测试后才发现,如果只同步表是没事的,但是如果加了视图和存储过程后就不行了,其实这个问题在制作发布的时候有提示,有哪些视图和存储过程是需要在订阅服务器上先行设置的,但是,如果有很多,也需要一个个弄吗?这个还真不知道怎么处理好。
6. 快照订阅:如果你说,快照订阅不会有视图和存储过程需要先行建立的问题,那么,事务订阅当有更新的时候,测试只要几秒钟就能同步到订阅服务器,但是快照是有周期的,时间最少10秒钟,也就是说事务基本上是触发更新的。所以,个人觉得事务订阅可能跟实时化一点。
7. 如果源发布上有表、视图、存储过程的增减,那么相对的需要在设置中将相应的变更勾选上,否则在订阅端无法看到。虽然操作表面很简单,很多教程也有讲解,但是测试过程中无一例外全部失败,原因不明。。。
8. 不算是雷,就是要注意表一定要有主键,没有主键的表是不能被发布的。
上面就是安装过程中遇到的雷。上述问题全部排出后,安装就成功了,尝试了几次,没有遇到更多问题。总结下就是初期安装服务器的时候一定要规范,否则后续会遇到各种莫名其妙的怪事。
更多推荐
所有评论(0)