3 parametry (jméno DB + 2 soubory MDF a LDF) jsou "kopec udaju"? Min parametru uz tam ani dat nemuzes
Co ti brani si to vybrat, udelat z toho skript a pak spustit?
Tohle ti vypise vsechny DB vcetne souboru
SELECT
    db.name AS DBName,
    type_desc AS FileType,
    Physical_Name AS Location
FROM
    sys.master_files mf
INNER JOIN 
    sys.databases db ON db.database_id = mf.database_idA ty z toho potrebujes udelat skript:
CREATE DATABASE MyAdventureWorks   
    ON (FILENAME = 'C:\MySQLServer\AdventureWorks2012_Data.mdf'),  
    (FILENAME = 'C:\MySQLServer\AdventureWorks2012_Log.ldf')  
    FOR ATTACH;  Takze si spust tohle, zkopiruj sloupec a mas rovnou skript na hromadne pripojeni vsech DB:
select prikaz = 'create database ' + db.name + ' on (filename = ''' + mf.Physical_Name + '''), (filename = ''' + lf.physical_name + ''') for attach; go;' 
  from sys.databases db
  join sys.master_files mf ON db.database_id = mf.database_id and mf.type_desc = 'ROWS'
  left outer join sys.master_files lf ON db.database_id = lf.database_id and lf.type_desc = 'LOG'
  where not db.Name in ('master', 'tempdb', 'model', 'msdb')
Predpokladem je, ze kazda databaze ma jen MDF a LDF soubor, neni rozhozena do vice souboru. Ale to si zkontrolujes prvnim vypisem
Podobne si muzes udelat skript na detach vseho, ten bude jednodussi, protoze ti staci vypis ze sys.master_files