BEGIN TRANSACTION SET XACT_ABORT ON SELECT srv.name,* FROM ( SELECT [agents].[subscriber_id] ,[agents].[subscriber_db] ,[agents].[subscriber_name] ,[agents].[publisher_id] ,[agents].[publisher_db] ,[agents].[publication] ,[agents].[subscription_type] ,[agents].[name] FROM [distribution]..[MSdistribution_agents] [agents] WHERE [agents].[subscriber_db] IN ( 'Gaia' ) AND [agents].[anonymous_subid] IS NULL ) sub1 INNER JOIN ( SELECT publisher, publisher_db, publication, publication_type, agent_name, publisher_srvid, job_id FROM distribution..MSreplication_monitordata WHERE publication_id IS NOT NULL AND agent_type = 3 ) sub3 ON sub1.publisher_id = sub3.publisher_srvid --AND CAST(sub1.job_id AS UNIQUEIDENTIFIER) = sub3.job_id AND sub1.publisher_db = sub3.publisher_db AND sub1.publication = sub3.publication AND sub1.subscription_type = sub3.publication_type AND sub1.name = sub3.agent_name JOIN master.sys.servers AS srv ON srv.server_id = sub1.subscriber_id; /* update publication server id */ UPDATE a SET [subscriber_id] = s.[server_id] FROM [distribution].[dbo].[MSdistribution_agents] a CROSS JOIN [sys].[servers] [s] WHERE s.[data_source] LIKE '%GALCTP' ; /* check after */ SELECT srv.name,* FROM ( SELECT [agents].[subscriber_id] ,[agents].[subscriber_db] ,[agents].[subscriber_name] ,[agents].[publisher_id] ,[agents].[publisher_db] ,[agents].[publication] ,[agents].[subscription_type] ,[agents].[name] FROM [distribution]..[MSdistribution_agents] [agents] WHERE [agents].[subscriber_db] IN ( 'Gaia' ) AND [agents].[anonymous_subid] IS NULL ) sub1 INNER JOIN ( SELECT publisher, publisher_db, publication, publication_type, agent_name, publisher_srvid, job_id FROM distribution..MSreplication_monitordata WHERE publication_id IS NOT NULL AND agent_type = 3 ) sub3 ON sub1.publisher_id = sub3.publisher_srvid --AND CAST(sub1.job_id AS UNIQUEIDENTIFIER) = sub3.job_id AND sub1.publisher_db = sub3.publisher_db AND sub1.publication = sub3.publication AND sub1.subscription_type = sub3.publication_type AND sub1.name = sub3.agent_name JOIN master.sys.servers AS srv ON srv.server_id = sub1.subscriber_id; ROLLBACK TRANSACTION SELECT * FROM sys.servers s