다음을 통해 공유


.drop extents 명령

적용 대상: ✅Microsoft Fabric✅Azure Data Explorer

지정된 데이터베이스 또는 테이블에서 익스텐트를 삭제합니다.

이 명령에는 몇 가지 변형이 있습니다. 하나의 경우 삭제할 익스텐트는 Kusto 쿼리에 의해 지정됩니다. 다른 변형에서는 아래에 설명된 미니 언어를 사용하여 익스텐트를 지정합니다.

참고 항목

데이터 분할된 데이터베이스를 익스텐트라고 하며 모든 명령은 동의어로 "익스텐트" 또는 "익스텐트"를 사용합니다. 익스텐트에 대한 자세한 내용은 익스텐트(데이터 분할된 데이터베이스) 개요를 참조 하세요.

주의

익스텐트를 삭제하면 해당 익스텐트 내의 모든 행이 삭제됩니다. 개별 레코드를 삭제하려면 일시 삭제를 사용합니다.

사용 권한

TableName지정한 경우 명령을 실행하려면 적어도 테이블 관리자 권한이 있어야 합니다.

TableName지정하지 않은 경우 명령을 실행하려면 데이터베이스 관리자 이상의 권한이 있어야 합니다.

구문

쿼리를 사용하여 익스텐트 삭제

.dropextents [whatif] <| 쿼리

구문 규칙에 대해 자세히 알아봅니다.

매개 변수

이름 Type 필수 설명
whatif string 지정된 경우 익스텐트 삭제 대신 보고됩니다.
쿼리 string ✔️ Kusto 쿼리 언어(KQL) 쿼리의 결과는 원본 테이블과 삭제할 ID 범위를 지정합니다. "ExtentId" 및 "TableName"이라는 열이 있는 레코드 집합을 반환해야 합니다.

특정 또는 여러 익스텐트 삭제

.dropextents (ExtentIds) from TableName

매개 변수

이름 Type 필수 설명
ExtentIds guid ✔️ 삭제할 익스텐트 중 하나 이상의 쉼표로 구분된 고유 식별자입니다.
TableName string 삭제할 범위가 있는 테이블의 이름입니다.

지정된 속성별 익스텐트 삭제

.dropextents [older N (days | hours)] from (TableName | tablesall) [trim by (extentsize | datasize) Size (MB | bytes | GB)] [limit LimitCount]

매개 변수

이름 Type 필수 설명
N int ✔️ N일/시간보다 오래된 익스텐트 삭제
TableName string 삭제할 범위가 있는 테이블의 이름입니다.
크기 int ✔️ 익스텐트 합계가 필요한 크기(MaxSize)와 일치할 때까지 데이터베이스의 데이터를 트리밍합니다.
LimitCount int ✔️ 첫 번째 LimitCount 익스텐트 적용

이 명령은 명령이 실행되는 것처럼 출력을 생성하는 에뮬레이션 모드를 지원하지만 실제로 실행하지는 않습니다. .drop-pretend 대신 .drop를 사용합니다.

반품

이 명령은 다음 정보가 포함된 테이블을 반환합니다.

출력 매개 변수 Type 설명
ExtentId string 명령으로 인해 삭제된 ExtentId
TableName string 범위가 속한 테이블 이름
CreatedOn dateTime 익스텐트 초기 생성 시기에 대한 정보를 포함하는 타임스탬프

예를 들어 명령의 반환 값은 다음 표와 같을 수 있습니다.

익스텐트 ID 테이블 이름 생성 날짜
43c6e03f-1713-4ca7-a52a-5db8a4e8b87d TestTable 2015-01-12 12:48:49.4298178

예제

특정 익스텐트 삭제

익스텐트 ID를 사용하여 특정 익스텐트를 삭제합니다.

.drop extent 609ad1e2-5b1c-4b79-90c0-1dec262e9f46 from Table1

여러 익스텐트 삭제

익스텐트 ID 목록을 사용하여 여러 익스텐트를 삭제합니다.

.drop extents (609ad1e2-5b1c-4b79-90c0-1dec262e9f46, 310a60c6-8529-4cdf-a309-fe6aa7857e1d) from Table1

생성된 시간별 모든 익스텐트 제거

데이터베이스의 모든 테이블에서 10일 전에 만든 모든 익스텐트 제거 MyDatabase

.drop extents <| .show database MyDatabase extents | where CreatedOn < now() - time(10d)

생성된 시간별 일부 익스텐트 제거

테이블 Table1 의 모든 익스텐트 제거 및 Table2 생성 시간이 10일이 지난 경우

.drop extents older 10 days from tables (Table1, Table2)

extent_id()를 사용하여 익스텐트 제거

기본 제공 함수를 사용하여 테이블에서 익스텐트를 제거합니다 extent_id() .

.drop extents  <|
    StormEvents
    | where EventId == '66144'
    | summarize by ExtentId = extent_id(), TableName = "StormEvents"

에뮬레이션 모드: 명령에 의해 제거될 익스텐트 표시

참고 항목

이 명령에는 익스텐트 ID 매개 변수를 적용할 수 없습니다.

.drop-pretend extents older 10 days from all tables

'TestTable'에서 모든 익스텐트 제거

.drop extents from TestTable

참고 항목

스트리밍 수집을 사용하는 경우 모든 익스텐트 제거가 테이블의 모든 데이터를 반드시 삭제하지는 않습니다. 테이블의 모든 데이터를 지우려면 .를 사용합니다 .clear table data TestTable.