• 发布和订阅的删除


    SQL SERVER中复制的删除

    以下方法均为 事务复制 --PUSH方式

    1、删除单个的发布 : 复制-->  本地发布--> 右击--> 删除,如下图,然后再把对应的订阅服务器删除掉,或者等待执行:sp_MSdistribution_cleanup 的JOB(分发清除: distribution)默认订阅72小时失效之后自动删除。

    2、删除全部的发布: 复制--> 右击 --> 禁用发布和分发,如下图,这个会同时的把分发服务器的配置清掉,需要重新配置的哦。。

    其实只是执行了一个脚本

    use [master]
    exec sp_dropdistributor @no_checks = 1
    GO
    /*
    [ @no_checks=] no_checks
    指示在删除分发服务器之前是否检查有无依赖对象。no_checks 的数据类型为 bit,默认值为 0。
    如果为 0,则 sp_dropdistributor 将执行检查,以确保除分发服务器以外的所有发布和分发对象都已删除。 
    如果为 1,则 sp_dropdistributor 将在卸载分发服务器之前删除所有发布和分发对象。
    
    [ @ignore_distributor=] ignore_distributor
    指示是否在未连接到分发服务器的情况下执行此存储过程。ignore_distributor 的数据类型为 bit,默认值为 0。 
    如果为 0,则 sp_dropdistributor 将连接到分发服务器,并删除所有复制对象。 如果 sp_dropdistributor 无法连接到分发服务器,则存储过程将失败。 
    如果为 1,则不与分发服务器建立连接,并且不删除复制对象。 如果分发服务器正在卸载或持久脱机,才使用它。 直到分发服务器在未来某个时间重新安装之后,才会删除分发服务器中的该发布服务器的对象。
    */
    --注意:
    sp_dropdistributor 用于所有类型的复制。 

    不过不是建议直接的界面操作。

    3、对于某些时候可能删除不掉,这个时候可以直接trace一下,然后把进程杀掉

    4、或者对于附加的数据库不注意可能会出现发布的错误,你也删除不掉。会报下面的错误。

    无法作为数据库主体执行,因为主体 "dbo" 不存在、无法模拟这种类型的主体,或您没有所需的权限。
    已将数据库上下文更改为 'AdventureWorks2008'。 (Microsoft SQL Server,错误: 15517)

    这个时候可以查一下数据库属性->文件->所有者如果没有话,填个sa再试一次就可以。

  • 相关阅读:
    jedis 连接 虚拟机内redis服务
    数据库存储过程项目总结
    前端jsp联系项目相关经验
    学习做项目的一些随笔
    循环
    字典
    集合
    元组
    列表
    字符串
  • 原文地址:https://www.cnblogs.com/zerocc/p/3200714.html
Copyright © 2020-2023  润新知