DBAtlas · 데이터베이스 운영 아틀라스

데이터/로그 파일을 다른 위치로 이동

SQL Server스토리지

명령어

-- 1) Tell SQL Server the new path (nothing is moved yet):
ALTER DATABASE [Customer]
MODIFY FILE (NAME = N'Customer_data',
             FILENAME = N'G:\Data\Customer_data.mdf');

-- 2) Take the database offline:
ALTER DATABASE [Customer] SET OFFLINE WITH ROLLBACK IMMEDIATE;

-- 3) Physically copy/move the file to the new path AT THE OPERATING SYSTEM level (G:\Data\...).

-- 4) Bring it online:
ALTER DATABASE [Customer] SET ONLINE;

하는 일

데이터베이스 파일의 물리적 위치를 변경한다: 메타데이터에 새 경로를 정의하고, 데이터베이스가 오프라인인 동안 파일을 물리적으로 옮긴 뒤 데이터베이스를 온라인으로 전환한다.

사용 시점

디스크를 교체하거나 공간 확보를 위해 다른 드라이브로 옮길 때.

주의

OFFLINE + ROLLBACK IMMEDIATE는 모든 활성 연결을 끊으므로 다운타임을 계획한다. OS에서 파일을 새 경로로 실제로 복사하기 전에 데이터베이스를 ONLINE으로 전환하면 데이터베이스가 SUSPECT가 된다. tempdb는 다른 방법이 필요하다(MODIFY FILE + SQL Server 서비스 재시작).

DBAtlas에서 열기 →

관련 항목