Nous avons un travail SQL Server Agent qui exécute un plan de maintenance pour réindexer toute la base de données sur le serveur. Récemment, cela a échoué, mais l'historique des travaux ne fournit pas suffisamment d'informations pour diagnostiquer le problème.
Dans l'historique du travail, il indique que le travail a échoué. Le travail a été appelé par l'utilisateur foo \ bar. La dernière étape à exécuter était l'étape 1 (Reconstruire l'index).
Dans la fenêtre de détails se trouvent plusieurs messages sous la forme suivante:
Executing query "ALTER INDEX [something] ON [a...".: 0% complete End Progress Progress: 2015-03-15 22:51:23.67 Source: Rebuild Index Task
L'instruction SQL en cours d'exécution est tronquée, et je suppose que la sortie de l'instruction est également tronquée, ce qui m'empêche de pouvoir identifier quelle instruction particulière a échoué et pourquoi. Existe-t-il un moyen d'extraire le texte intégral de ces messages?
la source
Réponses:
Vous pouvez y parvenir de 2 manières - Passez à l'étape de la tâche et sélectionnez l'onglet Avancé:
une. Sortie dans un fichier (<== Ma méthode préférée)
b. "Se connecter à la table" et "Inclure la sortie de l'étape dans l'historique" (<== Vous devez effectuer un découpage
msdb..sysjobhistory
à long terme car les messages sont stockés aunvarchar(max)
lieu denvarchar(1024)
)Pour voir les informations supplémentaires enregistrées, vous devez utiliser cette procédure stockée sp_help_jobsteplog ou vous pouvez interroger la
msdb.dbo.sysjobstepslogs
table directement.Plus d'infos ici
la source
sysjobstepslogs
. C'était la recommandation de la plupart des discussions en ligne sur ce problème. Mais la méthode (a), sortie dans un fichier, n'a PAS eu ce problème: les fichiers texte me montrent toute la journalisation des étapes du travail, enfin sans troncature! (Dans mon cas, mes étapes de travail sont desDTEXEC
commandes, exécutant des packages SSIS.) Seul inconvénient: seule la dernière exécution est visible, sauf si elle est ajoutée au fichier. Plutôt que d'ajouter, je choisis de vivre avec la troncature lors des exécutions précédentes.Vous pouvez obtenir le texte intégral:
select properties
step
et cliquez sur leedit
boutonadvanced
. Ici vous pouvez voir le chemin du journal.Maintenant, c'est simple, suivez le chemin.
la source