Bonjour,

je cherche à récupérer les erreurs qui peuvent survenir lors de l'execution de mes scripts, et les mettre dans un fichier log.

J'arrive à créer le fichier, à écrire à l'interieur. Pour récupérer les erreurs, j'utilise ce bout de script :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
BEGIN TRY 
	-- Generate a divide-by-zero error. 
	SELECT 1/0; 
END TRY 
BEGIN CATCH 
	SELECT 
		ERROR_NUMBER() AS ErrorNumber, 
		ERROR_SEVERITY() AS ErrorSeverity, 
		ERROR_STATE() AS ErrorState, 
		ERROR_PROCEDURE() AS ErrorProcedure,
		ERROR_LINE() AS ErrorLine, 
		ERROR_MESSAGE() AS ErrorMessage; 	
END CATCH
Ce "try catch" est utilisé dans une procédure stockée, afin de vérifier par exemple mes INSERT ou autre requête.
Or, ERROR_PROCEDURE() me retourne à chaque fois la valeur NULL au lieu de nom de la procédure.

Je rappelle que je suis sous SQL Server 2006