首页 > 数据库 >SQL Server数据库Owner导致事务复制log reader job无法启动的解决办法

SQL Server数据库Owner导致事务复制log reader job无法启动的解决办法

时间:2024-08-09 19:49:38浏览次数:12  
标签:execute sp log 数据库 SQL Server reader owner

问题场景

SQL Server事务复制在正常创建发布和订阅之后,log reader Job 启动异常,出现“The process could not execute ‘sp_replcmds’ on xxx”等异常日志导致代理服务无法正常启动。

 

异常现象

参考下图,异常日志如下

Error messages:

  • The process could not execute ‘sp_replcmds’ on xxx.
  • Cannot execute as the database principal because the principal “dbo” does not exist, this type of principal cannot be impersonated, or you do not have permission.
  • The process could not execute ‘sp_replcmds’ on xxx. 

异常原因

这种常见错误发生于数据库是被从其他备份还原过来的,数据库的owner通常是一个域账号(服务账号)且该账号不存在与当前数据库实例中,亦或者还原数据库的域账号失效(密码变更),导致数据库没有有效的owner,或者SQL Server无法正确识别数据库的所有者。

解决方案

1,通过脚本修改数据库的owner为sa或者本地的一个sysadmin的账号

USE PublishedDatabase
GO
--检查数据库的owner
select name, suser_sname(owner_sid)from sys.databases;
GO
EXEC sp_changedbowner 'sa'
GO

 

2,通过SSMS图形界面修改

 

标签:execute,sp,log,数据库,SQL,Server,reader,owner
From: https://www.cnblogs.com/wy123/p/18351390

相关文章

  • 脚本执行报错 cp: cannot stat '/home/dar/app/log_back'$'\r''/nohup.out': No
    背景针对线上nohup日志较大,需要进行拆分,所以写了一个脚本文件,用来定时执行(或者手动执行)脚本一log_dir="/home/dar/app/log_back"#拷贝日志文件到昨天的log中cp$log_dir/nohup.out$log_dir/nohup-$(date+"%Y%m%d_%H%M%S").log#清空nohup.out日志truncate-s0$log_d......
  • SQL server存储过程函数
    sp_helpextendedproc得到所有的存储扩展一些sql扩展xp_regaddmultistringxp_regdeletekey删除键名xp_regdeletevalue删除键值xp_regenumkeys枚举键值xp_regenumvaluesxp_regread读取xp_regremovemultistringxp_regwrite写入xp_availablemedia查看有用的驱动器x......
  • 派胜OA ExpressOA 3.0 现已支持 Windows Server 2022
    ExpressOA3.0跨平台,高性能,现代化的协同办公平台系统。派胜ExpressOA3.0现已支持WindowsServer2022。WindowsServer2022是微软推出的第九个WindowsServer系列操作系统。也是Windows10的第三个服务器版本。它的第一个早期预览版本于2021年3月2日发布,正式版已于同年8月19......
  • Springboot+logback+druid +密码加密 实现业务日志入库
    springboot配置spring:datasource:type:com.alibaba.druid.pool.DruidDataSourcedruid:#主库数据源master:driverClassName:com.mysql.cj.jdbc.Driverurl:jdbc:mysql://xxx:3306/dbName?useUnicode=true&characterEncoding=u......
  • server2019部署
    安装部署server2019(datacenter)和远程服务器一、安装s2019下载2019镜像,在目标主机上使用iso文件存储当作启动盘装系统,或者打开iso文件,点击setup安装系统。安装系统过程中没有特殊操作,根据需求自行安装即可二、激活s2019使用工具,url:https://wwf.lanzout.com/iMXxb26xiko......
  • 【VMware vCenter】一次性说清楚 vCenter Server 的 CLI 部署方式。
    VMwarevCenterServer是VMwarevSphere解决方案的核心组件,用于管理多个ESXi主机并实现更多高级功能特性(如HA、DRS以及FT等),相信大家已经非常熟悉了。对于vCenterServer的安装和部署,可能大部分人会选择使用GUI方式部署vCenterServer,并使用vCenterServerISO镜像......
  • 玩转usbserver(五)之usbserver加入zabbix集中监控
     一、把usbserver加入到zabbix监控平台问:可以监控那些东西答:主要是端口监控,连接断开了可以及时报警、网络断开了也可以报警....二、如何配置(你把那两个模版导入,照图配置一下主机资源即可)zbx_export_hosts.yamlzabbix_export:version:'6.2'date:'2024-05-30T......
  • Windows Server 任务计划执行bat脚本,无法正常自动执行的解决方案
    注意点如下:1、请点击“创建任务”而不是“创建基本任务” 2、运行任务时,请使用System账户 3、配置:请选择:windowsserver2016或2003,xp,2000。注意千万不要选择2008 4、在“程序或脚本”中请填写脚本的名称,而不是路径;在“起始于(可选)”中请填写文件路径,注意后面不要跟文......
  • graylog长日志丢日志的问题
    graylog长日志丢日志的问题环境:C#.NET使用UDP发送给graylog。当日志内容(full_message)超过 21790个汉字时,就报错:一个在数据报套接字上发送的消息大于内部消息缓冲区或其他一些网络限制,或该用户用于接收数据报的缓冲区比数据报小。 21780个汉字正常。 可能尝试的......
  • c#语言,SQL server数据库;基于Web的社区人员管理系统的设计与实现36303(免费领源码)计算机
    目 录摘要1绪论1.1慨述1.2课题意义1.3B/S体系结构介绍1.4ASP.NET框架介绍2 社区人员管理系统分析2.1可行性分析2.2系统流程分析2.2.1数据增加流程2.2.2数据修改流程52.2.3数据删除流程52.3系统功能分析62.3.1功能性分析62.3.2非功能性......