Pouvez-vous contrôler l'exécution d'un package SSIS, dans les OFFRES, qu'il s'exécute sur le serveur?
Bien que mon titre mon objectif actuel, je suis ouvert à d'autres solutions. En bref, j'ai une série de packages SSIS qui sont planifiées pour s'exécuter sur une base quotidienne, sur notre ordinateur SQL Server.
En raison de diverses mises à jour qui se produisent dans le éther de mon entreprise-IL, quelques fois ces exportations de frein et le processus d'arrêt de travail, dans le milieu du travail. Pour résoudre ce processus, je lance des appels d'OFFRES sur mon poste de travail et redémarrez qui jamais ne parvient pas. Ceci est utile car il a été mon expérience que toute erreur généré dans les OFFRES sont beaucoup plus utile que tout ce que j'ai trouvé à partir de SQL Server/l'Exécution du Package de l'Histoire ou les serveurs de journaux d'événements.
Historiquement, mon problème a été que tous les problèmes vont se produire dans les ENCHÈRES, mais ils seront, toujours sur le serveur. Ces propos ont été douloureux pour diagnostiquer et ont m'a coûté beaucoup de temps.
En tant que tel, ce que je voudrais faire est de publier mon package SSIS serveur, démarrez l'instance de serveur à partir d'OFFRES et le suivi du projet, car il fonctionne. Est-ce possible?
Si non, est-il autre chose que je peux faire pour que je puisse suivre les mesures internes que le processus s'exécute?
J'ai peur que rien de tout cela peut être possible, mais je pose la question. Il va faire mon débogage et dépannage de la vie beaucoup plus facile.
OriginalL'auteur RLH | 2013-02-21
Vous devez vous connecter pour publier un commentaire.
Option Possible:
Vous avez besoin de faire usage de
Logging
fonctionnalité dans SSIS. Il vous permet de configurer les événements pour lesquels vous souhaitez capturer les messages. D'habitude, je préfère le journalOnWarning
etOnError
de garder une trace de tous les avertissement et les messages d'erreur qui se produisent dans le package. Vous avez différentes fournisseur pour enregistrer les données de journalisation. Je préfère utiliser SQL Server, de sorte que je peux interroger les informations de journalisation.Options de journalisation montré de SSIS 2012:
Pour activer la journalisation dans un package, vous devez cliquer sur le package
Business Intelligence Development Studio (BIDS)
si vous êtes développer des packages SSIS 2005 - 2008 R2 ouSQL Server Data Tools (SSDT)
si vous êtes développer des packages SSIS 2012.Cliquez sur
SSIS
menu, puis cliquez surLogging...
Vous verrez le dialogue Configurer les Journaux SSIS.
Sur le côté gauche, vous pouvez vérifier le paquet ou des tâches pour consigner les données d'événement.
Sur le les Fournisseurs et les Journaux onglet, vous pouvez sélectionner un fournisseur approprié, à laquelle vous pouvez enregistrer les informations du journal. La capture d'écran ci-dessous montre que les informations sur l'événement sont saisies dans une base de données SQL Server à l'aide du gestionnaire de connexion
OLEDB_PracticeDB
.Sur le Détails onglet, vous pouvez sélectionner les événements que vous souhaitez capturer. La capture d'écran ci-dessous montre que je suis la capture de la suite des évènements.
Grâce à @William Todd Salzman pour recommander
OnTaskFailed
événementExemple de package illustration:
Disons que nous avons un package nommé
SO_15004109.dtsx
avec un Tâche de Flux de Données et Tâche de Script. Tâche de Flux de données est juste un mannequin avec pas de composants à l'intérieur.Tâche de Script a le code suivant dans la méthode main au feu personnalisé d'information, d'avertissement et les messages d'erreur, nous pouvons observer comment il est capturé dans l'enregistrement de la source de données. Le code est écrit pour SSIS 2012, de sorte que vous pouvez avoir besoin de le modifier pour SSIS 2005. J'ai choisi
VB.NET
au lieu deC#
parce que vous avez marqués à cette question en vertu de la sql-server 2005 et SSIS 2005 prend en charge uniquement VB.NET.Script code de la Tâche dans VB.NET pour SSIS 2005 et au-dessus.
Si nous exécutons le paquet, il ne sera pas parce que nous avons soulevé une erreur dans le Tâche de Script.
Si vous accédez à la source de données où vous vous êtes connecté, les erreurs, vous remarquerez que SSIS crée une table pour enregistrer les informations si vous avez choisi de connexion SQL Server fournisseur. Le tableau ci-dessous répertorie la table de journalisation qui SSIS crée dans la base de données SQL Server choisi pour être le fournisseur de journaux.
Ci-dessous requête a été exécutée dans la base de données pour afficher les événements capturés par ce package. Vous remarquerez que certains messages deux fois, parce que les événements sont enregistrés pour chacun des conteneurs et des tâches. La table est nommée
dbo.sysssislog
parce que le package a été créé dans SSIS 2012.Expérience personnelle avec d'enregistrement:
J'ai eu une assez bonne réussite dans l'affichage de la journalisation des messages d'erreur pour comprendre ce qui s'est passé. Débogage des paquets dans un environnement de production n'est pas recommandé, à mon avis. Toutefois, la capture du journal des événements est préférable.
Lorsque j'ai travaillé dans SSIS 2005 et 2008, j'ai créé SSRS des rapports basés sur des requêtes de la table du journal afin de générer le rapport quotidien du travail d'exécutions et d'envoyer un fichier PDF en pièce jointe à des personnes d'intérêt.
Les choses se sont améliorées dans SSIS 2012 que l'outil est livré avec la construit les capacités de reporting avec des Services d'Intégration de Catalogue qui crée une base de données nommée
SSIDB
.Cela peut très bien le travail. Je vais changer ces paramètres et de re-pub mes paquets. Demain soir, je vais vérifier les logs et voir ce que je trouve. +1 et la réponse marque si cela me donne ce dont j'ai besoin.
Cela a fonctionné. Il semble que ce n'est pas un problème de délai d'attente, mais un problème avec SQL Server en cours d'exécution hors de la mémoire. 🙁 Aurait été agréable de voir que dans les journaux d'événements. Cependant, votre technique enregistré le problème, donc génial!
OriginalL'auteur
À mon concert, nous avons commencé à utiliser un produit à partir de la Pragmatique des Œuvres appelées BIxPress, qui comprend des outils pour injecter du code d'enregistrement dans les packages SSIS et de surveiller l'exécution des packages au moment de leur exécution. Il n'est pas bon marché, mais nous avons trouvé utile. (Surtout depuis que cela signifie que nous n'avons pas à rouler notre propre code de contrôle...)
OriginalL'auteur Edmund Schweppe