Avis sur code T-SQL de vérification de sauvegarde , truncate et creation d'index
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:
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 |