보존 정책
보존 정책은 테이블 또는 구체화된 뷰에서 데이터를 자동으로 제거하는 메커니즘을 제어합니다. 테이블에 지속적으로 유입되고 관련성이 연령 기반인 데이터를 제거하는 데 유용합니다. 예를 들어 이 정책은 2주 후에 관심이 없어질 수 있는 진단 이벤트를 보유하는 테이블에 사용할 수 있습니다.
보존 정책은 특정 테이블 또는 구체화된 뷰 또는 전체 데이터베이스에 대해 구성할 수 있습니다. 그런 다음, 정책을 재정의하지 않는 데이터베이스의 모든 테이블에 정책이 적용됩니다. 정책이 데이터베이스 및 테이블 수준에서 모두 구성된 경우 테이블의 보존 정책이 데이터베이스 정책보다 우선합니다.
보존 정책을 설정하는 것은 데이터를 지속적으로 수집하여 비용을 제한하는 클러스터에 중요합니다.
보존 정책이 "외부"인 데이터는 제거할 수 있습니다. 제거가 발생하는 경우 구체적인 보장은 없습니다. 보존 정책이 트리거되더라도 데이터가 "느린" 상태가 될 수 있습니다.
보존 정책은 수집 이후 데이터의 기간을 제한하도록 가장 일반적으로 설정됩니다. 자세한 내용은 SoftDeletePeriod를 참조하세요.
참고
- 삭제 시간이 정확하지 않습니다. 시스템은 한도를 초과하기 전에는 데이터가 삭제되지 않도록 보장하지만 해당 시점 직후에는 삭제되지 않습니다.
- 일시 삭제 기간 0은 테이블 수준 보존 정책의 일부로 설정할 수 있지만 데이터베이스 수준 보존 정책의 일부로 설정할 수는 없습니다.
- 이렇게 하면 수집된 데이터가 원본 테이블에 커밋되지 않으므로 데이터를 유지할 필요가 없습니다. 결과적으로 은
Recoverability
로만 설정할Disabled
수 있습니다. - 이러한 구성은 데이터가 테이블에 수집될 때 주로 유용합니다. 트랜잭션 업데이트 정책을 사용하여 변환하고 출력을 다른 테이블로 리디렉션합니다.
정책 개체
보존 정책에는 다음 속성이 포함됩니다.
- SoftDeletePeriod:
- 데이터를 쿼리에 사용할 수 있도록 보장되는 시간 범위입니다. 이 기간은 데이터가 수집된 시점부터 측정됩니다.
- 기본값은
100 years
입니다. - 테이블 또는 데이터베이스의 일시 삭제 기간을 변경할 때 새 값은 기존 데이터와 새 데이터 모두에 적용됩니다.
- 복구 가능성:
- 데이터가 삭제된 후의 데이터 복구 가능성(사용/사용 안 함)입니다.
- 기본값은
Enabled
입니다. - 로
Enabled
설정하면 일시 삭제된 후 14일 동안 데이터를 복구할 수 있습니다. - 복구 기간을 구성할 수 없습니다.
관리 명령
- 를 사용하여
.show policy retention
데이터베이스, 테이블 또는 구체화된 뷰에 대한 현재 보존 정책을 표시합니다. - 데이터베이스, 테이블 또는 구체화된 뷰의 현재 보존 정책을 변경하는 데 사용합니다
.alter policy retention
.
기본값
기본적으로 데이터베이스 또는 테이블을 만들 때는 보존 정책이 정의되어 있지 않습니다. 일반적으로 데이터베이스가 만들어지고 알려진 요구 사항에 따라 작성자가 즉시 보존 정책을 설정합니다.
정책 집합이 없는 데이터베이스 또는 테이블의 보존 정책에 대한 명령을 실행하면 가 로 null
표시됩니다..show
Policy
위에서 언급한 기본값을 사용하는 기본 보존 정책은 다음 명령을 사용하여 적용할 수 있습니다.
.alter database DatabaseName policy retention "{}"
.alter table TableName policy retention "{}"
.alter materialized-view ViewName policy retention "{}"
이 명령은 데이터베이스 또는 테이블에 적용된 다음 정책 개체를 생성합니다.
{
"SoftDeletePeriod": "36500.00:00:00", "Recoverability":"Enabled"
}
다음 명령을 사용하여 데이터베이스 또는 테이블의 보존 정책을 지울 수 있습니다.
.delete database DatabaseName policy retention
.delete table TableName policy retention
예제
라는 데이터베이스 MyDatabase
가 있는 클러스터의 경우 테이블 MyTable1
, MyTable2
및 가 있습니다 MySpecialTable
.
일시 삭제 기간 7일 및 복구 기능 사용 안 함
데이터베이스의 모든 테이블을 일시 삭제 기간 7일로 설정하고 복구 기능을 사용하지 않도록 설정합니다.
옵션 1(권장): 데이터베이스 수준 보존 정책을 설정하고 테이블 수준 정책이 설정되어 있지 않은지 확인합니다.
.delete table MyTable1 policy retention // optional, only if the table previously had its policy set .delete table MyTable2 policy retention // optional, only if the table previously had its policy set .delete table MySpecialTable policy retention // optional, only if the table previously had its policy set .alter-merge database MyDatabase policy retention softdelete = 7d recoverability = disabled .alter-merge materialized-view ViewName policy retention softdelete = 7d
옵션 2: 각 테이블에 대해 일시 삭제 기간이 7일이고 복구 가능성이 비활성화된 테이블 수준 보존 정책을 설정합니다.
.alter-merge table MyTable1 policy retention softdelete = 7d recoverability = disabled .alter-merge table MyTable2 policy retention softdelete = 7d recoverability = disabled .alter-merge table MySpecialTable policy retention softdelete = 7d recoverability = disabled
일시 삭제 기간 7일 및 복구 가능
테이블을
MyTable1
MyTable2
설정하고 일시 삭제 기간을 7일로 설정하고 복구 기능을 사용하지 않도록 설정합니다.일시 삭제 기간을 14일로 설정하고 복구 가능성을 사용하도록 설정합니다
MySpecialTable
.옵션 1(권장): 데이터베이스 수준 보존 정책을 설정하고 테이블 수준 보존 정책을 설정합니다.
.delete table MyTable1 policy retention // optional, only if the table previously had its policy set .delete table MyTable2 policy retention // optional, only if the table previously had its policy set .alter-merge database MyDatabase policy retention softdelete = 7d recoverability = disabled .alter-merge table MySpecialTable policy retention softdelete = 14d recoverability = enabled
옵션 2: 각 테이블에 대해 관련 일시 삭제 기간 및 복구 가능성을 사용하여 테이블 수준 보존 정책을 설정합니다.
.alter-merge table MyTable1 policy retention softdelete = 7d recoverability = disabled .alter-merge table MyTable2 policy retention softdelete = 7d recoverability = disabled .alter-merge table MySpecialTable policy retention softdelete = 14d recoverability = enabled
일시 삭제 기간은 7일이며 MySpecialTable
데이터를 무기한 유지합니다.
테이블을 MyTable1
MyTable2
설정하고 일시 삭제 기간을 7일 MySpecialTable
로 설정하고 데이터를 무기한 유지합니다.
옵션 1: 데이터베이스 수준 보존 정책을 설정하고 에 대한
MySpecialTable
기본 보존 정책인 일시 삭제 기간이 100년인 테이블 수준 보존 정책을 설정합니다..delete table MyTable1 policy retention // optional, only if the table previously had its policy set .delete table MyTable2 policy retention // optional, only if the table previously had its policy set .alter-merge database MyDatabase policy retention softdelete = 7d .alter table MySpecialTable policy retention "{}" // this sets the default retention policy
옵션 2: 테이블
MyTable1
및MyTable2
의 경우 테이블 수준 보존 정책을 설정하고 에 대한MySpecialTable
데이터베이스 수준 및 테이블 수준 정책이 설정되지 않았는지 확인합니다..delete database MyDatabase policy retention // optional, only if the database previously had its policy set .delete table MySpecialTable policy retention // optional, only if the table previously had its policy set .alter-merge table MyTable1 policy retention softdelete = 7d .alter-merge table MyTable2 policy retention softdelete = 7d
옵션 3: 테이블
MyTable1
및MyTable2
의 경우 테이블 수준 보존 정책을 설정합니다. 테이블MySpecialTable
의 경우 일시 삭제 기간이 100년인 테이블 수준 보존 정책을 기본 보존 정책으로 설정합니다..alter-merge table MyTable1 policy retention softdelete = 7d .alter-merge table MyTable2 policy retention softdelete = 7d .alter table MySpecialTable policy retention "{}"
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기