用TSQL从sqlserve 发布订阅链中删除一张或几张表

时间:2023-03-10 00:20:07
用TSQL从sqlserve 发布订阅链中删除一张或几张表

一个简单的存储过程,用来实现从一个SQLSERVE 发布订阅链中删除一张或几张表。


/*

1.停日志读取代理
2.exec usp_从复制订阅中删除表 'dbtestPub','test1'
3.开日志读取代理 author:51ak
date: 20130509 分发库所在服务器执行
*/
create proc usp_从复制订阅中删除表(@发布名 varchar(255),@表名 varchar(255))
as
declare @sql varchar(8000)
set @sql='
EXEC sp_dropsubscription
@publication = N'''+@发布名+''', @article = N'''+@表名+''', @subscriber = N''all'';
EXEC sp_droparticle
@publication = N'''+@发布名+''', @article = N'''+@表名+''', @force_invalidate_snapshot = 1'
print @sql
exec(@sql)
go

  

比手工点快一些。不容易误操作,不是吗?