Utilizzando le Temporal History Table potrebbe essere necessario cancellare delle righe memorizzate all’interno delle tabelle generate automaticamente. Con il sistema automatico di gestione delle modifiche, che definisce la validità temporale delle righe nelle tabelle di history, la cancellazione dei record non dovrebbe essere necessaria. La cancellazione “tradizionale” di un record non è possibile: è necessario procededere in tre steps.
Il primo è rimuovere l’opzione Controllo delle versioni del sistema della tabella principale.
Il secondo è eliminare i record della tabella della cronologia temporale.ù
Il terzo è quello di impostare nuovamente la tabella delle versioni di sistema e della cronologia della tabella principale.
ALTER TABLE [dbo].[TABLENAME] SET ( SYSTEM_VERSIONING = OFF ) DELETE from dbo.TABLENAME WITH (TABLOCKX); ALTER TABLE [dbo].[TABLENAME] SET ( SYSTEM_VERSIONING = ON (HISTORY_TABLE = [dbo].[TABLENAMEHistory]))
A volte può capitare che durante l’assegnazione del versionamento della tabella generi un errore perchè il nome della tabella di history deve essere definito anche nella definizione della tabella principale. Per risolvere è sufficiente non specificarlo in fase di impostazione:
ALTER TABLE [dbo].[TABLENAME] SET (SYSTEM_VERSIONING = ON)