无法更改列 'xxx',因为它是 'REPLICATED'。_无法更改列 'age',因为它是 'replicated-程序员宅基地

技术标签: 重命名  replicate  SQL SERVER  sp_rename  

当我在更新表的列名称时,遇到报错‘无法更改列 ‘name’,因为它是 ‘REPLICATED’。’

这里写图片描述
查看数据库服务器,并无相关的发布和订阅存在。在网上搜索相关错误信息,发现有网友之前同样遇到过这种报错,原因是之前进行过订阅复制,后续删除时没有删除干净,需要使用EXEC SP_REMOVEDBREPLICATION ‘发布数据库名称’来强制删除发布。
在数据库中运行上述语句后,更改仍旧报错,且报错信息还是如上,这说明这个报错复制没有关系。
后来发现原因是该表开启了CDC,无法变更,只能将CDC关闭,带变更完成后再重新打开。
我的分析思路如下:
1.在其他数据库中执行ALTER sp_rename操作,成功,说明不是实例的问题,主要操作应该定位到数据库级别。
2.在数据库中新建表后进行sp_rename操作,成功,说明不是数据库整体的问题,将问题根源定位到了表级别。
3.比较原有表与新建表的差异:1.表结构与数据不同(这个应该不是问题) 2.原有表开启了CDC,新表没有。突然想到之前为数据库开启CDC时,有遇到报错,报错原因即为该库的replicated属性为1。
由此,我猜测变更失败可能和表开启CDC有关系。
测测试库还原报错如下:

    --建表
    create table test (id int not null primary key,name varchar(10) null)
    --开启cdc
    EXEC sys.sp_cdc_enable_db
    exec sys.sp_cdc_enable_table 
          @source_schema='dbo',
          @source_name='test', 
          @role_name=N'cdc_Admin',  
          @capture_instance=DEFAULT
--变更
    exec sp_rename 'test.name','first_name','column'

发现果然报错。
若想变更,只能暂时停止CDC.

--停止捕获
EXEC sys.sp_cdc_stop_job @job_type = 'capture'

使用上述语句停止捕获后仍旧失败,看来只能先关掉CDC在重新开启了。

    --关闭CDC
    EXEC sys.sp_cdc_disable_table 
            @source_schema = 'dbo', 
            @source_name = 'test', @capture_instance = 'all'
    --变更
    exec sp_rename 'test.name','first_name','column'
    --开启CDC
    exec sys.sp_cdc_enable_table 
    @source_schema='dbo',  
    @source_name='test',  
    @role_name=N'cdc_Admin',  
    @capture_instance=DEFAULT

更改成功。

经测试后发现,开启CDC后可以添加字段,可以更改字段类型,就是无法给字段重命名。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_38357227/article/details/79940267

智能推荐

python 脚本执行外部程序.exe关闭窗口程序(tcy)_update#setstate idle-程序员宅基地

文章浏览阅读9.2k次,点赞6次,收藏32次。说明:前面的部分用于打开外部程序.exe;win32gui用于关闭窗口程序(显示最大化最小化)Python调用(运行)外部程序 2019/3/7在Python中可在脚本中直接使用其他脚本或程序1 使用os.system(command)运行其他程序 :参数command 要执行的命令,相当于在Windows的cmd窗口中输入的命令。如果要向程序或者脚本传递参数,可以..._update#setstate idle

Springboot计算机毕业设计家政帮帮微信小程序【附源码】开题+论文+mysql+程序+部署-程序员宅基地

文章浏览阅读660次,点赞22次,收藏17次。具体而言,研究目的包括:设计并实现服务分类、订单完成、用户管理、服务信息发布、家政人员管理、预约信息管理等功能模块,确保用户能够方便地浏览和选择服务,实现快速预约和下单;我们将建立严格的信息审核机制,对家政人员发布的服务信息进行审核和筛选,确保信息的真实性和可靠性。首先,对家政服务行业进行深入的市场调研和需求分析,明确用户的需求和期望,为小程序的功能设计提供依据。此外,我们还将通过小程序收集用户数据和反馈信息,进行深入的数据分析,为家政服务行业的市场预测、决策支持和业务发展提供有力支持。

