SQL Server – Detecting Push-Subscription Information on Subscriber Side

azure-sql-databasereplicationsql server

I've got a database in Azure SQL. There may be a push-subscription from on-premises database. I have no access to on-premises servers where distribution/publication/subscription is created and configured.

There are many many ways to get information about subscription from dictributor or publisher's side, they are easily googled. At the same time, I did not manage to find a way to detect subscription existence/health at the subscriber's side.

My current way of detection is indirect. Namely, I know the table where new records appear often and just count the number of the records and then again a minute after. This does not help in the night, when no activity in the database, and this is inconvenient due to necessity to wait a minute or more.

What I need is a script that clearly and directly shows me, if the subscription exists, and probably/if possible some additional information:
* if it is active (does push-side work properly at the moment)
* which articles are configured, etc

Best Answer

You have 4 tables For transactional replication (push subscription) at the subscriber's side:

contains one row for each object that is associated with replication in the Subscriber database

contains one row of replication information for each Distribution Agent servicing the local Subscriber database

is used by Distribution Agent and triggers of updateable subscriptions to track subscription properties

is used to track files that have been successfully delivered to the Subscriber when a snapshot is being applied


you can use this columns to monitor the status for your replication at the subscriber's side

SELECT login_time,
       last_sync_status,
       last_sync_summary,
       last_sync_time,
       spid 
FROM dbo.MSsubscription_agents