¿Cómo saber que tablas están replicadas?

For English version visit this link How to know which tables are replicated?
 
A veces es necesario conocer todas las tablas que están replicadas en una BBDD, para ello utiliza estos scripts, ejecutar en la BBDD que este replicada:
--Que tablas están publicadas en Réplica de Mezcla y sus subscriptores
SELECT
b.name AS [Table],
DB_NAME() AS PublisherDB,
a.subscriber_server AS Subscriber,
a.db_name AS SubscriberDB
from sysmergesubscriptions a, sysmergearticles b
where a.pubid=b.pubid
order by a.subscriber_server

--Que tablas están publicadas en Réplica Transaccional y sus subscriptores
SELECT
a.name AS [Table],
is_published AS is_tran_published,
DB_NAME() AS PublisherDB,
c.srvname AS Subscriber,
c.dest_db AS SubscriberDB
FROM sys.tables a
INNER JOIN dbo.sysarticles b ON a.object_id = b.objid
INNER JOIN dbo.syssubscriptions c ON b.artid = c.artid
WHERE is_published = 1
Advertisements

How to know which tables are replicated?

For Spanish version visit this link ¿Cómo saber que tablas están replicadas?
 
Sometimes you need to know all the tables that are replicated in a DB, for that use this scripts, run it in the replicated DB:
--Which tables are published for Merge Replication and his subscribers
SELECT
b.name AS [Table],
DB_NAME() AS PublisherDB,
a.subscriber_server AS Subscriber,
a.db_name AS SubscriberDB
from sysmergesubscriptions a, sysmergearticles b
where a.pubid=b.pubid
order by a.subscriber_server

--Which tables are published for Transactional Replication and his subscribers
SELECT
a.name AS [Table],
is_published AS is_tran_published,
DB_NAME() AS PublisherDB,
c.srvname AS Subscriber,
c.dest_db AS SubscriberDB
FROM sys.tables a
INNER JOIN dbo.sysarticles b ON a.object_id = b.objid
INNER JOIN dbo.syssubscriptions c ON b.artid = c.artid
WHERE is_published = 1