SQL Linux에서 데이터 및 로그 파일의 기본 디렉토리 변경
· Version : ubuntu, SQL Server Linux
SQL Server Linux에서 데이터 파일 및 로그 파일의 기본 디렉토리 위치를 변경하는 방법에 대해서 알아본다. Linux SQL Server의 경우 msslq-conf 유틸리티의 스크립트에 의해 수행 된다.
아래 스크립트를 실행하여 데이터베이스의 현재 기본 위치의 파일을 표시 한다. 모든 데이터베이스 파일이 /var/opt/mssql/data 에 위치하고 있음을 알 수 있다.
sudo su
ls –lrt /var/opt/mssql/data |
임시로 새로운 데이터베이스를 생성하여 경로를 확인하여도 기본 폴더인 /var/opt/mssql/data 로 생성된 것을 확인 할 수 있다.
이제 데이터베이스 파일의 위치를 /var/opt/mssql/data에서 /opt/mssql/data 폴더로 바꾸어 새로운 데이터베이스를 만들때 마다 새로운 경로에 생성되록 한다. 우선 새로운 경로의 디렉토리를 생성한다.
mkdir /opt/mssql/data |
/opt//mssql/data 디렉토리 생성이 완료 되었으면 SQL Server 가 이 디렉토리에 접근할 수 있도록 폴더의 소유자와 그룹을 변경한다.
sudo chown mssql /opt/mssql/data sudo chgrp /opt/mssql/data |
이제 mssql-conf 를 사용하여 기본 데이터베이스 파일의 위치를 설정한다. 이 스크립트는 /opt/mssql/bin 디렉토리에 위치하고 있다. 아래 명령을 사용하여 해당 경로에 파일이 있는지 확인 할 수 있다.
ls –lrt /opt/mssql/bin |
아래 명령을 실행하여 기본 데이터베이스 파일 위치를 /opt/mssql/data 로 변경한다.
sudo /opt/mssql/bin/mssql-conf set filelocation.defaultdatadir /opt/mssql/data |
기본 디렉토리 변경이 완료 되었으면 반드시 서비스를 재시작해야 변경사항이 적용 된다.
systemctl restart mssql-server |
변경된 내용을 확인하기 위해 sqlcmd 를 사용하여 SQL Server 에 연결한다. 이때 아래와 같은 문제가 발생한다.
이 문제는 tempdb 의 데이터와 로그 파일이 수동으로 새 위치(/opt/mssql/data)로 이동하여 생성되면서 발생한 것으로 아래 명령을 실행하여 두 파일을 모두 기존 위치로 이동한다.
sudo mv /var/opt/mssql/data/tempdb.mdf /opt/mssql/data sudo mv /var/opt/mssql/data/templog.ldf /opt/mssql/data |
Tempdb 데이터 및 로그 파일을 기존 위치로 이동 후sqlcmd 를 사용하면 성공적으로 연결할 수 있으며 tempdb 에서 파일 위치를 확인해보면 기존 경로에서 온라인 상태임을 확인 할 수 있다.
로그파일 기본 디렉토리 변경방법은 데이터파일 디렉토리 변경과 거의 동일하여 기본 로그 경로를 변경하는 명령문만 약간 다르다. 모든 과정은 데이터와 동일하게 진행하고 아래 명령문으로 로그 파일의 기본 디렉토리를 변경한다.
sudo /opt/mssql/bin/mssql-conf set filelocation.defaultlogdir /opt/mssql/log |
[참고자료]
2017-07-03 / 강성욱 / http://sqlmvp.kr
SQL Linux, Linux SQL, 리눅스에서 data 파일 경로 변경, SQL Linux log 파일 경로 변경, SQL 2017, default data directory, mssql-conf, linux 명령어
'SQL Server > SQL on Linux' 카테고리의 다른 글
Linux에서 DISK 공간 확인 (0) | 2017.09.13 |
---|---|
SQL Linux에서collation 변경 (0) | 2017.09.13 |
SQL Linux 기본Configure 명령 (0) | 2017.09.13 |
SQL Linux에서 기본 백업 디렉토리 변경 (0) | 2017.09.13 |
Linux에서 DISK I/O 사용량 확인 (0) | 2017.09.13 |