2014-05-16 6 views
1

SQL Server 2012에 기본 키의 일부인 테이블이있는 테이블이 있습니다. 데이터 정렬은 SQL_Latin1_General_CP1_CI_AS입니다.SQL Server 2012의 기본 키 열에서 데이터 정렬 사용

ALTER TABLE <Table_Name> 
ALTER COLUMN <Col Name> <Data Type> 
COLLATE SQL_Latin1_General_CP1_CS_AS 

을 내가 기본 키 컬럼에 데이터 정렬을 변경할 수 없습니다 알고있는 것처럼 : 요구 사항의 일환으로, 나는 다음과 같이하는 내가 SQL_Latin1_General_CP1_CS_AS에 열 정렬을 변경해야 할 경우를 구분하기 위해이 열이 필요합니다. 따라서 기본 키 클러스터에서 열을 제거하고 위의 Alter collation 명령을 실행하여 열의 기본 키를 다시 되돌려 놓았습니다. 불행히도 변경 명령을 실행 한 후에는 데이터 정렬이 SQL_Latin1_General_CP1_CS_AS으로 변경되었지만 해당 열을 기본 키로 만든 후에는 SQL_Latin1_General_CP1_CS_AS으로 바뀌 었습니다.

왜 이런 일이 발생하는지 이해하는 데 도움을 주시면 감사하겠습니다.

답변

0

GUI를 사용해보십시오. 이유는 모르겠지만 스크립트를 사용하여 데이터 정렬을 변경하면 다시 뒤집습니다.

기본 키 삭제 -> 테이블 변경 및 데이터 정렬 변경 -> GUI 사용 열 만들기 Null -> GUI를 사용하여 열 기본 키 만들기. 데이터 정렬은이 방법으로 되돌려지지 않습니다.

희망이 도움이됩니다.