Sql Server:如何从发布者查询订阅和文章列表(对于给定的发布)

ToC*_*ToC 5 replication sql-server transactional-replication sql-server-2014

在 Sql Server 2014 中,如何查询发布者给定发布的订阅及其文章列表?(事务复制)

是的,有更简单的方法可以从发行商处查询,但我需要从发行商端进行查询。

远程分销商模型(如果有帮助)

谢谢,

Kin*_*hah 8

要从发布者数据库获取订阅列表,您可以运行以下 tsql :

use publisherDB;
select  
db_name() PublisherDB 
, sp.name as PublisherName 
, sa.name as TableName 
, UPPER(srv.srvname) as SubscriberServerName 
from dbo.syspublications sp  
join dbo.sysarticles sa on sp.pubid = sa.pubid 
join dbo.syssubscriptions s on sa.artid = s.artid 
join master.dbo.sysservers srv on s.srvid = srv.srvid 
Run Code Online (Sandbox Code Playgroud)

如果有人需要合并复制:

use publisherDB
go
select distinct 
    sa.name as articlename,
    sp.publisher as publisherserver,
    sp.publisher_db as publisherdb,
    sp.name as publicationname
    ,ss.subscriber_server as subscriberservername 
from dbo.sysmergearticles sa
join dbo.sysmergepublications sp on sa.pubid = sp.pubid
join dbo.sysmergesubscriptions ss on ss.pubid = sa.pubid
order by subscriberservername
Run Code Online (Sandbox Code Playgroud)


ToC*_*ToC 0

找到了这个sys proc,不确定它是否正确。

sp_helpsubscription

有更好的解决方案的想法吗?

谢谢,