SQL Server – Discover tables that are replicated

Here are some useful SQL Scripts to get the details of what tables are included in replication in the database the query is connected to.

SELECT		*
FROM		sys.tables
WHERE		is_replicated = 1
ORDER BY	name

The script below will provide extra details on the subscriptions.

SELECT		publisher=sysservers.srvname, 
		subscriber_db=dest_db, 
		Subscriber=syssubscriptions.srvname, 
		article_name=sysarticles.name,
		syspublications.name AS PublicationName
FROM		syssubscriptions 
JOIN		sysarticles 
ON		syssubscriptions.artid=sysarticles.artid
JOIN		master.dbo.sysservers 
ON		syssubscriptions.srvid =sysservers.srvid
JOIN		syspublications 
ON		syspublications.PubId = sysarticles.pubid
ORDER BY	article_name

Additionally you could use the query below to find replication details for a specific table. The example is checking the Customer table

SELECT		P.name Publication,
		A.name TableName,
		A.dest_table DestinationTable 
FROM		syspublications P 
INNER JOIN	sysarticles A ON P.pubid = A.pubid
WHERE		A.name ='Customer'

Leave a comment