SQL Server删除distribution数据库二

以前总结过一遍博文SQL Server删除distribution数据库,里面介绍了如何删除distribution数据库。今天介绍一个删除distribution的特殊案例,

在这之前,我不知道这个服务器上的Replication被如何折腾过,在SSMS管理界面的Local Publications和Local Subscriptions里面已经看不到任何关于发布、订阅相关的内容。

SQL Server删除distribution数据库二

但是使用命令EXEC sp_helpdistpublisher会看到使用分发服务器的发布服务器的属性

SQL Server删除distribution数据库二

下面SQL的参数@publisher对应上面name的值,此处用xxxx替代

USE master;

 

GO

 

exec sp_dropdistpublisher  @publisher = 'xxxx'

SQL Server删除distribution数据库二

我们通过下面SQL,发现其在数据库(暂且用A表示)A上面做过发布,

SQL Server删除distribution数据库二

执行下面SQL时,报错误,因为这个数据库上有一个数据库级别的触发器safety,禁止任何DDL操作,首先禁用这个触发器后,执行下面SQL,就会将下面截图部分触发器全部清理。

USE master;

go

EXEC sp_removedbreplication 'A'

SQL Server删除distribution数据库二

然后按照SQL Server删除distribution数据库里面步骤,依葫芦画瓢,执行下面SQL,就能轻轻松松的将distribution数据库删除。

USE ArtDB;

GO

exec sp_dropdistpublisher  @publisher = 'xxx'

 

 

USE master;

GO

 

exec sp_dropdistributiondb @database = N'distribution'

GO

上一篇:201612-2 工资计算 Java


下一篇:一致性哈希算法(consistent hashing)(转)