you'll probably need to use dynamic sql.There are some undocumented procedures called forEachDatabase / forEachTable (or something like that) but, in reality they just use dynamic sql inside.A few people here like them. I don't just because they are undocumented.This is the quick n dirty method I'd use to cross db query.IF OBJECT_ID('tempdb..#results') IS NOT NULL DROP TABLE #resultsCREATE TABLE #results ( [serverName] VARCHAR(255) , [dbName] VARCHAR(255) , [payroll] VARCHAR(255) , [payrollId] INT , [payrollYear] VARCHAR(255) , [payrollYearID] INT , [periodId] INT , [periodStart] DATETIME CONSTRAINT PK_SERVERNAME_DBNAME_PAYROLLID_PERIODID PRIMARY KEY CLUSTERED ([serverName], [dbName], [payrollId], [periodID]) )DECLARE @sql NVARCHAR(MAX)DECLARE @dbName VARCHAR(255)DECLARE dbCursor CURSOR LOCAL STATIC FOR SELECT [name]FROM sys.databasesWHERE [name] LIKE '[_]%'OPEN dbCursor FETCH NEXT FROM dbCursor INTO @dbName WHILE ( @@FETCH_STATUS = 0 ) BEGIN SET @Sql = N' USE [' + @dbName + '] INSERT #results ( [serverName] , [dbName] , [payroll] , [payrollId] , [payrollYear] , [payrollYearID] , [periodId] , [periodStart] ) SELECT [serverName] , [dbName] , [payroll] , [payrollID] , [payrollYear] , [payrollYearID] , [periodID] , [periodStarts] FROM ( SELECT ROW_NUMBER() OVER(PARTITION BY py.[ID] ORDER BY pp.[startDate] DESC) AS [rowPos] , @@SERVERNAME AS [serverName] , DB_NAME() AS [dbName] , p.[name] AS [payroll] , p.[Id] AS [payrollID] , py.[name] AS [payrollYear] , py.[Id] AS [payrollYearID] , pp.[ID] AS [periodID] , pp.[startDate] AS [periodStarts] FROM payrollPeriod pp JOIN payrollYear py ON py.[Id] = pp.[payrollYearID] JOIN payroll p ON p.[ID] = py.[payrollID] WHERE PP.[approved] = 1 AND EXISTS ( SELECT 1 FROM payrollPeriod pp2 WHERE pp2.[approved] = 0 AND pp2.[payrollYearId] = pp.[payrollYearID] AND pp2.[startDate] < pp.[startDate] ) ) res WHERE res.[rowPos] = 1' PRINT @sql EXEC sp_executeSql @sql FETCH NEXT FROM dbCursor INTO @DbName ENDCLOSE dbCursorDEALLOCATE dbCursorSELECT * FROM #resultsDon't worry about the actual insert statement -- it was coded for a strange and very specific set of circumstances but you should be able to get the framework for some usable results.Charlie===============================================================Msg 3903, Level 16, State 1, Line 1736The ROLLBACK TRANSACTION request has no corresponding BEGIN TRANSACTION