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
Partager