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

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

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

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

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

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

    看一下箭头标出的那张表

    内容是这样的

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

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

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

    exec sp_removedbreplication @dbname =  '发布库'

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

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

    DELETE FROM [dbo].[sysreplservers]

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

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

  • 相关阅读:
    Windows 10安装Docker并使用私钥连接AWS EC2
    Logback中%X的使用
    使用CompletableFuture+ExecutorService+Logback的多线程测试
    Spring Boot与Spring Session集成
    Java 8中Collection转为Map的方法
    记一次OutOfMemory定位过程-续
    记一次OutOfMemory定位过程
    Jmeter学习之While Controller
    使用VirtualBox虚拟机搭建局域网(续)
    Java 8的Lambda学习
  • 原文地址:https://www.cnblogs.com/liwei225/p/4755156.html
Copyright © 2011-2022 走看看