zoukankan      html  css  js  c++  java
  • 附加数据库后无法创建发布,error 2812 解决

    日前,由于业务需要,我要把一个数据库直接迁移到新的实例上

    用的方法比较古老,就是直接停旧服务器,将数据文件复制到新服务器上,附加数据库

    当然这个附加没有什么可说的了,但是在附加后需要将原来库上的发布重建,在按正常流程建立发布的最后,出现了一个错误:

    图中隐去的部分是我要发布内容的库名,涉及到公司业务,就不在这里显示了

    OK,,然后我进到需要发布内容库的系统表中,可以看到这么这么一堆系统表,就是之前建立发布时候自动建立的一堆系统表:

    看一下箭头标出的那张表

    内容是这样的

    抱歉各位又涂了不少东西,上面涂掉的是库名,下面涂的是实例名,为了不暴露公司业务,我还是小心一点吧

    需要说的是,下面涂掉的实例名,是迁移DB之前的实例名,问题就是出在这里了.

    我们来手动清理一下之前的发布信息:

    exec sp_removedbreplication @dbname =  '发布库'

    再看发布库,时自动创建的系统表就已经不见了,这时就可以重建发布

    当然,还有一个比较low的方法,就是手动干掉系统表的记录:

    DELETE FROM [dbo].[sysreplservers]

    这样也可以重建发布,但是这样直接操作系统表是比较危险的,不建议这么操作!!

     其实还有一个比较根本的解决办法,干活要细致啊!就是在迁移之前先把订阅复制删除,这样附加上来的库就是一个相对”干净“的数据库了,建立发布就没问题了

  • 相关阅读:
    NetCore基于Consul+Ocelot+Docker+Jenkin搭建微服务架构
    Linux文档整理之【Jenkins+Docker自动化部署.Net Core】
    分布式事务
    redis
    pandas读取Excel
    centos7上用docker搭建简单的前后端分离项目
    CENTOS 设置swap 并让系统使用它
    MikroTik RouterOS安装chr授权到阿里云虚拟机(转)
    IDEA使用External Tools配置来查看javap反编译字节码
    【k8s】metrics-server
  • 原文地址:https://www.cnblogs.com/liwei225/p/4755156.html
Copyright © 2011-2022 走看看