Collation : SQL Server의 기본 데이터 정렬을 설정하는 옵션
Collation 종류 보기 : SELECT * FROM ::fn_helpcollations()
1. Collation 확인
< DB Collation >
SELECT SERVERPROPERTY('collation')
< DB Collation 리스트 >
SELECT name, collation_name FROM sys.databases;
< Column Collation 리스트 >
SELECT name, collation_name FROM sys.columns
2. Collation 변경
< DB Collation 변경 >
- Table Column Collation 이 다른 것이면 "칼럼 'xxx'는 데이터베이스 데이타 정렬에 종속되어 있습니다." 라는 메시지 발생 가능
< Table Column Collation 변경 >
- 인덱스, CHECK 제약조건, Foreign Key 제약조건, 계산된열 등의 Column은 변경 불가
따라서 PK 제거 -> Collation 변경 -> PK 재생성 으로 처리
3. Collation 이 맞지 않는 경우 오류
- 두 테이블간 Collation 이 맞지 않을 때 발생 ( 예: DB1 과 TempDB 안의 테이블간의 조인시 Collation 이 틀려 발생한 에러 )
System.Data.SqlClient.SqlException: equal to 작업에서의 "Korean_Wansung_CI_AS"과(와) "SQL_Latin1_General_CP1_CI_AS" 간의 데이터 정렬 충돌을 해결할 수 없습니다.
'프로그래밍 > MS SQL' 카테고리의 다른 글
[MSSQL][함수]문자열에서 숫자만 가져오는 함수 (0) | 2013.01.30 |
---|---|
[MSSQL][함수] 한글 이름뒤에 영문이나 숫자 제거하는 함수 (0) | 2013.01.30 |
[MSSQL][트리거] 사용/사용안함 (0) | 2013.01.28 |
[MSSQL] INTERSECT(교집합), EXCEPT(차집합) (0) | 2013.01.21 |
[MSSQL] 자동증가컬럼(IDENTITY) 초기화 (0) | 2013.01.17 |