Zasady przechowywania
Zasady przechowywania kontrolują mechanizm, który automatycznie usuwa dane z tabel lub zmaterializowanych widoków. Warto usuwać dane, które stale przepływają do tabeli i których znaczenie jest określane na podstawie wieku. Na przykład zasady mogą być używane dla tabeli zawierającej zdarzenia diagnostyczne, które mogą stać się nieinteresujące po dwóch tygodniach.
Zasady przechowywania można skonfigurować dla określonej tabeli lub zmaterializowanego widoku albo dla całej bazy danych. Zasady są następnie stosowane do wszystkich tabel w bazie danych, które jej nie zastępują. Gdy zasady są konfigurowane zarówno na poziomie bazy danych, jak i tabeli, zasady przechowywania w tabeli mają pierwszeństwo przed zasadami bazy danych.
Skonfigurowanie zasad przechowywania jest ważne w przypadku klastrów, które stale pozyskują dane, co spowoduje ograniczenie kosztów.
Dane "poza" zasadami przechowywania kwalifikują się do usunięcia. Nie ma konkretnej gwarancji w przypadku usunięcia. Dane mogą być "utrzymywane", nawet jeśli zasady przechowywania są wyzwalane.
Zasady przechowywania są najczęściej ustawiane w celu ograniczenia wieku danych od momentu pozyskiwania. Aby uzyskać więcej informacji, zobacz SoftDeletePeriod.
Uwaga
- Czas usunięcia jest niedokładny. System gwarantuje, że dane nie zostaną usunięte przed przekroczeniem limitu, ale usunięcie nie następuje natychmiast po tym punkcie.
- Okres usuwania nietrwałego 0 można ustawić jako część zasad przechowywania na poziomie tabeli, ale nie jako część zasad przechowywania na poziomie bazy danych.
- Po zakończeniu pozyskiwania danych nie zostaną zatwierdzone do tabeli źródłowej, co pozwala uniknąć konieczności utrwalania danych. W związku
Recoverability
z tym można ustawićDisabled
tylko wartość . - Taka konfiguracja jest przydatna głównie wtedy, gdy dane są pozyskiwane do tabeli. Zasady aktualizacji transakcyjnej są używane do przekształcania i przekierowywania danych wyjściowych do innej tabeli.
Obiekt zasad
Zasady przechowywania obejmują następujące właściwości:
- SoftDeletePeriod:
- Przedział czasu, dla którego gwarantowana jest dostępność danych do wykonywania zapytań. Okres jest mierzony od momentu pozyskiwania danych.
- Wartość domyślna to
100 years
. - Podczas zmiany okresu usuwania nietrwałego tabeli lub bazy danych nowa wartość ma zastosowanie zarówno do istniejących, jak i nowych danych.
- Możliwość odzyskiwania:
- Możliwość odzyskiwania danych (włączona/wyłączona) po usunięciu danych.
- Wartość domyślna to
Enabled
. - Jeśli zostanie ustawiona wartość
Enabled
, dane będą możliwe do odzyskania przez 14 dni po usunięciu nietrwałym. - Nie można skonfigurować okresu odzyskiwania.
Polecenia zarządzania
- Służy
.show policy retention
do wyświetlania bieżących zasad przechowywania dla bazy danych, tabeli lub zmaterializowanego widoku. - Służy
.alter policy retention
do zmiany bieżących zasad przechowywania bazy danych, tabeli lub zmaterializowanego widoku.
Wartość domyślna
Domyślnie podczas tworzenia bazy danych lub tabeli nie ma zdefiniowanych zasad przechowywania. Zwykle baza danych jest tworzona, a następnie natychmiast ma zasady przechowywania ustawione przez jego twórcę zgodnie ze znanymi wymaganiami.
Po uruchomieniu .show
polecenia dla zasad przechowywania bazy danych lub tabeli, która nie miała ustawionego zestawu zasad, Policy
jest wyświetlana jako null
.
Domyślne zasady przechowywania z wartościami domyślnymi wymienionymi powyżej można zastosować przy użyciu następującego polecenia.
.alter database DatabaseName policy retention "{}"
.alter table TableName policy retention "{}"
.alter materialized-view ViewName policy retention "{}"
Polecenie powoduje zastosowanie następującego obiektu zasad do bazy danych lub tabeli.
{
"SoftDeletePeriod": "36500.00:00:00", "Recoverability":"Enabled"
}
Wyczyszczenie zasad przechowywania bazy danych lub tabeli można wykonać przy użyciu następującego polecenia.
.delete database DatabaseName policy retention
.delete table TableName policy retention
Przykłady
W przypadku klastra, który ma bazę danych o nazwie MyDatabase
, z tabelami MyTable1
, MyTable2
i MySpecialTable
.
Okres usuwania nietrwałego z siedmiu dni i wyłączono możliwość odzyskiwania
Ustaw wszystkie tabele w bazie danych tak, aby okres usuwania nietrwałego wynosił siedem dni i wyłączył możliwość odzyskiwania.
Opcja 1 (zalecana): ustaw zasady przechowywania na poziomie bazy danych i sprawdź, czy nie ustawiono żadnych zasad na poziomie tabeli.
.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
Opcja 2. Dla każdej tabeli ustaw zasady przechowywania na poziomie tabeli z wyłączonym okresem usuwania nietrwałego przez siedem dni i możliwością odzyskiwania.
.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
Okres usuwania nietrwałego z siedmiu dni i włączono możliwość odzyskiwania
Ustaw tabele
MyTable1
iMyTable2
mają wyłączony okres usuwania nietrwałego z siedmiu dni i możliwość odzyskiwania.Ustaw
MySpecialTable
opcję na okres usuwania nietrwałego z włączonym okresem 14 dni i możliwościami odzyskiwania.Opcja 1 (zalecana): ustaw zasady przechowywania na poziomie bazy danych i ustaw zasady przechowywania na poziomie tabeli.
.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
Opcja 2. Dla każdej tabeli ustaw zasady przechowywania na poziomie tabeli z odpowiednim okresem usuwania nietrwałego i możliwością odzyskiwania.
.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
Okres usuwania nietrwałego z siedmiu dni i MySpecialTable
przechowuje dane na czas nieokreślony
Ustaw tabele MyTable1
i MyTable2
na okres usuwania nietrwałego z siedmiu dni i zachowaj MySpecialTable
swoje dane na czas nieokreślony.
Opcja 1. Ustaw zasady przechowywania na poziomie bazy danych i ustaw zasady przechowywania na poziomie tabeli z okresem usuwania nietrwałego 100 lat, domyślnymi zasadami przechowywania dla programu
MySpecialTable
..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
Opcja 2. W przypadku tabel
MyTable1
iMyTable2
ustaw zasady przechowywania na poziomie tabeli i sprawdź, czy zasadyMySpecialTable
na poziomie bazy danych i na poziomie tabeli nie są ustawione..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
Opcja 3. W przypadku tabel
MyTable1
iMyTable2
ustaw zasady przechowywania na poziomie tabeli. W przypadku tabeliMySpecialTable
ustaw zasady przechowywania na poziomie tabeli z okresem usuwania nietrwałego przez 100 lat, domyślnymi zasadami przechowywania..alter-merge table MyTable1 policy retention softdelete = 7d .alter-merge table MyTable2 policy retention softdelete = 7d .alter table MySpecialTable policy retention "{}"
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla