Kør SQL statement mod alle databaser

Der findes en udokumenteret system stored procedure fra Microsoft, der gør det muligt at eksekvere en T-SQL sætning mod alle databaser. Uden at skulle sætte en cursor op mod sysdatabases tabellen.

Syntax:
EXEC sp_MSforeachdb @command
(hvor @command er en streng af variabel længde)

Eksempel:
Dette eksempel returnerer en liste med alle tabeller i alle datasbase på en given SQL-Server instans
DECLARE @command varchar(1000)
SELECT @command = ‘USE ? SELECT name FROM sysobjects WHERE xtype = ”U” ORDER BY name’
EXEC sp_MSforeachdb @command

Se i øvrigt:
http://www.mssqltips.com/tip.asp?tip=1414

Leave a Reply