인덱스 리빌드 3

SQL Server 666코드의 고유 식별자 오류

SQL Server 666코드의 고유 식별자 오류 · Version : SQL Server SQL Server에서 UNIQUE 속성을 사용하여 클러스터된 인덱스(clustered index)를 만들지 않으면 데이터베이스 엔진은 4바이트의 고유 식별자 열을 테이블에 자동 추가하고 필요한 경우 데이터베이스 엔진은 키를 고유하게 만들기 위해 행에 고유 식별자 값을 자동으로 추가한다. 이 열과 해당 값은 내부적으로 사용되며 사용자가 보거나 액세스할 수 없다. 고유 식별자와 관련된 문제는 발생할 가능성의 거의 없지만 고유 식별자 키 값 제한인 2,147,483,648에 도달할 경우 오류코드 666이 발생할 수 있다. Msg 666, Level 16, State 2, Line 1 The maximum system-..

인덱스 리빌드는 통계를 업데이트 할까?

인덱스 리빌드는 통계를 업데이트 할까? Version : SQL Server 2005, 2008, 2008R2, 2012, 2014 인덱스를 리빌드하면 통계가 업데이트 될까? 이 질문에 많은 사람들은 "YES"라고 답할 것이다. 사실은 모든 통계를 업데이트를 하지 않는다. 인덱스를 리빌드 하는경우 해당 인덱스와 관련된 통계만 업데이트 된다. Index Stats Non-index stats ALTER INDEX REORG NO NO ALTER INDEX REBUILD 해당 인덱스와 관련된 인덱스 통계 업데이트 됨 NO ALTER INDEX ALL REBUILD 모든 인덱스 통계 업데이트 됨 NO DBREINDEX (old syntax) YES YES 위에서 볼 수 있듯이 모든 통계는 인덱스 리빌드 작업을..

인덱스 유지관리 작업과 SQL Server 쿼리 성능

인덱스 유지관리 작업과 SQL Server 쿼리 성능 Version : SQL Server 2005, 2008, 2008R2, 2012, 2014 SQL Server 데이터베이스 엔진에서는 기본 데이터에 삽입, 업데이트 또는 삭제 작업을 수행할 때마다 인덱스를 자동으로 유지 관리한다. 이러한 수정이 거듭되면 시간이 흐름에 따라 인덱스의 정보가 조각화되어 데이터베이스 내에 흩어지게 될 수 있다. 조각화는 키 값을 기준으로 하는 인덱스의 논리적 페이지 순서가 데이터 파일 내의 물리적 순서와 일치하지 않을 때 나타난다. 심하게 조각화된 인덱스는 쿼리 성능을 저하시키고 응용 프로그램의 응답이 느릴 수 있다. 인덱스 조각화가 심할 경우에는 Reorganization 또는 Rebuild에 대한 고민을 하게 되는데 ..