SQL Linux에서 데이터 및 로그 파일의 기본 디렉토리 변경

By 01/11/2018SQL on Linux

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

 

[참고자료]

https://docs.microsoft.com/en-us/sql/linux/sql-server-linux-configure-mssql-conf#a-iddatadira-change-the-default-data-or-log-directory-location

https://www.mssqltips.com/sqlservertip/4652/how-to-change-default-data-and-log-file-directory-for-sql-server-running-on-linux/

 

2017-07-03 / 강성욱 / http://sqlmvp.kr / http://sqlangeles.com

 

SQL Linux, Linux SQL, 리눅스에서 data 파일 경로 변경, SQL Linux  log 파일 경로  변경, SQL 2017, default data directory, mssql-conf, linux 명령어

Leave a Reply