툴은 아직 안 써봐서 모르겠습니다;

출처 : http://entireboy.egloos.com/3423398

  MS-SQL (SQL Server)는 mdf 라는 확장자로 데이터베이스 파일을 가지고 있고, ldf 라는 확장자로 해당 데이터베이스 파일의 log 파일을 가지고 있습니다. 이 파일들은 데이터베이스 설정에 따라 다르겠지만, 기본으로 설치를 하였다면 다음 폴더에 존재할 것입니다.
설치폴더\MSSQL.1\MSSQL\Data


  여기 있는 파일 중 내가 사용하고 있는 데이터베이스 파일을 복사해서 새로운 시스템 혹은 새로운 경로로 옮겨야 합니다.  (설치폴더\MSSQL.1\MSSQL\Data 에 있는  dbname.dmf, dbname.ldf )
 (여기서 새로운경로의 파일은 아무도 사용하지 않는 상태이기 때문에 파일명을 바꿔도 됩니다.  >> db1.dmf, db1.ldf)

  옮기기 위해서는 우선 데이터베이스 서비스를 잠깐 내려야 합니다. 데이터베이스 시스템이 돌아가고 있는 상태라면 파일에 lock을 걸고 사용하고 있기 때문에 복사나 이동이 불가능하기 때문입니다. 데이터베이스 시스템을 잠깐 내리고 파일을 새로운 경로로 옮긴 뒤 데이터베이스 서비스를 다시 올린 후, 접속하여 다음 쿼리를 날려주면 된다.

sp_attach_db 'DB명', 'mdf 파일의 경로', 'ldf 파일의 경로'
예 : sp_attach_db 'db1', 'C:\db1_data.mdf', 'C:\db1_log.ldf'





정리하자면..
dmf, ldf 두 파일을 복사하여 이동 후, 이름을 바꿔준다.
설치폴더\MSSQL.1\MSSQL\Data\dbname.dmf, dbname.ldf
C:\db1_data.mdf, db1_log.ldf


SQL SERVER 서비스를 내린다.
C:\>net stop mssqlserver
SQL Server <MSSQLSERVER> 서비스를 멈춥니다..
SQL Server <MSSQLSERVER> 서비스를 잘 멈추었습니다.

SQL SERVER 서비스를 올린다.
C:\>net start mssqlserver
SQL Server <MSSQLSERVER> 서비스를 시작합니다..
SQL Server <MSSQLSERVER> 서비스를 잘 시작되었습니다.

접속하여 쿼리를 날린다.
C:\>osql -U sa
암호: *******
1> sp_attach_db 'db1', 'C:\db1_data.mdf', 'C:\db1_log.LDF'
2> go
Posted by 야동우
,