적용 대상:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure 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');