본문 바로가기
프로그래밍/TSQL

[MSSQL] MDF, LDF 이동 / DB 상위 버전->하위 버전으로 이동 시 오류 발생

by 정리 습관(★arranging★) 2020. 2. 21.
728x90

MSSQL에서 상위 버전 데이터 베이스를 하위로 이동하기 위해서는 데이터베이스 스크립트로 일괄 이동이 필요합니다.

과정 수행 중 오류가 발생해서 MDF/LDF를 이동하게 되었습니다.

C:\Program Files\Microsoft SQL Server\Client SDK\ODBC\170\Tools\Binn>sqlcmd -S [서버] -i [경로] -o [로그경로] -U [ID] -P [비번] -d [데이터베이스]  -V 17

발생한 오류 메시지.

파일 그룹 'PRIMARY'에 디스크 공간이 부족하여 데이터베이스 'TEMP_FOR_SPLIT'에 새 페이지를 할당할 수 없습니다. 파일 그룹의 개체를 삭제하거나, 파일 그룹에 파일을 추가하거나, 파일 그룹의 기존 파일에 대해 자동 증가를 설정하여 필요한 공간을 만드십시오.

임시 테이블 객체라 C드라이브에 파일을 만든게 문제였습니다.

단계 1. DB 떨궈내기

SP_DETACH_DB '데이터베이스명'

단계 2. DB 파일 이동

단계 3. DB 파일 붙이기

SP_ATTACH_DB '데이터베이스명','MDF경로','LDF경로'

 

 

위 과정 수행으로 해결!!

내용 추가

위 과정을 수행 한 후에 복원된 DB 가 아래와 같이 읽기 전용 상태가 될 수 있습니다.

이 경우는 파일의 문제인데 파일에 MSSQL 계저의 권한이 없기 때문에 발생하는 문제입니다.

해결 방법!

STEP 1. 서버의 MSSQL 계정을 확인한다.

STEP 2. MDF, LDF 파일에 속성-보안에서 MSSQL 계정을 추가하고 모든 권한을 허용한다.

STEP 3. ATTACH 를 재수행 한다.

 

댓글