2012-02-22 3 views
0

개발 서버에는 데이터 정렬이있는 데이터베이스 서버가 있습니다 (COLLATE SQL_Latin1_General_CP1_CI_AS).SQL COLLATION을 (를) 확인할 수 없습니다.

서버와 해당 데이터베이스 서버가 데이터 정렬에 우리의 솔루션을 배포 한 후 : COLLATE 우리는 쿼리가있는 경우 의미 SQL_Latin1_General_CI_AS

:

암시 적 변환 : 나는이 문제를 가지고

SELECT ('text' + 'abc') AS 'result' 

을 데이터 정렬 충돌로 인해 값의 데이터 정렬이 해결되지 않았으므로 varchar에서 varchar 로의 varchar 값을 수행 할 수 없습니다.

그래서 난이 시도 :

ALTER DATABASE [mydb] COLLATE SQL_Latin1_General_CP1_CI_AS 그때 나는 MYDB의 속성을 확인을 한 부씩로 변경된다 SQL_Latin1_General_CI_CS_AS하지만 난 여전히 같은 오류가 발생합니다.

기타 항목에서는 데이터베이스를 다시 설치하는 것이 좋습니다. 그러나 우리가 모든 데이터를 잃어 버리는 것은 아닙니다.

모든 의견을 매우 높이 평가합니다!

미리 감사드립니다.

+0

두 의견 : 당신은 적절한 정렬을 사용하도록 모든 테이블을 업데이트하면서 (1)는, 그 동안의'COLLATE'의에 조인 절과 다른 표현을 추가 할 수 있습니다. (2) 별칭에 ''작은 따옴표 ''를 사용하지 마십시오.이 구문은 향후 제공되지 않을 예정이며 곧 출시 될 SQL Server에서 작동하지 않습니다. –

답변

1

간단히 말해 데이터베이스를 변경하는 것만으로는 충분하지 않습니다. 이는 앞으로 생성되는 새 개체에만 영향을 미치기 때문입니다. 또한 기존의 모든 컬럼을 변경해야합니다. 이 Microsoft 지원 문서에는 필요한 모든 세부 정보가 있어야합니다.

How to transfer a database from one collation to another collation in SQL Server

관련 문제