51ak.blogs

用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

 

  

 

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

 

posted on 2013-07-19 10:09  51ak  阅读(650)  评论(0编辑  收藏  举报

导航