Criteri di conservazione
I criteri di conservazione controllano il meccanismo che rimuove automaticamente i dati dalle tabelle o dalle viste materializzate. È utile rimuovere i dati che passano continuamente in una tabella e la cui rilevanza è basata sull'età. Ad esempio, i criteri possono essere usati per una tabella che contiene eventi di diagnostica che potrebbero non essere più interessante dopo due settimane.
I criteri di conservazione possono essere configurati per una tabella o una visualizzazione materializzata specifica o per un intero database. Il criterio si applica quindi a tutte le tabelle del database che non lo sostituiscono. Quando i criteri vengono configurati sia a livello di database che a livello di tabella, i criteri di conservazione nella tabella hanno la precedenza sui criteri di database.
La configurazione di un criterio di conservazione è importante per i cluster che inseriscono continuamente i dati, che limitano i costi.
I dati "esterni" i criteri di conservazione sono idonei per la rimozione. Non esiste alcuna garanzia specifica quando si verifica la rimozione. I dati possono essere "persistenti" anche se i criteri di conservazione vengono attivati.
I criteri di conservazione sono più comunemente impostati per limitare l'età dei dati dopo l'inserimento. Per altre informazioni, vedere SoftDeletePeriod.
Nota
- Il tempo di eliminazione è impreciso. Il sistema garantisce che i dati non vengano eliminati prima del superamento del limite, ma l'eliminazione non è immediata in seguito al superamento di tale punto.
- Un periodo di eliminazione temporanea di 0 può essere impostato come parte di un criterio di conservazione a livello di tabella, ma non come parte di un criterio di conservazione a livello di database.
- Al termine, i dati inseriti non verranno sottoposti a commit nella tabella di origine, evitando la necessità di rendere persistenti i dati. Di conseguenza,
Recoverability
è possibile impostare solo suDisabled
. - Questa configurazione è utile principalmente quando i dati vengono inseriti in una tabella. Un criterio di aggiornamento transazionale viene usato per trasformarlo e reindirizzare l'output in un'altra tabella.
Oggetto criteri
Un criterio di conservazione include le proprietà seguenti:
- SoftDeletePeriod:
- Intervallo di tempo per il quale è garantito che i dati vengano mantenuti disponibili per la query. Il periodo viene misurato a partire dal momento in cui i dati sono stati inseriti.
- Il valore predefinito è
100 years
. - Quando si modifica il periodo di eliminazione temporanea di una tabella o di un database, il nuovo valore si applica sia ai dati esistenti che ai nuovi.
- Ripristinabilità:
- Recupero dei dati (abilitato/disabilitato) dopo l'eliminazione dei dati.
- Il valore predefinito è
Enabled
. - Se impostato su
Enabled
, i dati saranno recuperabili per 14 giorni dopo l'eliminazione temporanea. - Non è possibile configurare il periodo di ripristino.
Comandi di gestione
- Usare
.show policy retention
per visualizzare i criteri di conservazione correnti per un database, una tabella o una visualizzazione materializzata. - Usare
.alter policy retention
per modificare i criteri di conservazione correnti di un database, una tabella o una visualizzazione materializzata.
Valori predefiniti
Per impostazione predefinita, quando viene creato un database o una tabella, non è definito un criterio di conservazione. In genere, il database viene creato e quindi ha immediatamente i criteri di conservazione impostati dal relativo creatore in base ai requisiti noti.
Quando si esegue un .show
comando per i criteri di conservazione di un database o di una tabella che non dispone del relativo set di criteri, Policy
viene visualizzato come null
.
I criteri di conservazione predefiniti, con i valori predefiniti indicati in precedenza, possono essere applicati usando il comando seguente.
.alter database DatabaseName policy retention "{}"
.alter table TableName policy retention "{}"
.alter materialized-view ViewName policy retention "{}"
Il comando genera l'oggetto criterio seguente applicato al database o alla tabella.
{
"SoftDeletePeriod": "36500.00:00:00", "Recoverability":"Enabled"
}
È possibile cancellare i criteri di conservazione di un database o di una tabella usando il comando seguente.
.delete database DatabaseName policy retention
.delete table TableName policy retention
Esempio
Per un cluster con un database denominato MyDatabase
, con tabelle MyTable1
, MyTable2
e MySpecialTable
.
Periodo di eliminazione temporanea di sette giorni e ripristino disabilitato
Impostare tutte le tabelle nel database per avere un periodo di eliminazione temporanea di sette giorni e la ripristinabilità disabilitata.
Opzione 1 (scelta consigliata): impostare criteri di conservazione a livello di database e verificare che non siano impostati criteri a livello di tabella.
.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
Opzione 2: per ogni tabella impostare un criterio di conservazione a livello di tabella, con un periodo di eliminazione temporanea di sette giorni e la ripristinabilità disabilitata.
.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
Periodo di eliminazione temporanea di sette giorni e ripristino abilitato
Impostare tabelle
MyTable1
eMyTable2
per avere un periodo di eliminazione temporanea di sette giorni e la ripristinabilità disabilitata.Impostare
MySpecialTable
per avere un periodo di eliminazione temporanea di 14 giorni e la ripristinabilità abilitata.Opzione 1 (scelta consigliata): impostare criteri di conservazione a livello di database e impostare criteri di conservazione a livello di tabella.
.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
Opzione 2: per ogni tabella impostare un criterio di conservazione a livello di tabella, con il periodo di eliminazione temporanea e la ripristinabilità pertinenti.
.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
Periodo di eliminazione temporanea di sette giorni e MySpecialTable
mantiene i dati indefiniti
Impostare tabelle MyTable1
e MyTable2
per avere un periodo di eliminazione temporanea di sette giorni e MySpecialTable
mantenere i dati indefiniti.
Opzione 1: Impostare criteri di conservazione a livello di database e impostare criteri di conservazione a livello di tabella, con un periodo di eliminazione temporanea di 100 anni, i criteri di conservazione predefiniti per
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
Opzione 2: per le tabelle e
MyTable2
, impostare criteri di conservazione a livello di tabellaMyTable1
e verificare che i criteri a livello di database e a livello di tabella nonMySpecialTable
siano impostati..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
Opzione 3: per le tabelle e
MyTable2
, impostare un criterio di conservazione a livello di tabellaMyTable1
. Per la tabella , impostare un criterio di conservazione a livello di tabellaMySpecialTable
con un periodo di eliminazione temporanea di 100 anni, i criteri di conservazione predefiniti..alter-merge table MyTable1 policy retention softdelete = 7d .alter-merge table MyTable2 policy retention softdelete = 7d .alter table MySpecialTable policy retention "{}"
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per