다음을 통해 공유


sp_updatestats(Transact-SQL)

현재 데이터베이스의 모든 사용자 정의 및 내부 테이블에 대해 UPDATE STATISTICS를 실행합니다.

UPDATE STATISTICS에 대한 자세한 내용은 UPDATE STATISTICS(Transact-SQL)를 참조하십시오. 통계에 대한 자세한 내용은 통계을 참조하십시오.

항목 링크 아이콘 Transact-SQL 구문 표기 규칙

구문

sp_updatestats [ [ @resample = ] 'resample']

반환 코드 값

0(성공) 또는 1(실패)

인수

  • [ @resample =] 'resample'
    sp_updatestatsUPDATE STATISTICS 문의 RESAMPLE 옵션을 사용하도록 지정합니다. **'resample'**을 지정하지 않으면 sp_updatestats가 기본 샘플링을 사용하여 통계를 업데이트합니다. resample은 varchar(8)이며 기본값은 NO입니다.

주의

sp_updatestats는 ALL 키워드를 지정하여 데이터베이스의 모든 사용자 정의 및 내부 테이블에 대해 UPDATE STATISTICS를 실행합니다. sp_updatestats는 진행률을 나타내는 메시지를 표시합니다. 업데이트가 완료되면 모든 테이블에 대해 통계가 업데이트되었다고 보고합니다.

sp_updatestats는 비활성화된 비클러스터형 인덱스에 대한 통계는 업데이트하며 비활성화된 클러스터형 인덱스에 대한 통계는 업데이트하지 않습니다.

sp_updatestatssys.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)

DROP STATISTICS(Transact-SQL)

sp_autostats(Transact-SQL)

sp_createstats(Transact-SQL)

UPDATE STATISTICS(Transact-SQL)

시스템 저장 프로시저