绑定完请刷新页面
取消
刷新

分享好友

×
取消 复制
事务复制:进程无法在“XX计算机名”上执行“sp_replcmds”。
2023-03-21 10:24:13

近闲来无事,决定研究下事务复制

配置完事务复制,启动SQL serverAgent 后,查看同步状态,发现提示错误

错误消息:

  • 进程无法在“XX计算机名”上执行“sp_replcmds”。 (源: MSSQL_REPL,错误号: MSSQL_REPL20011)
    获取帮助: help/MSSQL_REPL20011
  • 无法作为数据库主体执行,因为主体 "dbo" 不存在、无法模拟这种类型的主体,或您没有所需的权限。 (源: MSSQLServer,错误号: 15517)
    获取帮助: help/15517
  • 进程无法在“XX计算机名”上执行“sp_replcmds”。 (源: MSSQL_REPL,错误号: MSSQL_REPL22037)
    获取帮助: help/MSSQL_REPL22037

排查原因:

运行以下语句,查看每个数据库实例是否都有所有者

select name, suser_sname(owner_sid)from sys.databases;

解决办法:

方法一:(亲测有效)

右键单击了数据库->属性 ,并在“常规”选项卡中验证了所有者设置正确。 但是,在“文件”选项卡中,未设置所有者。一旦设置好数据库拥有者,复制运行没有问题。

方法二:

ALTER AUTHORIZATION ON DATABASE::[<dbname>] TO [sa]

例:

alter authorization on database::[test2] to [node3\administrator]

方法三:

USE [<dbname>] GO sp_changedbowner 'sa'


参考大神链接:

SQL Server 2008 复制 遇到: 进程无法执行 'sp_replcmds' 命令

分享好友

分享这个小栈给你的朋友们,一起进步吧。

SQLServer
创建时间:2023-03-20 14:06:14
美国Microsoft公司推出的一种关系型数据库系统。SQL Server是一个可扩展的、高性能的、为分布式客户机/服务器计算所设计的数据库管理系统,实现了与WindowsNT的有机结合,提供了基于事务的企业级信息管理系统方案。
展开
订阅须知

• 所有用户可根据关注领域订阅专区或所有专区

• 付费订阅:虚拟交易,一经交易不退款;若特殊情况,可3日内客服咨询

• 专区发布评论属默认订阅所评论专区(除付费小栈外)

技术专家

查看更多
  • 飘絮絮絮丶
    专家
戳我,来吐槽~