Archiviare ed eliminare il database BizTalkDTADb
Panoramica
Di pari passo alla crescita del volume di dati elaborati da BizTalk Server nel sistema, aumenta anche la dimensione del database di rilevamento BizTalk (BizTalkDTADb). La crescita incontrollata riduce le prestazioni del sistema e può generare errori nel servizio TDDS (Tracking Data Decode Service). Oltre ai dati di rilevamento generale, è possibile che si accumulino messaggi rilevati nel database MessageBox, peggiorando le prestazioni del disco.
BizTalk Server automatizza entrambi i processi usando il processo di eliminazione e archiviazione DTA. Archiviando ed eliminando dati dal database di rilevamento BizTalk è possibile preservare l'integrità del sistema nonché mantenere archiviati i dati di rilevamento per un utilizzo futuro. Poiché gli archivi del database di rilevamento BizTalk crescono nel tempo e consumano spazio su disco, è buona norma spostarli regolarmente sul supporto di archiviazione secondario.
Quando si eliminano dati dal database di rilevamento BizTalk, il processo DTA Purge and Archive elimina diversi tipi di informazioni di rilevamento, come informazioni sulle istanze di servizio e di messaggio, informazioni sugli eventi di orchestrazione e dati di rilevamento del Motore regole di business.
La validità di un record di dati di rilevamento dipende da quando sono stati inseriti i dati di rilevamento nel database di rilevamento BizTalk. Nel processo DTA Purge and Archive viene utilizzato il timestamp per verificare costantemente se il record è anteriore all'intervallo attivo dei dati. Dopo ogni intervallo attivo, il database di rilevamento BizTalk viene archiviato e viene creato un nuovo file di archivio. A ogni intervallo del processo SQL Server Agent specificato nella pianificazione processo tutti i dati di rilevamento completati precedenti all'intervallo attivo vengono eliminati.
In BizTalk Server viene utilizzato il concetto di eliminazione automatica e di eliminazione forzata. L'eliminazione automatica viene utilizzata per eliminare le istanze completate, mentre l'eliminazione forzata viene utilizzata solo per eliminare le istanze incomplete.
Eliminazione automatica
Nel processo DTA Archive and Purge, la somma dei parametri LiveHours e LiveDays rappresenta l'intervallo attivo di dati che si desidera mantenere nell'ambiente BizTalk Server. Tutti i dati associati a un'istanza completata anteriore all'intervallo attivo di dati in questione verranno eliminati. Per impostazione predefinita, il processo DTA Archive and Purge non è attivato. Per attivarlo, è necessario prima configurarlo.
Ad esempio, è possibile configurare il processo di eliminazione e archiviazione DTA per l'esecuzione ogni 20 minuti e impostare LiveHours=1 e LiveDays=0. La prima volta che questo processo SQL Server Agent viene eseguito (T0), viene eseguito un backup del database di rilevamento creando un archivio e nel database viene salvata una voce con questo timestamp. Per eliminare i dati di rilevamento, è necessario eseguire un'archiviazione corretta. Se l'archiviazione riesce, tutti i dati associati alle istanze completate oltre un'ora prima verranno eliminati. A ogni esecuzione del processo, i dati completati oltre un'ora prima vengono eliminati. Alla terza esecuzione (dopo un'ora), viene creato un nuovo archivio contenente i dati per tutte le istanze inserite nel database di rilevamento nell'ultimo segmento di un'ora.
Di seguito viene illustrato come configurare il passaggio Archivio ed eliminazione nel processo di eliminazione e archiviazione DTA in modo che corrisponda all'esempio:
exec dtasp_BackupAndPurgeTrackingDatabase
1, --@nLiveHours 1,
0, --@nLiveDays
1, --@nHardDeleteDays
‘\\server\backup’, --@nvcFolder
null, --@nvcValidatingServer
0 --@fForceBackup Soft purge process
Il timestamp dell'ultimo backup viene archiviato nel database di rilevamento BizTalk e assicura che i dati vengano eliminati solo se sono presenti nell'archivio precedente. Per garantire maggiore affidabilità, gli archivi si sovrappongono per circa 10 minuti. Nella figura seguente viene illustrato il processo di eliminazione automatica sulla base dell'esempio precedente. Si noti che le attività di archiviazione ed eliminazione non si verificano necessariamente allo stesso momento.
Processo di ripulitura automatica
Eliminazione forzata
Poiché con l'eliminazione automatica vengono eliminati solo i dati associati a istanze completate, se sono presenti numerose istanze cicliche che vengono eseguite indefinitamente, il database di rilevamento crescerà senza limiti e queste istanze non potranno mai essere eliminate. La data di eliminazione forzata consente di eliminare tutte le informazioni precedenti all'intervallo specificato, ad eccezione di quelle che indicano l'esistenza di un servizio. Impostare l'eliminazione definitiva usando il parametro @nHardDeleteDays nel passaggio Archive and Purge nel processo DTA Archive and Purge. L'impostazione di eliminazione forzata deve essere sempre superiore all'impostazione di eliminazione automatica. In altre parole, @nHardDeleteDays deve essere maggiore della somma di @nLiveHours e @nLiveDays.
Il processo di archiviazione ed eliminazione include le funzionalità descritte nella seguente tabella:
Funzionalità | Descrizione |
---|---|
Eliminazione forzata | Consente di configurare un intervallo di tempo per l'eliminazione di informazioni relative alle istanze incomplete anteriori a una data specificata. |
Copia dei messaggi rilevati nel database di rilevamento | Utilizzando l'opzione CopyTrackedMessageToDTA è possibile copiare direttamente i messaggi rilevati dai server MessageBox nel database di rilevamento BizTalk. Questa operazione è necessaria se si desidera eliminare i dati mediante il processo DTA Purge and Archive. |
Convalida degli archivi | Consente di impostare un server di database secondario per convalidare gli archivi al momento della creazione. |
Supporto del rilevamento per più versioni del database di rilevamento BizTalk | Consente di usare il supporto per il rilevamento con BizTalk Server archivi di database. |
Riduzione dei dati di rilevamento | Consente di ridurre sostanzialmente la quantità di dati di rilevamento archiviati senza ridurre le informazioni di rilevamento generate. Ciò comporta un rallentamento della crescita del database di rilevamento. |
Operazioni di rilevamento più rapide, ottimizzazione significativa negli schemi dei database | Consente di utilizzare le attività di rilevamento per trovare i messaggi e istanze del servizio in database di grandi dimensioni. Questa funzionalità è stata notevolmente ottimizzata. |
Nota
Se si verificano problemi di prestazioni che vengono momentaneamente risolti eliminando il contenuto del database di rilevamento BizTalk e si desidera configurare BizTalk perché non esegua più la raccolta di informazioni di rilevamento, è possibile disattivare il rilevamento globale. Vedere Disattivare il rilevamento globale.
Passaggi successivi
Elenco di controllo: Archiviazione e ripulitura del database di rilevamento BizTalk
Configurare il processo di ripulitura e archiviazione del database DTA
Ripulire manualmente i dati dal database di rilevamento BizTalk
Copiare i messaggi rilevati nel database di rilevamento BizTalk
Miglioramento delle prestazioni del processo di archiviazione e ripulitura