Quelle est la requête pour afficher les tâches SQL ayant échoué, afin que je puisse obtenir toutes les informations sur les tâches ayant échoué avec une seule requête
17
Quelle est la requête pour afficher les tâches SQL ayant échoué, afin que je puisse obtenir toutes les informations sur les tâches ayant échoué avec une seule requête
Réponses:
Je ne pense pas que vous obtiendrez vraiment "toutes" les informations sur le travail avec une seule requête, car les travaux peuvent être configurés pour aller aux fichiers de sortie. Les fichiers de sortie peuvent parfois obtenir plus d'informations que ce qui est rapporté ou écrit dans les
msdb
tables.Cependant, la vue trouvée en consultant l'historique des travaux via SSMS peut être extraite de cette requête pour renvoyer uniquement les travaux ayant échoué (par exemple, si un travail comporte 2 étapes et que la seconde a échoué, cette requête renverra les deux étapes):
la source
Vous pouvez obtenir ces informations par les rapports standard disponibles dans le serveur SQL:
Faites un clic droit sur l'agent serveur SQL> Rapports standard et sélectionnez le rapport souhaité comme les exécutions de travaux "celles qui ont échoué ou celles qui prennent beaucoup de temps" .. Sélectionnez le rapport selon vos besoins:
Ou,
Vous pouvez utiliser le script ci-dessous pour rechercher les travaux qui ont échoué au cours des dernières 24 heures:
Et si vous avez besoin des informations en tant que rapport, utilisez le code de ce lien
la source
DECLARE @FinalDate INT; -- Initialize Variables SET @FinalDate = CAST(CONVERT(VARCHAR(10), DATEADD(dd, -1, GETDATE()), 112) AS INT) -- Yesterday's date as Integer in YYYYMMDD format -- Final Logic .... no change
J'ai légèrement modifié le code de Shawn Melton pour obtenir toutes les erreurs de travail au cours des dernières 24 heures. Il manquait une déclaration dans la jointure, je l'ai également corrigée. Merci beaucoup Shawn, super truc!
la source