SQL Server elimina mai i vecchi file di registro degli errori?


12

So che posso scorrere facilmente il registro degli errori corrente eseguendo sp_cycle_errorlog, ma mi chiedo se SQL Server eliminerà mai i file di registro degli errori vecchi / archiviati. Non riesco a trovare una risposta a questo da nessuna parte ...

Risposte:


19

In SQL Server Management Studio, in Object Explorer> Management, è presente un'impostazione se si fa clic con il tasto destro su SQL Server Logse si seleziona Configure. È possibile specificare quanti file di registro si desidera conservare. Una volta raggiunto quel numero, inizierà a rimuovere quelli vecchi.

inserisci qui la descrizione dell'immagine


8

Riavvia SQL Server 7 volte. Vedrai che hai ancora solo 7 ERRORLOG*file (a seconda della versione). Questo è il file di registro corrente e i 6 file di registro più recenti.

Nota: potrebbe essere necessario modificare 7 in qualcos'altro, nel caso in cui sia stato modificato il numero di log degli errori conservati da SQL Server . Il massimo, credo, è 99. Ma non importa quale sia l'impostazione attuale, alla fine riciclierà ed eliminerà i vecchi file.

Ho provato questo e, se si deseleziona la casella che dice:

☐ Limitare il numero di file di registro errori prima che vengano riciclati

... il che implica (almeno per me) mantenere tutti i file di registro , manterrà comunque solo il file di registro degli errori corrente più 6 backup . Se hai modificato la chiave di registro evidenziata da @RLF , l'impostazione della chiave di registro sovrascrive (come se non avessi deselezionato la casella), ma sarai comunque limitato a un numero di file di registro degli errori di backup tra 6 e 99.

Quindi la risposta breve è: sì, in tutti i casi, SQL Server finirà per eliminare i vecchi file di registro degli errori.


7

SQL Server ricicla automaticamente i log degli errori, purché sia ​​configurato correttamente.

Vedi http://msdn.microsoft.com/en-us/library/ms177285.aspx . Ho copiato i punti salienti di seguito:

In Esplora oggetti espandere l'istanza di SQL Server, espandere Gestione, fare clic con il pulsante destro del mouse su Log di SQL Server e quindi fare clic su Configura.

Nella finestra di dialogo Configura log degli errori di SQL Server, scegliere tra le seguenti opzioni.

  • Limitare il numero dei file di registro degli errori prima che vengano riciclati

    • Controllare per limitare il numero di log degli errori creati prima che vengano riciclati. Un nuovo registro degli errori viene creato ogni volta che viene avviata un'istanza di SQL Server. SQL Server conserva i backup dei sei registri precedenti, a meno che non si selezioni questa opzione e si specifichi di seguito un numero massimo diverso di file di registro errori.
  • Numero massimo di file di registro errori

    • Specificare il numero massimo di file di registro degli errori creati prima che vengano riciclati. Il valore predefinito è 6, ovvero il numero di registri di backup precedenti che SQL Server conserva prima di riciclarli.

2

Sì, esiste una configurazione per quanti log degli errori mantenere.

Si trova nella chiave di registro all'indirizzo:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer\NumErrorLogs

Potrebbe essere necessario aggiungere questa chiave.


1
Nota che devi sostituire la prima istanza di MSSQLServercon il tuo ID istanza se è un'istanza denominata (ad es. MSSQL12.SQL2014Per la mia istanza denominata 2014 denominata SQL2014).
Aaron Bertrand
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.