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 옵션이 데이터 정렬을 변경하는 명령어이다. 아래 명령을 실행하여 collationKorean_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



반응형