Redgate 데이터를 얻는 방법 정렬 순서를 고려하는 방법은 무엇입니까?

StackOverflow https://stackoverflow.com/questions/859626

문제

SQL-Server 2005를 사용하고 있습니다.

본질적으로 동일한 데이터를 가진 개발자 및 Prod 데이터베이스가 있습니다. Redgate SQL 데이터 비교 5와 비교하면 4 개의 레코드 만 다릅니다. 그러나 테이블을 열고 볼 때 완전히 다른 정렬 순서입니다. 두 테이블 모두 인덱스 나 정렬 순서를 강요하는 것이 없으며, 내 개발자가 Prod와 동일한 순서로 정렬되도록하려고합니다. 그러나 Redgate는 내가 가까이있을 때 나에게 말하지 않을 것입니다. 왜냐하면 그것은 같은 종류의 순서가 아니더라도 일치하는 레코드를 찾는 것 같습니다. 그것을 어떻게 무시합니까?

도구를 사용하여 정렬 순서를 알아 내면서 제대로 도달했는지 확인하고 싶습니다.

도움이 되었습니까?

해결책

다른 정렬 순서는 단지 행이 데이터 파일에 물리적으로 다른 방식으로 배치되었음을 의미하지만 데이터는 여전히 정확하게 일치하므로 DC는 여전히 일치한다고보고합니다. SQL Server가 수정을 제어 할 수있는 방법이 없기 때문에 차이를 발견하더라도 차이를 동기화 할 수있는 방법이 없기 때문에 "물리 디스크 순서를 존중하는 것"(본질적으로 요구하는 것입니다). 디스크 순서.

테이블을 쿼리 할 때 데이터가 디스크에서 가져 오는 순서는 의존해서는 안됩니다. 특정 순서가 필요한 경우 특정 정렬 순서를 강제하기 위해 쿼리에 "주문"절을 포함해야합니다. 주문을 사용할 수없는 이유가 있으면 특정 정렬 순서를 강제로 강제로하는 다른 옵션만으로 테이블을 정렬하려는 필드에 클러스터 된 인덱스를 추가하는 것입니다.

실제로 데이터를 다시 주문 해야하는 경우 "잘못된"테이블을 자르고 [나쁜 순서 테이블]에 삽입 된 [좋은 순서 테이블]에서 *를 선택하십시오"로 채워야합니다. 그럼에도 불구하고 원하는 효과가 있어야하지만 보장은 없습니다.

최상의 옵션으로서 주문을 권장합니다. 이 옵션 중 어느 것도 효과가없는 이유가 있다면 알려 주시면 다른 것을 제안하려고 노력할 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top