Visualizzazione dei volumi delle tabelle
Prima di implementare una policy di conservazione, è fondamentale identificare con precisione le tabelle che occupano spazio di archiviazione. Business Central offre uno strumento di controllo integrato, accessibile direttamente dall'interfaccia utente.
Accesso alla pagina “Informazioni sulla tabella”: cercando la pagina"Tabella informativa"(Informazioni sulla tabella), l'amministratore accede a una panoramica in tempo reale del database.
Indicatori chiave dell'analisi volumetrica
Nome dell'azienda: Questa colonna indica a quale entità legale (inquilino o società) appartengono i dati. Alcune tabelle sono condivise a livello globale all'interno del sistema (lasciando la colonna vuota), mentre altre, come le registrazioni contabili, sono separate per azienda.
Nome e numero della tabella: Questi campi visualizzano l'identificativo tecnico dell'oggetto e la sua etichetta standard o specifica (ad esempio, tabella 17 per le registrazioni contabili "Registrazioni nel libro mastro").
Numero di record: Si riferisce al numero totale di righe nella tabella. Un numero elevato non indica necessariamente una dimensione critica in KB, ma aiuta a identificare le tabelle con un elevato traffico di transazioni.
Dimensione del record: Questo indicatore esprime la dimensione media, in byte, di una singola riga nella tabella. Una tabella contenente campi BLOB (come immagini o file di testo di grandi dimensioni) avrà una dimensione del record particolarmente elevata.
Dimensione (KB): Questa colonna rappresenta la dimensione totale occupata dalla tabella nel database SQL. Corrisponde alla somma della dimensione dei dati grezzi e della dimensione degli indici. Questa è la colonna prioritaria per l'ordinamento durante l'esecuzione di una ricerca al fine di ottimizzare lo spazio.
Dimensione dei dati (KB): Questo indicatore isola lo spazio di memoria occupato esclusivamente dai dati effettivamente memorizzati nei campi della tabella, escludendo le strutture di indicizzazione.
Dimensione dell'indice (KB): Questo valore indica lo spazio necessario per mantenere le chiavi SQL e gli indici indispensabili per ricerche veloci. In alcuni casi di tabelle di cronologia fortemente indicizzate, la dimensione degli indici potrebbe essere maggiore della dimensione dei dati stessi.
Compressione: Questa colonna indica il tipo di compressione applicato dall'infrastruttura cloud di Microsoft alla tabella SQL (solitamente a livello di "Pagina"). Ciò riduce lo spazio fisico occupato su disco senza compromettere la disponibilità dei dati.
Politiche di fidelizzazione dei nativi
Lo standard Business Central include un potente strumento chiamato "Criteri di conservazione". Questo strumento consente di definire per quanto tempo i dati vengono conservati in tabelle specifiche contenenti dati di log o file temporanei.
- Ruolo funzionale: Le regole automatiche sono configurate per specificare con quale frequenza devono essere eliminati i dati obsoleti.
- Tabelle interessate: questa funzionalità si applica principalmente alle tabelle dei registri, ai log di integrazione, alle cronologie dei flussi di lavoro e alle voci del registro delle modifiche. Le tabelle dei dati finanziari principali non sono direttamente interessate da questo strumento.
- Processo di esecuzione: una volta definita la policy, viene creata un'operazione di scrittura nella coda dei processi. Le eliminazioni vengono eseguite in background senza interrompere l'attività degli utenti.
Strategie di ritenzione dati
Ecco la descrizione tecnica della scheda di configurazione, redatta utilizzando la stessa struttura del vostro articolo:
Preparazione di un foglio di strategia di fidelizzazione
La schermata relativa alla strategia di conservazione contiene i campi che definiscono la politica di conservazione, consentendo una configurazione precisa del ciclo di vita dei dati per ogni tabella selezionata. La schermata è strutturata in diverse sezioni complementari.
Scheda di strategia di ritenzione dati
Sezione generale e strategia di fidelizzazione
Questa sezione superiore definisce il perimetro di pulizia complessivo per il tavolo in questione:
- ID tabella e Legenda tabella: questi campi identificano l'oggetto tecnico a cui si applica la regola (ad esempio, la tabella 405 che rappresenta le voci nel "Registro modifiche").
- Periodo di conservazione: questa impostazione definisce il periodo di conservazione predefinito prima che i dati vengano considerati obsoleti (ad esempio, 1 ANNO, 28 GIORNI o Mai).
- Abilitato: questo interruttore abilita o disabilita i criteri di conservazione. Quando questo pulsante non è abilitato, la coda di processi non esegue alcuna eliminazione automatica.
- Applica a tutti i record: se questa opzione è selezionata, i criteri di conservazione vengono applicati uniformemente a tutte le righe della tabella, senza distinzioni.
Sezione Strategia di conservazione dei documenti
Quando l'opzione globale non è selezionata, questa tabella consente di affinare il comportamento del sistema definendo regole di filtraggio avanzate:
- Testo del filtro tabella: questo campo consente di isolare sottoinsiemi di dati in base a criteri specifici. L'immagine illustra la segmentazione in base allo stato dei dati (Protetto: Sì o Protetto: No) o in base a caratteristiche specifiche, come il monitoraggio di campi sensibili.
- Periodo di conservazione (riga): A ciascun filtro può essere assegnato un periodo di conservazione separato. I dati non protetti possono quindi essere eliminati dopo un anno, mentre i registri delle modifiche per i campi critici possono essere ripuliti dopo 28 giorni.
- Mantieni l'ultima versione del documento: questa opzione garantisce che, anche se il periodo di validità è scaduto, l'ultima modifica registrata per un determinato record non venga eliminata, al fine di mantenere una traccia di controllo minima.
- Abilitato e Bloccato: queste caselle di controllo indicano se la riga di filtro specifica è attiva. Lo stato "Bloccato" indica una regola di sistema predefinita o obbligatoria che non può essere modificata arbitrariamente dall'utente.
Eseguire la pulizia
LIl processo di eliminazione dei dati obsoleti può essere avviato immediatamente dall'utente tramite l'apposito pulsante."Applica manualmente"sulla pagina pertinente.
Può anche essere automatizzato periodicamente programmando l'esecuzione delcodice unità 3997all'interno della coda dei lavori.
Implementazione tecnica del quadro di riferimento per la fidelizzazione
L'integrazione di una tabella personalizzata nel framework nativo si basa sull'utilizzo di interfacce ed eventi forniti dall'applicazione di sistema Microsoft.
La logica di configurazione è centralizzata nel codiceeunice"Configurazione dei criteri di conservazione" (ID 3900).Questa codeunit genera l'evento che consente il salvataggio di nuove tabelle.
Esempio di codice AL
È necessario creare un'unità di codice specifica per incapsulare questa logica. Il codice seguente illustra come registrare una tabella personalizzata (denominata qui "Custom Log Entry"):
codeunit 50100 "Custom Retention Subscriber"
{
Access = Internal;
[EventSubscriber(ObjectType::Codeunit, Codeunit::"Retention Policy Setup", 'OnRegisterExtensionTableFilterList', '', false, false)]
local procedure OnRegisterExtensionTableFilterList(IDataClassificationMgt: Codeunit "Data Classification Mgt."; var TableFilterList: List of [Integer])
VAR
CustomLogTable: Record "Custom Log Entry";
{
// Adding the specific table to the list of allowed tables
if not TableFilterList.Contains(Database::"Custom Log Entry") then
TableFilterList.Add(Database::"Custom Log Entry");
// Mandatory definition of data classification for table fields
IDataClassificationMgt.SetTableFieldsToNormal(Database::"Custom Log Entry");
}
}
Come funziona l'applicazione durante l'installazione
Il framework di conservazione richiede che le regole vengano inizializzate non appena l'estensione viene distribuita nell'ambiente.
- Inizializzazione tramite un'unità codice di installazione:una codeunit di tipo Installaredeve essere configurato per richiamare automaticamente il framework al primo avvio o durante gli aggiornamenti dell'applicazione.
- Utilizzo dell'unità codice "Reten. Pol. Allowed Tables": l'unità codice"Tavole consentite dalla normativa sulla conservazione" (ID 3905)Questa funzione viene utilizzata durante l'installazione per forzare la registrazione immediata della tabella senza attendere che l'utente apra la pagina di configurazione. Ciò garantisce che la tabella sia pronta a ricevere una policy di conservazione non appena la distribuzione è completata.
- Comportamento dell'interfaccia: una volta completata l'installazione, la tabella viene visualizzata immediatamente nell'elenco delle tabelle disponibili nella pagina "Criteri di conservazione". L'amministratore funzionale può quindi configurare filtri e criteri di data per pianificare la pulizia automatica.
Esternalizzazione degli allegati e dell'archiviazione cloud
Gran parte della saturazione del database deriva dai documenti ausiliari (fatture dei fornitori in formato PDF, foto degli articoli, schede tecniche) memorizzati direttamente nel sistema ERP.
- Integrazione con SharePoint: l'archiviazione degli allegati può essere spostata su SharePoint Online. Questa strategia riduce drasticamente le dimensioni del database SQL, mantenendo al contempo l'accesso diretto ai documenti dalla scheda di Business Central tramite collegamenti sicuri.
- Utilizzo di Azure Blob Storage: per volumi industriali di documenti o log tecnici esterni, si consiglia di utilizzare Azure Blob Storage. I costi di archiviazione sono significativamente inferiori rispetto a quelli dello spazio di database di Business Central.
Migliori pratiche per l'implementazione
Una strategia di fidelizzazione non dovrebbe essere implementata senza una preventiva validazione. È necessario seguire diversi passaggi fondamentali:
- Analisi della capacità: Esaminando la pagina "Informazioni sulla capacità di archiviazione" nel centro di amministrazione di Business Central è possibile identificare le tabelle più grandi.
- Conformità legale: le leggi fiscali e contabili di ciascun paese devono essere verificate prima di qualsiasi compressione o cancellazione definitiva. I dati contabili devono spesso essere conservati per dieci anni.
- Test in ambiente sandbox: qualsiasi strategia di eliminazione massiva o compressione deve essere convalidata in un ambiente sandbox. L'impatto sulla rendicontazione finanziaria e sulle prestazioni del sistema deve essere misurato prima della distribuzione in produzione.