I am trying to create a script to obtain data from a multiple databases in a server and then I want it to continue to the next server and do the same. I already created a script to work with one server and all its databases. The script is the same for all databases, tables in all the servers.
My question, is how do I have the script recognize the linked servers that I linked to my current server and continue to obtain data from those servers? Is there a hidden stored procedure or command that someone may know?
Here is my script below, I want to have the script run through 5 servers which I currently have linked to one of my servers:
SET NOCOUNT ON
DECLARE @DBNAME NVARCHAR(MAX)
DECLARE @DBNAME1 NVARCHAR(MAX)
DECLARE @varSQL NVARCHAR(MAX)
DROP TABLE TEMPIMGCOUNTERSERVER3 
CREATE TABLE TEMPIMGCOUNTERSERVER3 
(DBname NVARCHAR(MAX),
Images INT,
FileSize INT,
DBCreation DATETIME)
DECLARE DBNAME CURSOR FAST_FORWARD FOR
select name from sys.databases where [NAME] LIKE 'Z%' AND create_date between '2011-02-06' and '2011-02-12'
ORDER BY [create_date]
OPEN DBNAME
FETCH NEXT FROM DBNAME INTO @DBname
WHILE (@@FETCH_STATUS=0)
BEGIN
    Set @varSQL='INSERT INTO TEMPIMGCOUNTERSERVER3 (DBNAME, IMAGES, FileSize, DBCreation) 
    SELECT ''['+@DBNAME+']'', SUM(PGCOUNT), sum(filesize/1024/1024), sys.databases.CREATE_DATE
        FROM SYS.DATABASES, ['+@DBNAME+'].dbo.tbldoc WHERE created between ''2011-02-06'' and ''2011-02-12''
        and sys.databases.name='''+@DBNAME+''' 
        GROUP BY sys.databases.NAME, sys.databases.CREATE_DATE' 
    EXEC SP_EXECUTESQL @varSQL
    FETCH NEXT FROM DBNAME 
    INTO @DBNAME
    END
    CLOSE DBNAME
    DEALLOCATE DBNAME
    INSERT TEMPIMGCOUNTERSERVER3 (DBNAME, IMAGES, FILESIZE)  
    SELECT @@SERVERNAME + ' ' +'TOTAL IMAGES AND FILE SIZE', SUM(IMAGES), SUM(FILESIZE) FROM TEMPIMGCOUNTERSERVER3 
     SELECT DBNAME, IMAGES, FILESIZE, convert(VARCHAR(10), 
    DBCREATION, 101) AS DBCREATION FROM TEMPIMGCOUNTERSERVER3
    GROUP BY DBNAME, IMAGES, FILESIZE, convert(VARCHAR(10), DBCREATION, 101)
    HAVING SUM(IMAGES) is not null
    ORDER BY DBCREATION
    
