My new goal is to deliver to the DBAs scripts that they don’t need to execute on multiple databases. Cursors and Dynamic SQL are my new friends.
DECLARE @DbName VARCHAR(100), @sql1 VARCHAR(MAX), @sql2 VARCHAR(MAX)
DECLARE C1 CURSOR FORWARD_ONLY FOR
SELECT [Name] FROM SYS.SYSDATABASES WHERE [DBID] NOT IN (1,2,3,4) AND [Name] like ‘%’
OPEN C1
FETCH NEXT FROM C1 INTO @DbName WHILE @@FETCH_STATUS = 0
BEGIN
SET @sql1 = ‘USE ‘ + @DB_Name + ‘; SELECT * FROM <TABLE_NAME>’
EXEC (sql1)
FETCH NEXT FROM C1 INTO @DbName
END
CLOSE C1
DEALLOCATE C1
