얼마 전에 보게 된 내용입니다. 중요한 부분이라 공유합니다.
인덱스를 내림차순으로 만드는 경우의 이슈가 가끔씩 있었던 것 같습니다. 항상 패치가 나오곤 했었는데, 이번엔 분할 테이블/인덱스와 관련된 이슈네요.
분할 테이블의 DESC 정렬 순서로 인덱스를 만들고 검색하는 경우 데이터나 순서가 잘못 검색되는 문제가 발생한다고 합니다. 아래 Paul White가 올려준 블로그의 테스트대로 수행해 봤는데 SQL Server 2008R2(SP1)에서 그대로 재현이 되었습니다. 아래Microsoft KB 문서에 따르면 2008, 2008R2, 2012까지 모두 해당이 되는군요.
Microsoft KB 문서: http://support.microsoft.com/kb/2892741/ko
Paul White 블로그: http://sqlblog.com/blogs/paul_white/archive/2013/08/21/incorrect-results-caused-by-adding-an-index.aspx
따라서 분할 테이블/인덱스(특히 DESC)를 사용하고 KB에 언급된 누적 업데이트가 아직 반영되지 않은 분들은 아래 KB 문서와Paul White 블로그 글을 보시고 테스트해 한 뒤 재현이 되거나 필요한 경우 누적 업데이트(Hotfix) 설치를 고려해 보셔야겠습니다. 유념하실 점은 KB에 언급된대로 추적 플래그 4199 설정이 필요하다고 합니다. 반드시 사전 테스트 거치시기 바랍니다.
감사합니다.