Aumentar o numero de arquivos do Errorlog e limitar o seu tamanho físico

O log de erro do SQL Server (ERRORLOG) contem muitas informações geradas pelo SQL Server como mensagens, alertas, eventos críticos, auditoria, informações geradas a partir dos usuários entre outras. O log de erro é um ótimo lugar para encontrar informações sobre o que está acontecendo com seu ambiente.

O ErrorLog é inicializado cada vez que a instancia do SQL Server é iniciada ou quando o log de erro é reciclado. Se a instancia não tem sido reiniciada por um longo tempo, o arquivo de log de erro pode crescer consideravelmente dificultando a seu leitura em uma possível analise.

Por padrão, os logs de erro de SQL Server são mantidos na subpasta de Log do SQL Server e há sete logs de erro do SQL Server. Quando o arquivo de log de erros é recriado, o log anterior é renomeado para Errorlog.1 e próximo log anterior (Errorlog.1) é renomeado para Errorlog.2 e assim por diante.

Aumentando o numero de arquivos

Para aumentar o numero de arquivos do ErrorLog do SQL Server, você deve se conectar a uma instancia e clicar com botão direito em SQL Server Log e depois em “Configure”.

Errorlog1

Figura 1

Depois habilite a única check box disponível e aumente o numero de log de erro que pode chegar até 99 arquivos.

Errorlog2

Figura 2

Para saber o caminho fisicamente onde os arquivos de log de erro estão armazenados você pode utilizar esse T-SQL para ajuda-lo.

SELECT SERVERPROPERTY(‘ErrorLogFileName’);

Abaixo o SCRIPT para a alterar a quantidade de ErrorLog :

USE [master]

GO

EXEC xp_instance_regwrite N’HKEY_LOCAL_MACHINE’, N’Software\Microsoft\MSSQLServer\MSSQLServer’, N’NumErrorLogs’, REG_DWORD, 99

GO

Novidade no SQL Server 2012

No SQL server 2012 existe uma nova opção para os arquivos de ErrorLog que é o limite por tamanho!
Podemos a partir de agora limitar o tamanho fisico do arquivo do ErrorLog 🙂
Com o comando abaixo limitamos o tamanho do arquivo em 5MB

USE [master];

GO

EXEC xp_instance_regwrite N’HKEY_LOCAL_MACHINE’,N’Software\Microsoft\MSSQLServer\MSSQLServer’, N’ErrorLogSizeInKb’, REG_DWORD, 5120;

GO

Na minha visão, essa opção é muito util quando temos grandes problema ou incidicio de problema eventos são gravados no errorlog. Com esse limitador de tamanho podemos ter a facilidade de abrir um arquivo de errorlog em um troubleshooting ou ate mesmo controlar o espaço em disco caso seja necessario!

Reciclar o ErrorLog

Para reciclar os arquivos de log de erro do SQL Server devemos executar a seguinte procedure de sistema:

sp_cycle_errorlog

Essa procedure deve ser executada diretamente na database master.

Essa procedure fecha o arquivo de log de erros atual e altera os números de extensão de log de erros, simulando um reinício da instancia.

Assim como log de erro do SQL Server o log de erro do SQL Server Agent é um ótimo lugar para buscar informações sobre o que está acontecendo com o SQL Server Agent. Porém, não é possível aumentar a quantidade de arquivos do log de erro do SQL Server Agent, sendo fixado em um total de 10 arquivos, com 1 arquivo corrente (SQLAGENT.OUT) e 9 arquivos de log (SQLAGENT.1 até SQLAGENT.9)

Da mesma maneira que acontece com o log de error do SQL Server o log de erro do SQL Server Agent é inicializado quando a instancia é iniciada ou quando o log de erro é reciclado.

Para reciclar os arquivos de log de erro do SQL Server Agent devemos executar a seguinte procedure de sistema:

sp_cycle_agent_errorlog

Essa procedure deve ser executada diretamente na database msdb.

Referencia:

Limit the size of the error log

Maníaco, entusiasta, fascinado, fanático por SQL Server e nas horas vagas um DBA que adora o que faz! Também possui certificações como: MCT, MCSE - Data Management and Analystics, MCSE - Data Plataform e MCSA - SQL Server 2016/2014/2012

Responda