SQL Linux에서collation 변경

By 01/11/2018SQL on Linux

SQL Linux에서collation 변경

 

  • Version : ubuntu, SQL Server Linux

 

SQL Server Linux에서collation을  변경하는 방법에 대해서 알아본다. Collation은 문자열 정렬 및 비교 방법에 대한 규칙을 지정하는데 사용된다. Collation이 다르면 쿼리의 동작이나 달라지거나 조인을 사용할때 일부 문제가 발생할 수 있다.  자세한 내용은 아래 포스트를 참고 한다.

 

Linux에서 SQL Server를 설치 할때 collation을 선택하는 옵션이 없으면 기본값을 사용하여 설치 된다. 아래 명령을 사용하여 현재 SQL Server 인스턴스 collation을 확인한다.

select convert(varchar, SERVERPROPERTY(‘collation’))

 

SQL Server collation이 SQL_Latin1_General_CP1_CI_AS 임을 알 수 있다. 이번 포스트에서는 Korean_Wansung_CI_AS로 변경하는 방버에 대해서 알아본다.

 

우선 가장 먼저 SQL Server를 중지한다. 아래 명령을 사용하면 SQL Server를 중지 할 수 있다.

Sudo systemctl stop mssql-server

 

mssql-conf를 사용하여 SQL Server collation을 변경한다. Set-collation 옵션이 데이터 정렬을 변경하는 명령어이다. 아래 명령을 실행하여 collation을Korean_Wansung_CI_AS로 변경한다.

sudo /opt/mssql/bin/mssql-conf set-collation

 

위 명령을 실행하면 Collation 변경 입력 프롬프트가 나타나고 사용자에 따라 필요한 collation을 입력한다. 변경이 완료되면 완료되었다는 메시지가 표시 된다.

 

변경이 완료 되었으면 서버를 시작하고 정상적으로 collation 이 변경되었는지 확인한다.

현재 사용자의 시스템에서 지원 가능한 collation을 확인하는 방법은 아래 명령을 사용한다.

select name from sys.fn_helpcollations()

 

-NOTICE-

현재테스트 환경의 버전이 SQL Evalutation 버전이어서인지 collation이 변경되었다는 메시지는 표시되지만 실제 변경이 되지 않았다. 이 문제는 버전문제인지 아직 확인되지 못하였다.

 

 

[참고자료]

https://docs.microsoft.com/en-us/sql/linux/sql-server-linux-configure-mssql-conf#collation

https://www.mssqltips.com/sqlservertip/4763/how-to-change-sql-server-collation-on-linux/

http://slavasql.blogspot.com/2017/03/SSOL-set-collation.html

 

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

 

SQL Linux, Linux SQL, 리눅스에서 collation 변경, SQL Linux  collation, SQL 2017, mssql-conf