J'ai développé une visionneuse de rapports dans .NET Winforms (elle exécute simplement des requêtes et affiche les résultats).Gestion des exceptions dans un système piloté par SQL-Server en temps réel
Cela fonctionne par rapport à une base de données de rapports. Cependant, ce qui précède est un petit sous-ensemble d'une application beaucoup plus grande, qui obtient des données d'une autre base de données. Cela ressemble à ceci:
Le système surveillé a un changement d'état (par exemple augmentation de la latence) => L'événement est enregistré dans la base de données SQL Server (appelez cette base A) comme transaction => Ceci déclenche un déclencheur pour écrire le même événement dans la base de données de rapports. Je ne suis pas sûr des différences entre les deux bases de données, ils peuvent être réglés pour différents objectifs ou il peut y avoir une raison financière ou même politique pour les deux bases de données. De toute façon, le terme a été mentionné que la base de données de rapports est «dépendante de la transaction» sur la base de données principale. Qu'est-ce que cela signifie exactement? La base de données de reporting dépend entièrement des transactions de la base de données A? Cela m'a fait réfléchir à quelques questions:
1) Comment gérer la situation dans laquelle la base de données de rapports n'a pas d'espace disque, mais la base de données A envoie-t-elle toujours des déclencheurs à la base de données de rapports? Serait-il bon de mettre en file d'attente 2) Lié à ce qui précède, cela fonctionnerait-il si je mettais en file d'attente les déclencheurs et leurs données incapables de se lancer dans la db de reporting (pas sûr comment, mais conceptuellement ...)? Même alors, cela rend le système pas temps réel.
Existe-t-il d'autres dangers/problèmes avec la gestion des exceptions dans une configuration comme celle-ci?
Merci