안녕하세요
A 서버에서 링크드 된 B서버를 셀렉트 하려합니다.
A 서버의 DB는 Latin_General 이고
B 서버의 DB는 Korean_wansung입니다.
int 값 셀렉트는 잘되는데 string 값이 콜레이션이 맞질 않아 select가 안되네요.
select * from B.dbname.dbo.tablename where description like '%검색%'
이렇게 하면 값이 나오질 않고 콜레이션을 강제로 맞추면
select * from B.dbname.dbo.tablename where description like '%검색%' collate SQL_Latin1_General_CP1_CI_AS
값이 나오는데 매번 쿼리 날릴때마다 콜레이션을 맞춰줘야 하는지요.
참고로 DB콜레이션은 바꾸지 않고 방법이 없나요? 이런상황이 일어나는게 linked server라 그러는건지..
한서버안의 콜레이션이 다른 두개의 DB에선 이런현상이 안나타나는걸로 알고있습니다.
Comment 1
-
여우비™
2013.10.15 16:29
한서버안에서 콜레이션이 다른 두개의 DB도 한글이 포함되어 있는 Column의 경우 동일 현상이 나타납니다.
Collate를 매번 지정하거나 Column의 Collate를 변경하시면 되지만 현재 운영중이 Query에 영향도는 분석해서 진행하셔야 하구요..
참고로 제약조건(Check, FK, Index)에 포함된 Column이라면 데이터정렬을 변경할 수 없습니다.