다음을 통해 공유


사용자 정의 데이터베이스의 데이터 정렬을 마스터 및 모델 데이터베이스의 데이터 정렬과 일치하도록 설정

이 규칙은 마스터 또는 모델의 데이터 정렬과 동일한 데이터베이스 데이터 정렬을 사용하여 사용자 정의 데이터베이스가 정의되는지 여부를 확인합니다.

모범 사례 권장 사항

사용자 정의 데이터베이스의 데이터 정렬은 마스터 또는 모델의 데이터 정렬과 일치하는 것이 좋습니다. 그렇지 않으면 코드가 실행되지 않을 수 있는 데이터 정렬 충돌이 발생할 수 있습니다. 예를 들어 저장 프로시저가 한 테이블을 임시 테이블에 조인하는 경우 SQL Server는 일괄 처리를 종료하고 사용자 정의 데이터베이스와 모델 데이터베이스의 데이터 정렬이 다른 경우 데이터 정렬 충돌 오류를 반환할 수 있습니다. 임시 테이블이 tempdb에 생성되어 모델의 데이터 정렬을 기반으로 하므로 이 문제가 발생합니다.

데이터 정렬 충돌 오류가 발생하는 경우 다음 솔루션 중 하나를 고려하세요.

  • 사용자 데이터베이스에서 데이터를 내보내서 마스터 및 모델 데이터베이스와 동일한 데이터 정렬이 있는 새 테이블로 가져옵니다.

  • 시스템 데이터베이스를 다시 빌드하여 사용자 데이터베이스 데이터 정렬과 일치하는 데이터 정렬을 사용합니다. 시스템 데이터베이스를 다시 빌드하는 방법에 대한 자세한 내용은 시스템 데이터베이스 다시 작성을 참조하세요.

  • 사용자 테이블을 tempdb의 테이블에 조인하는 저장 프로시저를 수정하여 사용자 데이터베이스의 데이터 정렬을 사용하여 tempdb에서 테이블을 만듭니다. 이렇게 하려면 다음 예제와 같이 임시 테이블의 열 정의에 절을 추가 COLLATE database_default 합니다.

    CREATE TABLE #temp1 ( c1 int, c2 varchar(30) COLLATE database_default )  
    

자세한 내용

데이터베이스 데이터 정렬 설정 또는 변경

열 데이터 정렬 설정 또는 변경

ALTER DATABASE(Transact-SQL)

COLLATE(Transact-SQL)

sys.databases(Transact-SQL)

Microsoft 기술 자료 문서 325335

방법: 명령 프롬프트에서 SQL Server 2008 설치

또한 참조하십시오

정책 기반 관리를 사용하여 모범 사례 모니터링 및 적용