Criterio di conservazione
Si applica a: ✅Microsoft Fabric✅Azure Esplora dati
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 interessarsi dopo due settimane.
I criteri di conservazione possono essere configurati per una tabella o una vista materializzata specifica o per un intero database. Il criterio si applica quindi a tutte le tabelle del database che non ne eseguono l'override. Quando i criteri vengono configurati sia a livello di database che di tabella, i criteri di conservazione nella tabella hanno la precedenza sui criteri del database.
La configurazione di un criterio di conservazione è importante quando si inseriscono continuamente dati, che limitano i costi.
I dati "esterni" ai criteri di conservazione sono idonei per la rimozione. Non esiste alcuna garanzia specifica quando si verifica la rimozione. I dati possono "rimanere" anche se vengono attivati i criteri di conservazione.
I criteri di conservazione sono in genere 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
può essere impostato 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.
- I criteri di conservazione in una vista materializzata influiscono solo sulla vista, non sulla tabella di origine. I dati di origine rimangono invariati.
Oggetto criteri
I criteri di conservazione includono 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 è
1,000 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 dati.
- Ripristinabilità:
- Ripristino 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 recuperabilità.
Comandi di gestione
- Utilizzare
.show policy retention
per visualizzare i criteri di conservazione correnti per un database, una tabella o una vista materializzata. - Utilizzare
.alter policy retention
per modificare i criteri di conservazione correnti di un database, di una tabella o di una vista materializzata.
Defaults
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 immediatamente ha i criteri di conservazione impostati dal 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 ha impostato i 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 restituisce l'oggetto criterio seguente applicato al database o alla tabella.
{
"SoftDeletePeriod": "365000.00:00:00", "Recoverability":"Enabled"
}
La cancellazione dei criteri di conservazione di un database o di una tabella può essere eseguita usando il comando seguente.
.delete database DatabaseName policy retention
.delete table TableName policy retention
Esempi
Per un ambiente 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 in modo da avere un periodo di eliminazione temporanea di sette giorni e la possibilità di ripristino disabilitata.
Opzione 1 (scelta consigliata): impostare un criterio 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 le 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 un criterio di conservazione a livello di database e impostare un criterio 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 recuperabilità 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 per un periodo illimitato
Impostare le tabelle MyTable1
e MyTable2
per avere un periodo di eliminazione temporanea di sette giorni e mantenere MySpecialTable
i dati per un periodo illimitato.
Opzione 1: impostare un criterio di conservazione a livello di database e impostare un criterio di conservazione a livello di tabella, con un periodo di eliminazione temporanea di 1.000 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
MyTable1
eMyTable2
, impostare un criterio di conservazione a livello di tabella e verificare che i criteri a livello di database e a livello di tabella perMySpecialTable
non 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
MyTable1
eMyTable2
, impostare un criterio di conservazione a livello di tabella. Per la tabellaMySpecialTable
, impostare criteri di conservazione a livello di tabella con un periodo di eliminazione temporanea di 1.000 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 "{}"