J'espère que c'est une question avec une réponse plus courte que "Lire un livre de 1000 pages", mais alors, si c'est la vraie situation, alors frappez-moi.
Je ne suis pas un vrai DBA, je suis un développeur de logiciels qui réalise que nous avons besoin d'un DBA, et pourtant la boutique dans laquelle je travaille n'a aucun DBA. Cependant, notre conception de base de données MS SQL, comprenant plusieurs procédures stockées de base, est un gâchis géant. Les procédures stockées sont lentes, nous soupçonnons qu'ils ont des bogues, mais nous ne savons même pas comment ils devraient fonctionner, nous ne savons donc pas comment les corriger.
Pour commencer, j'ai décidé de documenter comment tout cela devrait fonctionner, puis nous commencerons les tests unitaires et créerons un ensemble de tests unitaires qui aideront à prouver que les procédures stockées fonctionnent réellement. La logique qu'ils effectuent est un élément clé de notre application, vous pourriez dire, c'est les «joyaux de la couronne» du produit principal de notre entreprise, et la façon dont cela fonctionne est complètement non documentée.
Je suis à la recherche de la documentation technique spécifique qu'un DBA professionnel pourrait s'attendre à avoir existante, ou pourrait s'auto-écrire, si nécessaire, pour comprendre un gigantesque réseau de procédures stockées qui s'appellent.
Quel est le format habituel pour documenter une grande procédure stockée? Description des valeurs attendues pour chaque paramètre In (c.-à-d. "Préconditions", "postconditions", c.-à-d., Pour les paramètres booléens, qu'est-ce qui change lorsque vous l'activez ou le désactivez, etc.?)
Comment le documente-t-on habituellement? Commentaires SQL uniquement? Outillage externe spécifique à l'objectif? "Documentation" externe? Nous n'avons pas d'outils SQL, à part MS SQL Management studio, mais nous nous demandons s'il existe un outil qui permettrait de mieux comprendre, documenter et tester notre environnement. C'est peut-être une meilleure façon de poser ma question; De quel outil ai-je besoin pour résoudre notre désordre?
Notre objectif est de pouvoir:
A. Utilisez la documentation que nous générons, ou tout autre outil que nous ajoutons à notre environnement, pour aider à comprendre comment les procédures sont censées fonctionner, afin que nous puissions ensuite créer une couverture de test unitaire pour les procédures stockées.
B. Montrez aux développeurs d'applications clientes comment appeler correctement chacune de ces procédures stockées complexes.
C. Test unitaire de nos procédures stockées.