我无法尝试解决在两个不同的商品服务器上全新安装两个 sql-server 2017 开发版本的问题。
问题出现在尝试合并复制一个数据库时。每次同步订阅者(在很多不同的组合和场景中)都以以下错误结束:
exec sys.sp_MSaddmergetriggers N'systemunits', N'dbo', null, 0**************deferred cmd exec completed
Cannot find the object 'MSmerge_ctsv_A6203259D69B49709C5BE266A99D0DBC', because it does not exist or you do not have permission.
我已经default-instace
在两台服务器上安装了 SQL 服务器,安装后没有对服务器进行重命名。
有什么建议么?
答案1
经过一整天的时间,我终于找到了解决问题的方法!看来副本代理使用订阅者的域名(而不是 IP 或端口)进行复制而没有出现问题,DNS 中的每个不匹配或更改(例如,localhost 而不是主机名,命名实例后面的端口号等)都会导致同步过程中出现错误。
为了避免任何问题,我创建了引用目标订阅者的 sql-ALIAS,并在订阅的定义中使用这些别名。
例如:指向服务器“10.12.12.5\SqlExpress,49170”,我创建别名:\SqlExpress 端口:49710 协议:TCP/IP 服务器:10.12.12.5\SqlExpress
并使用这些别名(即 \SqlExpress )作为主机订阅者。