MS SQL 2008 - 事务发布失败 - 进程无法在“SERVERNAME”上执行“sp_replcmds”

MS SQL 2008 - 事务发布失败 - 进程无法在“SERVERNAME”上执行“sp_replcmds”

我在 Windows Server 2008 R2 上运行了 MS SQL 2008。

一切都是在虚拟机上运行的全新安装。

我可以毫无问题地制作快照发布。但我无法制作事务发布,甚至在尝试配置订阅者之前就收到错误。以下是我做事的方式:

  1. 我配置了分布。(默认设置)
  2. 我启动新出版物向导。

    • 事务发布
    • 我选择“立即创建快照”
    • 我配置了快照代理和日志读取器代理的安全设置(使用 Windows 帐户域管理员)
    • 出版物创建成功,没有错误。
    • “查看快照代理状态”报告没有错误 - 100%成功。
    • 转到复制监视器,错误​​从这里开始 - 日志读取器代理错误 - “该进程无法在‘SERVERNAME’上执行‘sp_replcmds’...” [见图]

我做错了什么?或者我遗漏了什么? 在此处输入图片描述

答案1

来自BOL:

只有 sysadmin 固定服务器角色或 db_owner 固定数据库角色的成员才能执行 sp_replcmds。

那么,日志读取器代理以谁的身份运行?也就是说,它如何连接到发布者数据库?如果该用户没有 db_owner 或不是 sysadmin,您将会遇到失败。

答案2

如果订阅者数据库已从备份恢复到不同的实例,请检查域管理员用户是否处于孤立状态。

使用[订阅者] go exec sp_change_users_login'报告' go

相关内容