Bonjour,
Je dois planifier la création d'un index et la suppression certaines données.
Pour cela je vais créer un job
je veux que se job vérifie dans un premier que ma base a bien été sauvegardé par un plan de maintenance .
Pour cela ,je vérifie si j'ai bien un enregistrement dasn la table backupset.
SI il n'y en a pas j'envoie un mail d'erreur et je ne fais rien.
S'il il y en a un j'exécute mon Truncate et je crée l'index.

Mes questions sont les suivantes :
• la manière de procéder est elle correct et le code n'est il pas trop "moche" ?
• Est il possible de récupérer le code retour d'une instruction (ici le truncate et la création de l'index) ?
Si oui comment , je n'ai rien trouvé :/
• Enfin l'ajout d'un RESTORE VERIFYONLY apporte t'il vraiment quelque chose ?

merci à vous,

le code en question :
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
 
Declare @body1 varchar(100)
 
use msdb; 
 
IF (select count (*) from backupset where database_name = 'ARAMIS_MSCRM'And backup_finish_date BETWEEN '2012/01/11' and '2012/01/12') = 0 
	Begin
		set @body1 = 'problème sur la sauvegarde de ARAMIS_MSCM le truncate et l index ne se feront pas ' 
		EXEC msdb.dbo.sp_send_dbmail @recipients='toto@tata.f', 
		@subject = 'la base n a pas ete sauvegardee ', 
		@body = @body1, 
		@body_format = 'HTML' ; 
	END
ELSE
		Begin
 
		use ARAMIS_MSCRM;
 
		TRUNCATE TABLE DUPLICATERECORDBASE;
 
		CREATE NONCLUSTERED INDEX CRM_DuplicateRecord_AsyncOperationID ON [dbo].[DuplicateRecordBase] ([AsyncOperationID])
 
 
		set @body1 = 'Job Creation Truncate et Index OK' 
		EXEC msdb.dbo.sp_send_dbmail @recipients='toto@tata.fr', 
		@subject = ' ', 
		@body = @body1, 
		@body_format = 'HTML' ; 
	END
GO