2009-07-30 4 views

Répondre

2

Je ne peux parler spécifiquement à SSIS, bien que certains d'entre eux seront également applicables aux autres. Enregistrez vos paquets en tant que fichiers et placez-les dans le contrôle de code source. Dans la mesure du possible, utilisez des variables pour les éléments qui vont changer de serveur à serveur ou exécuter pour exécuter.

Utilisez les fichiers de configuration pour enregistrer la configuration pour les environnements différents. Si vous traitez des données provenant d'une source externe, supposons qu'elles changent de format sans avertissement (c.-à-d. Vérifiez que les données que vous attendez dans chaque colonne correspondent aux données que vous avez obtenues!) Rien de tel que les courriels dans le champ (ou comme cela nous est arrivé une fois dans DTS, le numéro de sécurité sociale dans le champ qui dit combien de payer la personne, bien heureux que nous avons attrapé cela avant que quelqu'un ait payé ce montant.). Les choses que j'ai vues se produire incluent l'ajout de nouvelles colonnes, la suppression des colonnes critiques pour votre processus, la réorganisation de l'ordre des colonnes (particulièrement quand le fichier ne possède pas les noms des colonnes). mais en changeant les données qu'ils contiennent (oui une fois que j'ai eu un fichier où les données du nom figuraient dans la colonne Prénom et vice versa), les données avec de nouvelles valeurs qui ne correspondent pas aux valeurs de votre système (je pense de rechercher des choses de type ici comme spécialités médicales), des données étranges telles que des notes dans un champ email, des noms dans ce format nom - 'Willams, Jo' prénom - 'hn' (combiner les deux champs pour obtenir le nom entier - Apparemment, les personnes qui ont saisi les données ont tapé le nom jusqu'à épuisement des espaces et ont continué dans le champ suivant, peu importe où ils se trouvaient dans le nom!).

Ne mettez pas de données non nettoyées dans votre base de données.

Toujours conserver une copie des fichiers que vous traitez ou envoyez. Incroyable à quelle fréquence vous aurez besoin de faire des recherches.

Consigne les erreurs et les enregistrements de journal à nettoyer, en particulier si le problème sur le terrain était tel que le processus a échoué. Il est beaucoup plus facile de voir les erreurs dans une table que de savoir que votre fichier de 20 millions d'enregistrements a échoué, car un enregistrement a eu un supplément | dedans et essaye de comprendre lequel c'était.

Si vous effectuez un grand nombre d'importations similaires dans SSIS, créez un projet de modèle qui dispose de toutes les informations de journalisation et de nettoyage standard. Il est beaucoup plus rapide de commencer à partir d'un modèle et de s'adapter aux nouveaux mappages en fonction du nouveau fichier avec lequel vous travaillez et de faire des adjonctions mineures aux choses spécifiques à ce fichier plutôt que de réécrire chaque paquet SSIS à partir de zéro.

Stockez les métadonnées. Tôt ou tard, on vous demandera, à quelle fréquence a-t-il échoué ou combien de temps après la réception du fichier, l'importation a-t-elle eu lieu ou même quand la dernière importation a-t-elle eu lieu? Tous nos pacakges commencent et se terminent par une tâche de stockage des heures de début et de fin dans notre tableau de métadonnées. Tous les chemins d'échec incluent une tâche pour marquer l'importation comme ayant échoué dans nos métadonnées. Finalement, vous pouvez construire un système qui sait combien d'enregistrements à attendre et l'échouer si le nouveau fichier est significativement désactivé. Les métadonnées peuvent également être utilisées pour stocker des éléments comme le nombre d'enregistrements qui peuvent aider à identifier quand ils ont envoyé un fichier partiel au lieu du fichier entier que vous attendiez et vous empêcher de balayer 300 000 cibles de ventes qu'ils veulent toujours.

Questions connexes