sys.stats(Transact-SQL)

적용 대상: Microsoft Fabric의 Microsoft FabricWarehouse에 있는 SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsPlatform System(PDW) SQL 분석 엔드포인트

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

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

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

참고 항목

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

열 이름 데이터 형식 설명
object_id int 이러한 통계가 속한 개체의 ID입니다.
이름 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 (SQL Server 2012(11.x)부터 시작)
is_incremental bit 통계가 증분 통계로 생성되는지 여부를 나타냅니다.

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

1 = 통계가 증분됩니다.

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

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

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

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

0 = 정렬 기반 통계

1 = 내부 사용만

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

정렬 기반 통계

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

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

적용 대상: Azure SQL Database, Azure SQL Managed Instance 및 SQL Server 2022(16.x)부터 시작합니다.

사용 권한

카탈로그 뷰에서 메타데이터의 표시 유형은 사용자가 소유하거나 사용자에게 일부 권한이 부여된 보안 개체로 제한됩니다. 자세한 내용은 Metadata Visibility Configuration을 참조하세요.

예제

다음 예제에서는 테이블에 대한 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');

참고 항목

다음 단계