SQL Server/SQL on Linux

SQL Linux에서collation 변경

SungWookKang 2017. 9. 13. 02:33
반응형

SQL Linux에서collation 변경

 

·         Version : ubuntu, SQL Server Linux

 

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

·         Collation에 따른 실행계획 변경과 성능 문제 : http://sqlmvp.kr/140199553043

·         Collation에 따른 ALTER DATABASE 실패 : http://sqlmvp.kr/140194406833

·         Collation에 따른 DMV 실행 오류 : http://sqlmvp.kr/140185365035

·         Collation 변경 (Windows SQL) : http://sqlmvp.kr/140211882558

 

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

 

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



반응형