다음을 통해 공유


sys.stats(Transact-SQL)

적용 대상:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics분석 플랫폼 시스템(PDW)Microsoft Fabric의 SQL 분석 엔드포인트Microsoft Fabric의 웨어하우스Microsoft Fabric의 SQL 데이터베이스

SQL Server의 데이터베이스에 있는 테이블, 인덱스 및 인덱싱된 뷰에 대해 존재하는 각 통계 개체에 대한 행을 포함합니다. 모든 인덱스에는 이름과 ID(index_id = stats_id)가 같은 해당 통계 행이 있지만 모든 통계 행에 해당 인덱스가 있는 것은 아닙니다.

카탈로그 뷰 sys.stats_columns 데이터베이스의 각 열에 대한 통계 정보를 제공합니다.

통계에 대한 자세한 내용은 통계를 참조하세요.

참고 항목

Microsoft Fabric의 통계에 대한 자세한 내용은 패브릭 데이터 웨어하우스의 통계를 참조하세요.

열 이름 데이터 형식 설명
object_id int 이러한 통계가 속한 개체의 ID입니다.
name sysname 통계의 이름입니다. 개체 내에서 고유합니다.
stats_id int 통계의 ID입니다. 개체 내에서 고유합니다.

통계가 인덱스에 해당하는 경우 stats_id 값은 sys.indexes 카탈로그 뷰의 index_id 값과 동일합니다.
auto_created bit SQL Server에서 통계를 자동으로 만들었는지 여부를 나타냅니다.

0 = 통계가 SQL Server에서 자동으로 생성되지 않았습니다.

1 = 통계가 SQL Server에 의해 자동으로 생성되었습니다.
user_created bit 사용자가 만든 통계인지 여부를 나타냅니다.

0 = 사용자가 통계를 만들지 않았습니다.

1 = 사용자가 만든 통계입니다.
no_recompute bit 옵션을 사용하여 통계가 만들어졌 NORECOMPUTE 는지 여부를 나타냅니다.

0 = 옵션을 사용하여 통계가 NORECOMPUTE 만들어지지 않았습니다.

1 = 옵션을 사용하여 통계가 NORECOMPUTE 생성되었습니다.
has_filter bit 0 = 통계에는 필터가 없으며 모든 행에서 계산됩니다.

1 = 통계에는 필터가 있으며 필터 정의를 충족하는 행에서만 계산됩니다.
filter_definition nvarchar(max) 필터링된 통계에 포함된 행의 하위 집합에 대한 식입니다.

NULL = 필터링되지 않은 통계입니다.
is_temporary bit 통계가 임시인지 여부를 나타냅니다. 임시 통계는 읽기 전용 액세스를 사용하도록 설정된 Always On 가용성 그룹 보조 데이터베이스를 지원합니다.

0 = 통계가 일시적이지 않습니다.

1 = 통계가 임시 통계입니다.

적용 대상: SQL Server
is_incremental bit 통계가 증분 통계로 생성되는지 여부를 나타냅니다.

0 = 통계가 증분되지 않습니다.

1 = 통계가 증분됩니다.

적용 대상: SQL Server 2014(12.x) 이상 버전
has_persisted_sample bit 이 옵션을 사용하여 통계를 만들거나 업데이트 PERSIST_SAMPLE_PERCENT 했는지 여부를 나타냅니다.

0 = 통계가 샘플 백분율을 유지하지 않습니다.

1 = 옵션을 사용하여 통계를 만들거나 업데이트했습니다 PERSIST_SAMPLE_PERCENT .

적용 대상: SQL Server 2019(15.x) 이상 버전.
stats_generation_method int 통계가 생성되는 메서드를 나타냅니다.

0 = 정렬 기반 통계

1 = 내부 사용만

적용 대상: SQL Server 2019(15.x) 이상 버전.
stats_generation_method_desc varchar(255) 통계가 생성되는 메서드의 텍스트 설명입니다.

정렬 기반 통계

내부적으로만 사용됩니다.

적용 대상: SQL Server 2019(15.x) 이상 버전.
auto_drop bit 이 통계 개체에 대해 자동 삭제 기능을 사용할 수 있는지 여부를 나타냅니다. 이 AUTO_DROP 속성을 사용하면 통계 개체에 의해 후속 스키마 변경이 차단되지 않고 필요에 따라 통계가 삭제되도록 모드에서 통계 개체를 만들 수 있습니다. 이러한 방식으로 사용하도록 설정된 수동으로 만든 통계는 AUTO_DROP 자동 생성된 통계처럼 동작합니다. 자세한 내용은 AUTO_DROP 옵션을 참조하세요.

적용 대상: SQL Server 2022(16.x) 이상 버전, Azure SQL Database, Azure SQL Managed Instance.
replica_role_id tinyint 자동 통계가 마지막으로 업데이트된 복제본을 나타냅니다.

1 = 기본

2 = 보조

3 = 지역 보조

4 = Geo HA 보조

적용 대상: SQL Server 2025 (17.x) 및 이후 버전, Azure SQL 데이터베이스, Azure SQL 관리 인스턴스.
replica_role_desc nvarchar(60) 기본, 보조, 지리적 보조, 지리적 HA 보조

적용 대상: SQL Server 2025 (17.x) 및 이후 버전, Azure SQL 데이터베이스, Azure SQL 관리 인스턴스.
replica_name sysname 가용성 그룹에 있는 복제본의 인스턴스 이름입니다. NULL 주 복제본의 경우

적용 대상: SQL Server 2025 (17.x) 및 이후 버전, Azure SQL 데이터베이스, Azure SQL 관리 인스턴스

사용 권한

사용자가 소유하고 있거나 사용 권한을 부여 받은 보안 개체에 대해서만 카탈로그 뷰의 메타데이터를 볼 수 있습니다. 자세한 내용은 메타데이터 표시 유형 구성을 참조하세요.

예제

다음 예제에서는 테이블에 대한 HumanResources.Employee 모든 통계 및 통계 열을 반환합니다.

USE AdventureWorks2022;
GO

SELECT s.name AS statistics_name,
       c.name AS column_name,
       sc.stats_column_id
FROM sys.stats AS s
     INNER JOIN sys.stats_columns AS sc
         ON s.object_id = sc.object_id
        AND s.stats_id = sc.stats_id
     INNER JOIN sys.columns AS c
         ON sc.object_id = c.object_id
        AND c.column_id = sc.column_id
WHERE s.object_id = OBJECT_ID('HumanResources.Employee');