적용 대상
SQL Server 2017 Developer Linux SQL Server 2017 Enterprise on Linux SQL Server 2017 Enterprise Core on Linux SQL Server 2017 Standard on Linux

증상

Linux에서 SQL Server 2017을 사용 한다고 가정 합니다. 기본적으로 master 데이터베이스는 위치 /var/opt/mssql/data에 있습니다.이제 마스터 데이터베이스 파일과 오류 로그 파일의 위치를 다른 위치로 변경 하려고 합니다.

해결 방법

이 업데이트는 다음과 같은 SQL Server 누적 업데이트에 포함 되어 있습니다.

       SQL Server 2017 누적 업데이트 4

SQL server 2017 CU4을 설치한 후에는 마스터 데이터베이스 파일의 위치와 오류 로그 파일 위치를 변경할 수 있게 됩니다.

각각의 새로운 새 누적 업데이트에는 이전 누적 업데이트에 포함 된 모든 핫픽스와 모든 보안 수정 사항이 포함 되어 있습니다. SQL Server에 대 한 최신 누적 업데이트를 확인 하세요.

SQL Server 2017의 최신 누적 업데이트

추가 정보

Errorlogfile 위치 구성:

  • 다음 명령을 사용 하 여 새 오류 로그 위치를 설정 합니다. 폴더 구조가 미리 만들어지고 ' mssql ' 계정에 파일을 만들 수 있는 권한이 있는지 확인 합니다.

    • /mssql-conf set filelocation. errorlogfile/home/user/sqlserver/log/errorlog

    • 오류 로그의 환경 변수는 MSSQL_ERROR_LOG_FILE입니다.

마스터 데이터 기본 파일의 위치를 구성 하는 시나리오와 방법은 다음과 같습니다.

참고: 변경 내용을 적용 하기 전에 master 데이터베이스를 포함 하 여 모든 데이터베이스를 완전 하 게 백업 해야 합니다.

시나리오 1: 기존 SQL 설치에서 master 데이터베이스 파일의 위치를 변경 합니다.

  • 새로운 옵션은 mssql-회의 유틸리티에서 마스터 .mdf, mastlog 및 오류 로그의 위치를 제공 하는 데 사용할 수 있습니다.

  • 위치 설정 명령에는 다음이 나와 있습니다.

  • /mssql-conf을 (를) 설정 합니다. masterdatafile의 위치/home/user/sqlserver/data/master.mdf

  • /mssql-conf 파일 위치를 설정 합니다. masterlogfile/home/user/sqlserver/data/mastlog.ldf

  • 설정을 구성 하기 전에 제공 된 경로가 이미 존재 하 고 ' mssql ' 사용자에 게 폴더에 대 한 모든 권한이 있는지 확인 합니다.

  • 설정을 구성한 후 mssql-server (systemctl 중지 mssql-server)를 실행 하고 마스터 .mdf 및 mastlog를 구성 된 위치로 이동한 다음 sql server (systemctl 시작 mssql-server) 를 다시 시작 합니다.

시나리오 2: 설치 하기 전에 master 데이터베이스 파일의 위치를 미리 구성 합니다.

  • Mssql-server를 설치한 후 (예: apt-서버).

  • 다음과 같이 환경 변수를 설정할 수 있습니다.

  • export MSSQL_MASTER_DATA_FILE =/home/user/sqlservr/data/master.mdf

  • export MSSQL_MASTER_LOG_FILE =/home/user/sqlservr/data/mastlog.ldf

  • 또는 시나리오 1에 언급 된 단계를 사용 하 여 구성을 설정한 다음 mssql 계정에서 소유 하는 /var/opt/mssql/ 폴더의 사용 권한을 변경할 수 있습니다. 환경 변수 및 mssql-회의 설정을 설정한 경우 환경 변수가 우선권을 갖습니다.

참고: master data base의 파일 이름은 설치 하는 동안 '.master '이 고 마스터 로그가 'mastlog ' 이어야 합니다. 파일 이름이 나중에 변경 될 수 있습니다.

폴더 구조가 만들어지지 않거나 mssql 계정에 적절 한 권한이 없는 경우 설치 중에 다음과 같은 오류 메시지가 표시 됩니다.

오류: BootstrapSystemDataDirectories () 실패 (HRESULT 0x80070002)

Microsoft SQL Server의 초기 설정에 실패 했습니다. 오류 로그를 참조 하세요.

 

시나리오 3: master 데이터베이스 파일의 이름 변경

  • Mssql 중지-서버.

  • Mssql-회의를 사용 하 여 파일 이름을 설정 합니다.

  • 마스터 데이터베이스 파일의 이름을 구성 된 파일 이름으로 바꿉니다.

  • Mssql 시작-서버

마스터 데이터베이스 파일의 이름을 변경 하는 명령은 다음과 같습니다.

systemctl 중지 mssql-서버

/mssql-conf을 (를) 설정 합니다. masterdatafile의 위치/home/sqlservr/data/testmaster.mdf

/mssql-conf 파일 위치를 설정 합니다. masterlogfile/home/sqlservr/data/testmastlog.ldf

mv/home/sqlservr/data/master.mdf/home/sqlservr/data/testmaster.mdf

mv/home/sqlservr/data/mastlog.ldf/home/sqlservr/data/testmastlog.ldf

systemctl 시작 mssql-서버

참조

Microsoft에서 소프트웨어 업데이트를 설명 하는 데 사용 하는 용어에 대해 알아봅니다.

도움이 더 필요하세요?

더 많은 옵션을 원하세요?

구독 혜택을 살펴보고, 교육 과정을 찾아보고, 디바이스를 보호하는 방법 등을 알아봅니다.