Labview Ethernetip TCP网口通讯欧姆龙PLC OmronNX1P2NJ501NJ301PLC标签通讯 CIP通讯比Fins通讯更完美_fins cip-程序员宅基地

文章浏览阅读549次,点赞7次,收藏10次。本文将从以下几个方面进行详细的讨论:自定义变量读写、Bool单点或数组读写、数字格式单个或数组读写、浮点数单个或数组读写,并通过实际测试验证程序的准确性。通过本文的学习,读者将能够更好地理解如何使用LabVIEW进行Ethernet/IP TCP网口通信,并更加灵活地与欧姆龙PLC进行通信。通过使用LabVIEW进行Ethernet/IP TCP网口通信与欧姆龙PLC的标签通信,我们能够更加灵活和方便地控制设备的状态和参数。相比传统的Fins通信,CIP通信具有更多的优势和功能,可以满足更多的应用需求。_fins cip

计算机视觉算法中的 相机姿态估计(Camera Pose Estimation)-程序员宅基地

文章浏览阅读2.5k次,点赞4次,收藏18次。另外,相机姿态估计是一个复杂的问题,还有其他更复杂的算法和方法可供选择,如PnP算法、EPnP算法、直接法(如ORB-SLAM)等。相机姿态估计,即相机位姿估计,是指通过计算机视觉算法来确定相机在世界坐标系中的位置和方向。一般情况下,我们可以将相机的姿态表示为一个4×4的变换矩阵,即相机的位姿矩阵。它通过检测图像中的特征点,并找到两幅图像之间对应的特征点,然后利用这些特征点的几何关系来估计相机的姿态。通过估计相机的姿态,可以根据相机的位置和朝向来确定虚拟对象的位置和姿态,从而实现虚拟对象与实际场景的融合。_相机姿态估计

VS Code 搭建MicroPython玩ESP8266初次上手点滴记录_vscode esp8266 python-程序员宅基地

文章浏览阅读4.2k次。来源:B站:《vscode开发python(vscode替换pycharm)》https://www.bilibili.com/video/BV1mA4y1Q7P5?spm_id_from=333.880.my_history.page.click提高生产力——>插件1、Python1、Prerequisites#:VS Code Python extension、Python 3,安装完会绑定pylance/jupyter2、配合conda可指定编译环境。3、配合境。2、vscode_vscode esp8266 python

java学习路线-程序员宅基地

文章浏览阅读572次。java学习路线文章目录java学习路线阶段一 javaSE阶段二 Web前端阶段三 数据库阶段四 JavaWeb阶段五 JavaWeb项目阶段六 Java高级框架阶段七 互联分布式网架构体系1阶段八 互联分布式网架构体系2阶段一 javaSE初识javaSE环境搭建基础语法流程控制函数和数组面向对象面向对象思想剖析​ 类的继承​ 接口和多态​ ..._java学习路线

随便推点

鸿蒙应用开发游戏(一)---大鱼吃小鱼(界面部署)_鸿蒙游戏开发教程-程序员宅基地

文章浏览阅读889次,点赞22次,收藏8次。你是否玩过古老而不失优雅的大鱼吃小鱼,小鱼的生存之路何尝不是我们这些打工人的写照,以前想用安卓写的,碰巧鸿蒙它来了,那就边学习边记录吧,这个游戏一共分为6篇,记录了鸿蒙App的第一步创建,申明式UI控件如何使用,简单动画的使用,方法的封装,变量的状态管理,点击事件的分发,页面的生命周期,钩子的使用,一些用法与安卓原生的对比等,也算是一个小完整的项目了。第一篇相对简单,只是简单的布局摆放,用的知识点是Stack布局,State状态管理,Entry入口,Component注解等1、创建项目2、项目结构。

