You'll need to copy/move the files into the desired directory before attaching. If you want it to be done completely from within SQL you will need to:
- Enable xp_cmdshell
Execute a script like below:
USE [master] GO DECLARE @result int EXEC @result = xp_cmdshell 'copy c:\temp\temp.mdf C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Data\temp.mdf'; IF (@result = 0) EXEC @result = xp_cmdshell 'copy c:\temp\temp.ldf C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Data\temp.ldf'; IF (@result = 0) CREATE DATABASE [database_name] ON (FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Data\temp.mdf'), (FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Data\temp.ldf') FOR ATTACH ; GO ELSE PRINT 'Failure' ELSE PRINT 'Failure'