반응형
테이터 베이스 한글이 깨질경우 해결방법입니다. 아래와 같이 SELECT문에 한글을 임의로 입력이 ??형태로 깨지는 문제발생하여 확인해보니 Collation이 맞지 않아 문제 되는 부분을 확인 했습니다.
1. 데이터베이스의 현재 Collation 조회하기
쿼리를 조회해보니 SQL_Latin1_General_CP1_CI_AS으로 되어있습니다,
1
2
3
4
5
6
7
|
SELECT
name AS DatabaseName,
collation_name AS Collation
FROM
sys.databases
WHERE
name = 'AdventureWorksLT2022';
|
cs |
2. 데이터베이스 Collation 수정하기
기존 데이터베이스의 Collation을 변경하려면 ALTER DATABASE 문을 사용합니다.
ALTER DATABASE AdventureWorksLT2022 COLLATE Korean_Wansung_CI_AS; 명령으로 변경하면 되는데 기존 테이블의 데이터도 전부 변경이 해줘야 합니다.
3. N 접두사의 사용하기
MSSQL에서 한글 문자열 앞에 N 접두사를 붙이는 작업은 한글과 같은 유니코드 문자를 안전하게 처리 할 수 있습니다. 데이터베이스가 이미 구축된경우 Collation 정보를 바꾸기 어려우니 Alias지정하는 부분에 N접두사를 이용하여 처리하면 한글깨짐 현상을 해결할 수 있습니다.
'프로그래밍 > DB' 카테고리의 다른 글
[DB] MSSQL 2022 클린 삭제 (1) | 2024.12.08 |
---|---|
[DB] MSSQL GROUBY CASE문 사용 (4) | 2024.11.12 |
[DB] MSSQL2022 신뢰되지 않은 기관에서 인증서 체인오류해결 (0) | 2024.10.24 |
[DB] MSSQL 2022 구성관리자실행 (0) | 2024.09.02 |
[DB] MSSQL 트리거 비활성화 (0) | 2024.02.24 |