jeudi 29 novembre 2012

Nettoyage et migration des données Access vers Microsoft SQL Server - Partie 1


Toute personne qui fait quelque chose avec les bases de données, en particulier les produits Microsoft, finira à un emploi ou d'un client où Microsoft Access est utilisé pour certaines bases de données de mission critique et il n'a pas été correctement conçu ou entretenu. Ne vous méprenez pas, j'aime Microsoft Access et trouve assez puissant et stable à utiliser lorsque la base de données est conçue correctement. Mais je crois aussi à l'application de base de données atteint une certaine taille ou la complexité où il pourrait bénéficier de la migration vers le serveur SQL.

Je suis actuellement confronté à ce problème. J'ai hérité d'une application de base de la comptabilité qui était pleine de détritus et d'insectes. Les données ont été suspect et tout le monde avait peur d'y toucher. Juste pour vous donner une idée de ce que nous sommes confrontés, la base de données contient: 349 tableaux (pas de relations entre les tables du tout), 1569, 427 requêtes macros, 312 rapports, et plus de 50 tableaux de distribution. Il s'agit d'une application de base de données pour le traitement des comptes payables, recevables, et de la paie, pas quelque chose utilisé pour décoder l'ADN!

Maintenant que vous connaissez les ordures que nous traitons vous ne pouvez pas considérer votre fosse septique d'une base de données tout à fait aussi mauvais. Ainsi, sur les bonnes choses.

Partie 1 - Where Do I Begin???

La première chose que vous devez faire est de documenter chaque objet dans la base de données et comment en se rapporte à tous les autres. Cela semble énorme, et il peut être, mais il est nécessaire pour vous de comprendre comment fonctionne chaque pièce avant de pouvoir commencer à enlever les ordures. Si votre base de données utilise un standard et dispose d'une question complexe, je recommanderais également générer un diagramme qui montre tous les menus que les utilisateurs accèdent effectivement.

Je recommande d'utiliser un produit par FMS incorporé appelé Total Access Analyzer. Il analyse et crée une base de données sur les documents de tous les objets. Cette documentation comprend des objets référençant croisées avec d'autres objets qui les utilisent. La version que j'ai utilisé avait un problème. Il ne semble pas à consulter le tableau standard des articles quand il a été la construction de références croisées, de sorte que certaines options peuvent ne pas être correctement référencé traverser. C'est peut-être un problème de ma propre création, ou il ne peut pas, je ne suis pas sûr. Quoi qu'il en soit, en utilisant ce produit, il m'a fait 90% de la manière documentée. L'autre 10% je l'ai fait à la main en créant le diagramme des articles standardistes que les gens réellement utilisés.

Maintenant que j'ai eu l'doumentation je pouvais commencer à générer une liste d'éléments potentiellement non utilisés. J'ai commencé par énumérer tous les éléments qui étaient dans le schéma des éléments de standard utilisés comme éléments de "production". J'ai ensuite vérifié la documentation Total Access Analyzer généré et ajouté aucun objet qui traversent les articles référencés à partir du tableau. Par exemple, si le tableau a ouvert un rapport spécifique, le Total Access Analyzer également la liste de la requête qui fournit les données de ce rapport sous la référence croisée. Si vous commencez à suivre toutes les références croisées, vous pouvez trouver une chaîne d'éléments qui sont tous liés les uns aux autres, mais n'ont aucune relation avec le reste de l'application plus. Notez tous ces éléments. Ne vous inquiétez pas si vous ne recevez pas tous la première fois, vous devrez faire une passe plus à grain fin sur la base de données que vous analysez les processus d'affaires qui utilisent l'application et la façon dont ils travaillent ensemble.

Faites une copie de votre base de données de développement. Retirez ces éléments de votre copie de développement et de vérifier que votre application fonctionne toujours comme prévu. Ont l'un des utilisateurs de l'application effectives de tester votre base de données. Répétez ce processus jusqu'à ce que vous vous sentez satisfait que vous avez enlevé tout ce qui peut actuellement être retiré.

Dans la partie suivante, nous allons commencer à examiner l'analyse des processus et de s'assurer de la fonctionnalité de l'application correspond le processus d'affaires ... pas l'inverse....

Aucun commentaire:

Enregistrer un commentaire