Bonjour,

voici ci dessous le code de ma procédure pour backuper une de mes BDD :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
--*************************************************
ALTER procedure [dbo].[SetDumpByCampaignId]
(
	@campaignId char(32)
)
AS
BEGIN TRANSACTION
	BEGIN TRY
 
		--Backup de la BDD
		EXEC ('BACKUP DATABASE Data_'+@campaignId+' to disk=''E:\Backup\Data_'+@campaignId+'.bak''')
 
		--Suppression de la BDD
		EXEC ('DROP DATABASE Data_'+@campaignId)
 
	END TRY
	BEGIN CATCH
		SELECT 
			ERROR_NUMBER() AS ErrorNumber,
			ERROR_SEVERITY() AS ErrorSeverity,
			ERROR_MESSAGE() as ErrorMessage;
 
		IF @@TRANCOUNT > 0
			ROLLBACK TRANSACTION;
			SELECT (-1) AS ReturnCode;
	END CATCH;
 
IF @@TRANCOUNT > 0
    COMMIT TRANSACTION;
	SELECT (0) AS ReturnCode;
 
GO
--*************************************************
Quand je mets en place le try catch, j'ai l'erreur suivante :
N° d'erreur : 3013
Severity : 16
Message : BACKUP DATABASE s'est terminé anormalement.

Par contre, quand j'enleve toute la partie try catch, je n'ai pas d'erreur !!!

Comment puis-je faire la gestion d'erreur sur le backup ?

Merci de votre aide...