DB에 데이터 정렬이라는 개념이 있는 것 조차 모르고 있었는데 아래와 같은 Error를 만나면서 해당 내용에 대해 알게 되었고, 그 내용을 간단히 기록합니다.



equal to 작업에서의 "Korean_Wansung_CI_AS"과(와) "SQL_Latin1_General_CP1_CI_AS" 간의 데이터 정렬 충돌을 해결할 수 없습니다.



<사진 1> 프로그램 Error메시지


해당 메시지가 발생하는 이유와 해결 방법에 대해서 간단히 정리하자면 아래와 같습니다.



<원  인>


DB 서버에 설정된 서버 데이터 정렬(Server Collation)과 Table등 실제 Data가 들어있고, 내부에서 설정되어있는 데이터 정렬값이 맞지 않기 때문입니다.



데이터 정렬이라는 것이 서버에서 설정이 가능하며, 각 Table 별로도 가능합니다. 물론, 테이블마다 서버와 데이터 정렬을 맞추는 방법도 있지만 비 효율적일 수 있어서 권항하지는 않습니다.







<해결 방법>


1. Server Collation을 변경


2. DB를 다시 설치




먼저 해당 문제가 발생하여, 문의를 하였고, 그 답변으로 DB를 재설치 하라는 내용을 들었습니다.


DB의 하나의 설정값으로 확인할 수 있는 Server Collation은 MS DOC을 찾아봐도 쉽게 바꿀 수 있을 것 같지는 않아 보입니다.


MS 문서 링크 :  서버 데이터 정렬 설정 또는 변경








+ Recent posts