J'ai mis en place un système de preuve de concept doté d'un serveur principal SQL Server 2017.
Le système utilise des tableaux temporels pour enregistrer les configurations des actifs et suivre les changements au fil du temps.
J'ai une table de données qui est liée à la table d'historique, appelons-la dbo.MSSQL_TemporaryHistoryFor_12345678900.
Jusqu'ici tout va bien. J'ai deux problèmes:
Aujourd'hui, j'ai désactivé le contrôle de version sur la table afin de pouvoir ajouter une colonne calculée. Cela a été fait et réactivé sans erreur.
Maintenant, je constate que je ne peux pas interroger les données historiques d'avant le changement. De nouvelles données sont ajoutées à l'historique, mais il n'y a rien d'avance.
En regardant dans SSMS, je peux maintenant voir qu'il y a plusieurs tables d'historique, toutes avec le même nom mais avec un suffixe hexadécimal, par exemple dbo.MSSQL_TemporaryHistoryFor_12345678900_A0B1C2D3. Ils ne sont pas liés sous le tableau de données principal. Ils flottent tout seuls dans la base de données. Lorsque j'ai interrogé sys.tables, ceux-ci ne sont pas affichés en tant que tables d'historique et ne sont pas liés à la table de données principale.
Ces tableaux contiennent les données historiques manquantes.
Les questions que je me pose sont donc:
- Que représentent ces tableaux supplémentaires?
- Comment ont-ils été créés?
- Existe-t-il un moyen de les relier d'une manière ou d'une autre à la chaîne historique principale afin que je puisse récupérer mes rapports historiques?
C'est très frustrant, donc toute aide que vous pourriez fournir serait reçue avec gratitude. Merci.