tk.mybatis.mapper.MapperException: 无法获取实体类com.leyou.work.entity.Brand对应的表名!_tk.mybatis.mapper.mapperexception: 无法获取实体类com.ai.a-程序员宅基地

文章浏览阅读2.8k次。完整报错:tk.mybatis.mapper.mapperhelper.EntityHelper.getEntityTable(EntityHelper.java:69) ~[mapper-core-1.1.5.jar:na] at tk.mybatis.mapper.entity.Example.<init>(Example.java:103) ~[mapper-core-1.1..._tk.mybatis.mapper.mapperexception: 无法获取实体类com.ai.ai.pojo.aiapikey对应

计算机毕业设计springboot+vue基本微信小程序的剧本杀游戏设计与实现_vue开发微信小游戏-程序员宅基地

文章浏览阅读385次。首先,论文一开始便是清楚的论述了小程序的研究内容。其次,剖析系统需求分析,弄明白“做什么”,分析包括业务分析和业务流程的分析以及用例分析,更进一步明确系统的需求。然后在明白了小程序的需求基础上需要进一步地设计系统,主要包罗软件架构模式、整体功能模块、数据库设计。本项目软件架构选择B/S模式,总体功能模块运用自顶向下的分层思想。再然后就是实现系统并进行代码编写实现功能。论文的最后章节总结一下自己完成本论文和开发本项目的心得和总结。开发说明:前端使用微信微信小程序开发工具;_vue开发微信小游戏

计算机桌面颜色如何设置标准,教你把电脑屏幕设置成可以保护眼睛的颜色-程序员宅基地

文章浏览阅读1.4k次。点评:我们知道,长期使用电脑,眼睛盯着屏幕会使眼睛非常干涩、疲劳,所以现在流行将电脑设置成可以保护眼睛的颜色。我们知道,长期使用电脑,眼睛盯着屏幕会使眼睛非常干涩、疲劳,所以现在流行将电脑设置成可以保护眼睛的颜色。这两天人资部的MM问我如何给电脑设置成保护眼睛的颜色,其实,百度一下“保护眼睛的颜色设置”、“保护眼睛的电脑颜色”等关键词,就可以找到很多教授设置电脑为保护色的攻略,按照网上讲解的方法可..._电脑桌面颜色保护眼睛

CoppeliaSim实例分析系列-ABB IRB140(二)_feima1134.flv-程序员宅基地

文章浏览阅读1k次,点赞3次,收藏7次。CoppeliaSim实例分析系列-ABB IRB140(二)在CoppeliaSim实例分析系列-ABB IRB140(一)中,我们简单介绍了ABB IRB140实例的仿真环境设置,并添加了新的Non-thread Child Script来控制机器人。现在我们来深入讲解如何使用Non-thread Child Script来控制机器人。原版环境中的脚本编程顺序过于混乱,不方便学习,请大家下载我修改过的IRB140优化脚本。在开始之前,大家需要搞了解如下内容:简单掌握Lua语言的语法,请参考_feima1134.flv

Spring Boot :模版引擎 Thymeleaf 渲染 Web 页面_springboot thymeleaf渲染对应网页-程序员宅基地

文章浏览阅读161次,点赞5次,收藏6次。1. 什么是 Thymeleaf ?虽然我们目前拥有许多十分优秀的前端框架,例如: Vue 、 React 等,非常适用于前后端分离的场景,前端可以独立部署成为服务,前后端从物理上完全进行隔离,降低程序耦合度。但是 Spring Boot 官方依然为我们提供了模版引擎用于一些无需前后端分离的场景。 Thymeleaf 是新一代的模板引擎,在 Spring Boot 中,官方推荐使用 Thymeleaf 来做前端模版引擎。打开 https://start.spring.io/ 可以看到,在当前Spring _springboot thymeleaf渲染对应网页

推荐文章

热门文章

相关标签