sp_updatestats(Transact-SQL)
현재 데이터베이스의 모든 사용자 정의 및 내부 테이블에 대해 UPDATE STATISTICS를 실행합니다.
UPDATE STATISTICS에 대한 자세한 내용은 UPDATE STATISTICS(Transact-SQL)를 참조하십시오. 통계에 대한 자세한 내용은 통계을 참조하십시오.
구문
sp_updatestats [ [ @resample = ] 'resample']
반환 코드 값
0(성공) 또는 1(실패)
인수
- [ @resample =] 'resample'
sp_updatestats가 UPDATE STATISTICS 문의 RESAMPLE 옵션을 사용하도록 지정합니다. **'resample'**을 지정하지 않으면 sp_updatestats가 기본 샘플링을 사용하여 통계를 업데이트합니다. resample은 varchar(8)이며 기본값은 NO입니다.
주의
sp_updatestats는 ALL 키워드를 지정하여 데이터베이스의 모든 사용자 정의 및 내부 테이블에 대해 UPDATE STATISTICS를 실행합니다. sp_updatestats는 진행률을 나타내는 메시지를 표시합니다. 업데이트가 완료되면 모든 테이블에 대해 통계가 업데이트되었다고 보고합니다.
sp_updatestats는 비활성화된 비클러스터형 인덱스에 대한 통계는 업데이트하며 비활성화된 클러스터형 인덱스에 대한 통계는 업데이트하지 않습니다.
sp_updatestats는 sys.sysindexes 카탈로그 뷰에 있는 rowmodctr 정보 기반의 업데이트가 필요한 통계만 업데이트하므로 변경되지 않은 행에 대한 불필요한 통계 업데이트가 발생하지 않습니다.
sp_updatestats는 저장 프로시저나 기타 컴파일된 코드의 재컴파일을 트리거할 수 있지만, 참조된 테이블 및 테이블의 인덱스에 대해 실행 가능한 쿼리 계획이 하나 뿐인 경우에는 sp_updatestats로 인해 재컴파일이 발생하지 않습니다. 이러한 경우에는 통계가 업데이트되었더라도 재컴파일이 필요하지 않습니다.
호환성 수준이 90 미만인 데이터베이스에 대해 sp_updatestats를 실행하면 특정 통계에 대한 최신 NORECOMPUTE 설정이 유지되지 않습니다. 호환성 수준이 90 이상인 데이터베이스에 대해 sp_updatestats를 실행하면 특정 통계에 대한 최신 NORECOMPUTE 설정이 유지됩니다. 통계 업데이트를 비활성화하고 다시 활성화하는 방법은 통계을 참조하십시오.
사용 권한
sysadmin 고정 서버 역할의 멤버이거나 데이터베이스(dbo)의 소유자여야 합니다.
예
다음 예에서는 AdventureWorks2012 데이터베이스의 테이블에 대한 통계를 업데이트합니다.
USE AdventureWorks2012;
GO
EXEC sp_updatestats;
참고 항목
참조
ALTER DATABASE SET 옵션(Transact-SQL)
CREATE STATISTICS(Transact-SQL)
DBCC SHOW_STATISTICS(Transact-SQL)