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
'SQL Server > SQL on Linux' 카테고리의 다른 글
SQL Linux에서 Port 변경 (0) | 2017.09.13 |
---|---|
Linux에서 DISK 공간 확인 (0) | 2017.09.13 |
SQL Linux에서 데이터 및 로그 파일의 기본 디렉토리 변경 (0) | 2017.09.13 |
SQL Linux 기본Configure 명령 (0) | 2017.09.13 |
SQL Linux에서 기본 백업 디렉토리 변경 (0) | 2017.09.13 |