Best practices N° 3 : configurer les historiques

SQL Server ne conserve par défaut que 6 archives du journal d'erreur, et l'historique des travaux de l'agent SQL est bien trop court.

Nous allons remédier à cela avec quelques scripts SQL.

Voici encore deux petits scripts :

-- Passer le nombre d'archives d'errorlog à 12
DECLARE @Numlogs INT;
DECLARE @RegTable TABLE
(
    Value VARCHAR(128)
  , Data VARCHAR(128)
);
INSERT @RegTable
(
    Value
  , Data
)
EXEC xp_instance_regread N'HKEY_LOCAL_MACHINE'
                       , N'Software\Microsoft\MSSQLServer\MSSQLServer'
                       , N'NumErrorLogs';
SELECT @Numlogs = CAST(Data AS INT)
FROM @RegTable;
IF @Numlogs < 12
   OR @Numlogs IS NULL
BEGIN
    EXEC xp_instance_regwrite N'HKEY_LOCAL_MACHINE'
                            , N'Software\Microsoft\MSSQLServer\MSSQLServer'
                            , N'NumErrorLogs'
                            , REG_DWORD
                            , 12;
END;
-- augmenter la taille de l'historique de l'agent
EXEC msdb.dbo.sp_set_sqlagent_properties @jobhistory_max_rows = 100000
                                       , @jobhistory_max_rows_per_job = 10000;