sqlserver复制环境几种常见错误的修复方法
场景1:应用复制的删除命令时在订阅服务器上找不到该行。
这种情况一般是发布库存到分发库丢包导致了订阅服务器上的记录缺少,正好删除缺少的记录时触发的故障。
解决方案
1 先查看是哪个表哪条记录缺少所致
use distribution
go
sp_browsereplcmds '0x00000030000000EA000600000000','0x00000030000000EA000600000000'
Command 列内容 :{CALL [dbo].[sp_MSdel_dbosn] (555)} 表示调用存储过程sp_MSdel_DBosn(555)时出错,这是一个删除操作的存储过程,删除sn 表主键为555的记录
2 消除故障
对于这种删除订阅服务器上记录而找不到此记录的场景的解决方法是直接修改存储过程sp_MSdel_dbosn ,注释存储过程的报错代码
场景2:应用复制的更新命令时在订阅服务器上找不到该行。
这种情况一般是发布库存到分发库丢包导致了订阅服务器上的记录缺少,正好更新缺少的记录时触发的故障。
解决方案
1 先查看是哪个表哪条记录缺少所致
use distribution
go
sp_browsereplcmds '0x00000030000000F1000400000000',' 0x00000030000000F1000400000000'
Command 列内容 : {CALL [dbo].[sp_MSupd_dbosn] (,N'12312 ',,111,0x02)} 表示调用存储过程 [sp_MSupd_dbosn](,N'12312 ',,111,0x02) 时出错,这是一个修改记录操作的存储过程,修改sn 表主键为111的记录
2 消除故障
将发布服务器上的记录手动插入到订阅服务器上
insert intosn(字段,字段)
select 字段,字段from [192.168.8.54].ss3000v3.dbo.snwhere sn.id=111
场景3:主键冲突。
这种情况是订阅库中已经存在了主键为111的记录,然后再向订阅库里插入主键111的记录。
解决方法 删除订阅库中主键为111的记录。
场景 4
1 消息15466,级别16,状态2,过程sp_addlinkedsrvlogin,第91 行
解密过程中出错。
消息15185,级别16,状态1,过程sp_addlinkedsrvlogin,第98 行
没有从远程服务器'repl_distributor' 映射到本地用户'(null)'的远程用户'distributor_admin'。
解决:
use tempdb
ALTER SERVICE MASTER KEY FORCE REGENERATE
场景 5
消息18483,级别14,状态1,第1 行
由于没有在服务器'mangotv'上将'distributor_admin'定义为远程登录名,所以无法连接到该服务器。请确保指定的登录名正确无误
解决:
use master
go
select @@servername --数据库当前机器名
select serverproperty('servername') --查询实际的机器名
IF serverproperty('servername')<>@@servername
BEGIN
DECLARE @server SYSNAME
SET @server=@@servername
EXEC sp_dropserver@server=@server
SET @server=cast(serverproperty('servername') AS SYSNAME)
EXEC sp_addserver@server=@server,@local='LOCAL'
END
ELSE
PRINT '实例名与主机名一致,无需修改!'
场景6 删除分发时
错误:
消息21122,级别16,状态1,过程sp_dropdistributiondb,第124 行
由于分发数据库'distribution' 当前正在使用中,因此无法将其删除。
解决:查看占用distribution的进程,kill掉,再执行删除
select * from sys.sysdatabases
select * from sysprocesses where dbid=8
kill 65
use [master]
exec sp_dropdistributor@no_checks = 1
GO
场景7
订阅初始化后,订阅未初始化,查看分发代理的日志,排查问题,一般是权限不对
错误:
2014-03-18 03:02:20.022 状态: 4096,代码: 20024,文本: '初始化'。
2014-03-18 03:02:20.022 代理正在运行。请使用复制监视器查看此代理会话的详细信息。
状态: 0,代码: 20011,文本: '进程无法在“WIN-EP8J9BJ70MH”上执行“sp_replcmds”。'。
2014-03-18 03:02:20.022 进程无法在“WIN-EP8J9BJ70MH”上执行“sp_replcmds”。
状态: 0,代码: 15517,文本: '无法作为数据库主体执行,因为主体 "dbo" 不存在、无法模拟这种类型的主体,或您没有所需的权限。'。
2014-03-18 03:02:20.022 状态: 0,代码: 22037,文本: '进程无法在“WIN-EP8J9BJ70MH”上执行“sp_replcmds”。'。
解决
主要是权限不对
ALTER AUTHORIZATION ON DATABASE::[数据库名] TO [sa]
USE 数据库名
GO
sp_changedbowner sa
sqlserver复制环境几种常见错误的修复方法相关推荐
- 【机器学习】机器学习实践中的 7 种常见错误
编译:伯乐在线 - yixingqingkong,英文:Cheng-Tao Chu 编注:本文作者是 Codecademy 的分析主管 Cheng-Tao Chu,其专长是数据挖掘和机器学习,之前在 ...
- 机器学习实践中的 7 种常见错误
转载自:http://blog.jobbole.com/70684/ 编注:本文作者是 Codecademy 的分析主管 Cheng-Tao Chu,其专长是数据挖掘和机器学习,之前在 Google. ...
- vlookup匹配值不唯一_数据对比、数据查询匹配Vlookup函数3种常见错误及解决方案...
Excel中的Vlookup函数,在大家日常数据处理计算中应用的机会非常多,因为它可以帮助我们完成数据查询匹配.数据对比.但是这个函数在使用的过程中也经常会遇到查询错误的问题.根据实践经验总结,发现主 ...
- python文件打不开 环境变量错误,《自拍教程27》环境变量的常见错误,环境变量错误...
<自拍教程27>环境变量的常见错误,环境变量错误 错误一: 把文件路径放到Path环境变量 测试同学经常出现,把文件路径,放到Path环境变量里去. 比如添加:C:\Adb\adb.exe ...
- 目前几种常见穿NAT的方法分析
目前几种常见穿NAT的方法分析 本文转自http://blog.csdn.net/wcl0715/archive/2006/04/25/676078.aspx NAT的出现在一定程度上解决了发展中国家 ...
- android内存池,两种常见的内存管理方法:堆和内存池
描述 本文导读 在程序运行过程中,可能产生一些数据,例如,串口接收的数据,ADC采集的数据.若需将数据存储在内存中,以便进一步运算.处理,则应为其分配合适的内存空间,数据处理完毕后,再释放相应的内存空 ...
- centos linux 系统日常管理4 scp,rsync,md5sum,sha1sum,strace ,find Rsync 常见错误及解决方法 第十七节课...
centos linux 系统日常管理4 scp,rsync,md5sum,sha1sum,strace ,find Rsync 常见错误及解决方法 第十七节课 rsync可以增量同步,scp不行 ...
- 【安全】Kerberos相关问题进行故障排除| 常见错误和解决方法
1.概述 转载 为了学习:Kerberos相关问题进行故障排除| 常见错误和解决方法 2.总结 可以用来帮助诊断Kerberos相关问题的原因并实施解决方案的指南. 3. 症状 单击症状链接转到相应的 ...
- MySQL的配置方法以及数据库配置常见错误及其解决方法
第一部分.MySQL的配置方法: 以下为笔者整理的mysql 5.5 安装配置教程笔记.通过逐一界面分析,解决大家在配置MySQL数据库时可能存在的疑惑. 首先给出MySQL下载地址:MySQL :: ...
最新文章
- c语言交错级数前10项和,怎么求一个交错级数的和,谢谢
- python语言函数库_Python 的标准库,从0到1学Python
- Xargs用法详解(原创)
- K Co-prime Permutation 构造,gcd,互质(2020.12.南京)
- Spring Cloud Dalston.SR5 BUG一记
- 【NOIp 2015】【DFS】斗地主
- (C++)String的用法
- Android Makefile and build system 分析
- 晶振封装与频率对照表
- CentOS安装锐捷认证客户端
- hadoop面试题(全)
- C语言编写贪吃蛇游戏
- python手机端抢票大麦网_手把手教你用python抢票回家过年 !
- littleVGL开发(10):事件(EVENT)
- 在北京拿40K的Java程序员,需要掌握哪些技术栈才能匹配阿里P7?
- 简单明了的java反射机制
- Microsoft编写优质无错C程序秘诀
- 买手机怎么选?答:看图买
- MySQL的卸载与安装
- 【机器人】无传感器的工业机器人负载估计