first you get Aaron Bertrand's sp_foreachdb replacement for sp_MSforeachdb
then you use it in the script below:
---------------------------------------------------------
-- get all info about subscribers in a server
-- marcello miorelli
-- 23-dec-2017
---------------------------------------------------------
IF object_id('TEMPDB..#RADHE_SP2') IS NOT NULL
DROP TABLE #RADHE_SP2
create table #RADHE_SP2 (
publisher sysname NOT NULL,
publisher_db sysname NOT NULL,
publication sysname NOT NULL,
replication_type int,
subscription_type int,
last_updated datetime,
subscriberd_db sysname,
update_mode int,
last_sync_status int,
last_sync_summary nvarchar(4000),
last_sync_time datetime)
declare @db_list NVARCHAR(MAX)
SELECT @db_list = STUFF((
SELECT ', ' + name
FROM sys.databases d
WHERE 1=1
and d.[state] = 0
FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 2, '')
--select @db_list
--exec sp_foreachdb @database_list = @db_list
-- ,@command='use ?; print db_name()'
EXEC sp_foreachdb
@database_list = @db_list,
@command=
'use ?;
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
insert into #RADHE_SP2
exec sp_MSenumsubscriptions
'
SELECT * FROM #RADHE_SP2
that will give you something like this:
