ServerA and ServerB were just place holders I put in for this post.
Call me paranoid 😛
Here is the SP without my place holders.
USE [DBA]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER proc [dbo].[usp_LoadAllDatabaseInfoAccrossServers]
as
DECLARE @Server varchar(100)
DECLARE @SQL Varchar(5000)
DELETE FROM DBA.dbo.DB_InfoALL
DECLARE c1 CURSOR READ_ONLY
FOR
select ServerName from MaintMonitoring WHERE Enabled = 1
OPEN c1
FETCH NEXT FROM c1
INTO @Server
WHILE @@FETCH_STATUS = 0
BEGIN
Set @SQL = ' INSERT INTO MadSQL08.DBA.dbo.DB_InfoALL ' +
' SELECT * from [ ' + @Server + ' ].DBA.dbo.DB_Info '
EXEC (@SQL)
FETCH NEXT FROM c1
INTO @Server
END
CLOSE c1
DEALLOCATE c1