最近遇到一个关于发布订阅(Replication)的奇葩问题,特此记录一下这个案例。我们一SQL SERVER数据库服务器出现大量告警。告警信息如下所示:

DESCRIPTION: Replication-Replication Distribution Subsystem: agent xxxxxx failed. Column names in each table must be unique. Column name 'xxxxx' in table 'dbo.xxxxxx' is specified more than once.

经过一番详细检查、分析后才发现这个错误出现的前因后果。我们暂且用A表示TableName, C表示该表上的字段/列名。 该系统的供应商的维护人员由于需求变更,需要修改表A,增加字段C,但是这个表做了发布订阅,所以他首先在订阅服务器上执行了增加字段C的脚本,然后去发布服务器上执行增加字段C的脚本,结果就出现了这个错误。Replication要将A表的修改从发布服务器同步到订阅服务器,结果订阅服务器上A表已经有了字段C,所以出现这个错误。正常情况下应该在发布服务器增加字段C,Replication会自动同步到订阅服务器。

刚开始这个错误让我一头雾水,不知道为什么报这样的错误。直到详细检查、推理验证才发现问题根源。可以说是对Replication的一知半解导致了这个错误,我想开发人员和DBA都应该引以为戒!

Replication-Replication Distribution Subsystem: agent xxxxxx failed. Column names in each table must be unique的更多相关文章

  1. Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -

    mysql -A不预读数据库信息(use dbname 更快)—Reading table information for completion of table and column names Y ...

  2. 解决:Reading table information for completion of table and column names

    mysql -A不预读数据库信息(use dbname 更快)—Reading table information for completion of table and column names Y ...

  3. Reading table information for completion of table and column names

    mysql> use ad_detail_page;Reading table information for completion of table and column namesYou c ...

  4. mysql切换数据库提示警告:Reading table information for completion of table and column names

    登录数据库后,选择数据库时发现以下提示, mysql> use testReading table information for completion of table and column ...

  5. MySQL Reading table information for completion of table and column names

    打开数据库是发现提示: mysql> show databases; +--------------------+ | Database | +--------------------+ | b ...

  6. msyql error: Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A

    mysql> use mydb Reading table information for completion of table and column names You can turn o ...

  7. mysql 提取 schema,table,column names

    参考: https://dzone.com/articles/how-use-linkedin-market-your 表空间信息 https://coderanch.com/t/300498/dat ...

  8. Replication:distribution 中一直在运行 waitfor delay @strdelaytime 语句

    Replication 自动创建来一个 Job:Replication monitoring refresher for distribution,这个Agent执行一个sp: dbo.sp_repl ...

  9. Replication:Distribution Reader

    在transactional replication中,在publication中执行了一个更新,例如:update table set col=? Where ?,如果table中含有大量的数据行, ...

随机推荐

  1. Markdown 语法整理

    Markdown 语法整理 白宁超 2015年7月24日14:57:49 一.字体设置 A First Level Header == A Second Level Header -- # 标题 ## ...

  2. 数据库SQL Service 2014中文版的安装和配置教程

    一.我的电脑环境 1.windows8.1(64位) 2.之前电脑没有安装数据库的软件 二.装机之前准备(我这儿提供百度云保存和下载) 1.下载一个“Sql service 2014中文版” http ...

  3. scikit-learn一般实例之一:绘制交叉验证预测

    本实例展示怎样使用cross_val_predict来可视化预测错误: # coding:utf-8 from pylab import * from sklearn import datasets ...

  4. .Net语言 APP开发平台——Smobiler学习日志:实现在手机上调用摄像头进行扫描

    最前面的话:Smobiler是一个在VS环境中使用.Net语言来开发APP的开发平台,也许比Xamarin更方便 样式一 一.目标样式 我们要实现上图中的效果,需要如下的操作: 1.从工具栏上的&qu ...

  5. iOS项目开发中的知识点与问题收集整理②(Part 二)

    1.点击UIButton 无法产生触摸事件    如果在UIImageView中添加了一个按钮,你会发现在默认情况下这个按钮是无法被点击的,需要设置UIImageView的userInteractio ...

  6. ASP.NET5,MVC 6,Beta 7与VS 2015 RTM的兼容问题

    温馨提示:本文杂而乱,最终不知所云. Visual Studio 2015 RTM已经于2015年7月20号正式发布,我也在第一时间下载安装了起来. 虽然在5月份就开始使用RC版本,但是还是很期待正式 ...

  7. 【Java每日一题】20161213

    package Dec2016; public class Ques1213 { public static void main(String[] args){ String str1 = " ...

  8. 深入理解JDK中的I/O

    深入理解JDK中的I/O 目 录 java内存模型GCHTTP协议事务隔离级并发多线程设计模式清楚redis.memcache并且知道区别mysql分表分库有接口幂等性了解jdk8稍微了解一下特性 j ...

  9. 3、ASP.NET MVC入门到精通——Entity Framework增删改查

    这里我接上讲Entity Framework入门.从网上下载Northwind数据库,新建一个控制台程序,然后重新添加一个ado.net实体数据模型. EF中操作数据库的"网关"( ...

  10. UML简单例子

    平时最常用到的UML图包括:用例图.类图.序列图.状态图. 用例图 主要是描述系统具有的一个功能单元.通常包含角色和用例.角色通常表示为一个系统用户,用例通常表示为系统具有的一个功能.通过用例图我们可 ...