USE MASTER
DECLARE DATABASES CURSOR
FOR
SELECT NAME
FROM SYSDATABASES
WHERE NAME NOT IN ( 'MASTER', 'TEMPDB', 'MSDB', 'MODEL' )
DECLARE @DB SYSNAME
DECLARE @SQL VARCHAR(5000)
OPEN DATABASES
FETCH NEXT FROM DATABASES INTO @DB
WHILE @@FETCH_STATUS = 0
BEGIN
SET @SQL = 'SP_DETACH_DB ' + @DB
EXEC (@SQL)
FETCH NEXT FROM DATABASES INTO @DB
END
CLOSE DATABASES
DEALLOCATE DATABASES