SQLServer 远程服务器不存在,未被指定为有效的发布服务器,或您无权查看可用的发布服务器

时间:2023-03-09 19:35:04
SQLServer 远程服务器不存在,未被指定为有效的发布服务器,或您无权查看可用的发布服务器

原文:SQLServer 远程服务器不存在,未被指定为有效的发布服务器,或您无权查看可用的发布服务器

创建了事务发布,在初始化时出现错误,查看相关代理信息如下:

日志读取器代理错误:

状态: 0,代码: 20015,文本: '远程服务器 "serverName" 不存在,未被指定为有效的发布服务器,或您无权查看可用的发布服务器。'。

远程服务器 "serverName" 不存在,未被指定为有效的发布服务器,或您无权查看可用的发布服务器。

快照代理错误:

异常消息: 远程服务器 "serverName" 不存在,未被指定为有效的发布服务器,或您无权查看可用的发布服务器。

已以用户  域\用户  的身份执行。 复制代理遇到问题。有关详细信息,请参阅上一个作业步骤历史记录消息或复制监视器。.  该步骤失败。

已以用户 NT AUTHORITY\NETWORK SERVICE 的身份执行。 将截断字符串或二进制数据。 [SQLSTATE 22001] (错误 8152).  该步骤失败。

分发代理错误:

Startup Delay: 1042 (msecs)

正在连接到 分发服务器“serverName”

代理消息代码 14080。 远程服务器 "serverName" 不存在,未被指定为有效的发布服务器,或您无权查看可用的发布服务器。

配置应该不会错,代理作业所有者也改为了“sa” ,可能就是权限的问题!

解决方法:

1. 该用户 域\用户 是执行代理的用户,授予用户服务器角色:
sysadmin 

EXEC master.dbo.sp_addsrvrolemember @loginame = 域\用户', @rolename = N'sysadmin'
GO

2. 右键发布属性,点击 发布访问列表,将该用户添加到其中。

SQLServer 远程服务器不存在,未被指定为有效的发布服务器,或您无权查看可用的发布服务器

3. 重新初始化,正常了!~