MSSQL 대소문자 구분여부는 COLLATION 에 의해서 결정됩니다. COLLATION 에 Korean_Wansung_CI_AS 와 같이 CI 가 들어가있으면 구분을 안하고, CS 가 들어가있으면 구분합니다. CS 는 Case Sensitive 이고, CI 는 Case Insensitive 입니다.
Collation 을 확인하는 방법
데이터베이스 기본값과 테이블 열의 Collation 은 아래 구문을 통해서 확인할 수 있습니다.
-- 데이터베이스 기본값
SELECT CONVERT (nvarchar(128), DATABASEPROPERTYEX('데이터베이스이름', 'collation'));
-- 테이블
SP_HELP 테이블명


MSSQL 대소문자 구분을 쿼리 수준에서 변경하는 방법
테이블 컬럼은 대소문자를 구분하지 않는데, 쿼리에서는 대소문자를 구분해야 하는 경우가 있을 수 있습니다.
아래 테이블에서 c2 컬럼의 값이 a 인 행을 찾는 쿼리입니다. ( 데이터베이스 및 테이블의 Collation 에는 영향이 없습니다. )

SELECT * FROM T WHERE C2 Collate Korean_Wansung_CS_AS = 'a'
위와 같이 C2 열의 Collation 을 대소문자를 구분하는 Korean_Wansung_CS_AS 로 변환한 후에 “= a” 조건을 넣어주면 되는데, C2 전체 열에 Collation 의 변환이 일어나므로, 데이터 양이 많다면 속도가 상당히 느려질 수 있습니다.
반대의 경우라면 Collate 절의 CS 를 CI 로 바꿔주면 대소문자를 구분하지 않게 됩니다.