To Generate Script to Attach and Detach all Dat
database #database
--Generate the Attach and Detach Script
WITH CTE AS (
SELECT dbid,
DB_NAME(dbid) db_name,
fileid,
filename
FROM master.dbo.sysaltfiles
WHERE dbid > 4
AND DATABASEPROPERTYEX(DB_NAME(dbid), 'Status') = 'ONLINE'
)
SELECT db_name AS DBName,
'exec sp_detach_db @dbname = N''' + db_name + ''';' AS DetachScript,
'exec sp_attach_db @dbname = N''' + db_name + '''' + (
SELECT
', @filename' + CAST(fileid AS varchar) + '=N''' + filename + ''''
FROM CTE f
WHERE f.dbid = d.dbid
FOR xml PATH('')
) + ';' AS AttachScript
FROM (
SELECT DISTINCT dbid, db_name
FROM CTE
) d