SQL Server supprime-t-il jamais les anciens fichiers journaux d'erreurs?


12

Je sais que je peux facilement parcourir le journal des erreurs actuel en exécutant sp_cycle_errorlog, mais je me demande si SQL Server supprimera jamais les fichiers journaux d'erreurs anciens / archivés. Impossible de trouver une réponse à cela n'importe où ...

Réponses:


19

Dans SQL Server Management Studio, dans Object Explorer> Management, il y a un paramètre si vous faites un clic droit sur SQL Server Logset sélectionnez Configure. Vous pouvez spécifier le nombre de fichiers journaux que vous souhaitez conserver. Une fois ce nombre atteint, il commencera à supprimer les anciens.

entrez la description de l'image ici


8

Redémarrez SQL Server 7 fois. Vous verrez que vous n'avez toujours que 7 ERRORLOG*fichiers (selon la version). Il s'agit du fichier journal actuel et des 6 fichiers journaux les plus récents.

Remarque: vous devrez peut-être remplacer 7 par autre chose, si vous avez modifié le nombre de journaux d'erreurs que SQL Server conserve . Le maximum, je crois, est de 99. Mais quel que soit votre paramètre actuel, il finira par recycler et purger les anciens fichiers.

J'ai testé cela et, si vous décochez la case qui dit:

☐ Limitez le nombre de fichiers journaux d'erreurs avant leur recyclage

... ce qui implique (au moins pour moi) de conserver tous les fichiers journaux , il ne conservera que le fichier journal des erreurs actuel plus 6 sauvegardes . Si vous avez modifié la clé de registre indiquée par @RLF , le paramètre de clé de registre remplace (comme si vous n'aviez pas décoché la case), mais vous allez toujours être limité à un certain nombre de fichiers journaux d'erreurs de sauvegarde entre 6 et 99.

Donc, la réponse courte est: oui, dans tous les cas, SQL Server finira par supprimer la suppression des anciens fichiers journaux d'erreurs.


7

SQL Server recycle automatiquement les journaux d'erreurs, tant que vous le configurez correctement.

Voir http://msdn.microsoft.com/en-us/library/ms177285.aspx . J'ai copié les points saillants ci-dessous:

Dans l'Explorateur d'objets, développez l'instance de SQL Server, développez Gestion, cliquez avec le bouton droit sur Journaux SQL Server, puis cliquez sur Configurer.

Dans la boîte de dialogue Configurer les journaux d'erreurs SQL Server, choisissez parmi les options suivantes.

  • Limitez le nombre de fichiers journaux d'erreurs avant leur recyclage

    • Cochez pour limiter le nombre de journaux d'erreurs créés avant qu'ils ne soient recyclés. Un nouveau journal des erreurs est créé à chaque démarrage d'une instance de SQL Server. SQL Server conserve les sauvegardes des six journaux précédents, sauf si vous cochez cette option et spécifiez un nombre maximal différent de fichiers journaux d'erreurs ci-dessous.
  • Nombre maximal de fichiers journaux d'erreurs

    • Spécifiez le nombre maximal de fichiers journaux d'erreurs créés avant leur recyclage. La valeur par défaut est 6, qui est le nombre de journaux de sauvegarde précédents que SQL Server conserve avant de les recycler.

2

Oui, il existe une configuration pour le nombre de journaux d'erreurs à maintenir.

Il se trouve dans la clé de registre à l'adresse:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer\NumErrorLogs

Vous devrez peut-être ajouter cette clé.


1
Notez que vous devez remplacer la première instance de MSSQLServerpar votre ID d'instance s'il s'agit d'une instance nommée (par exemple MSSQL12.SQL2014pour mon instance nommée 2014 nommée SQL2014).
Aaron Bertrand
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.