August 20, 2016 SQLCORE

Alterando o diretório dos arquivos de erro no SQL Server

Olá,

É bem comum DBAs iniciantes realizarem uma nova instalação do SQL Server com o famoso procedimento “Next, Next, Finish”. É válido, porém, há algumas situações atípicas que todo bom DBA deve saber resolver. Uma destas situações é como alterar o diretório dos arquivos de erro da instância e do SQL Server Agent. Neste artigo veremos como realizar esta atividade.

Geralmente quando há a necessidade de se alterar o diretório dos arquivos de erro no SQL Server, essa atividade será feita para a instância, alterando os arquivos “errorlog“, e também alterando o diretório dos arquivos de erro do SQL Server Agent. Vamos começar pela instância.

Abra a ferramenta SQL Server Configuration Manager, selecione SQL Server Services e então abra a janela de propriedades da instância que deseja alterar o diretório dos arquivos de erro.

Screen Shot 2016-08-20 at 21.09.28 PM

Na janela de propriedades da instância, escolha a aba Startup Parameters. Por padrão você terá três parâmetros criados, sendo eles:

-d -> indica o caminho do arquivo primário (.mdf) do banco de dados MASTER;
-e -> indica o caminho dos arquivos de erro da instância (Obs: Atenção ao nome do arquivo, ERRORLOG)
-l -> indica o caminho do arquivo de log (.ldf) do banco de dados MASTER;

Screen Shot 2016-08-20 at 21.16.25 PM

Essa alteração é simples, basta alterar o parâmetro -e com o novo diretório dos arquivos de erro, lembrando de manter o nome do arquivo, ERRORLOG, no final do caminho.
Ao realizar a alteração é necessário reiniciar a instância para a alteração para a fazer efeito.

Baseado nesta sequência, o pensamento lógico seria fazer o mesmo processo no SQL Server Agent correto? Vamos verificar.

Ainda com o SQL Server Configuration Manager aberto, abra a janela de propriedades do SQL Server Agent. Esta janela possui três abas, Log On, Service e Advanced. Nenhuma destas abas possui um parâmetro para alterar o diretório dos arquivos de erro do SQL Server Agent. Mesmo se observar na aba Advanced, há uma opção chamada Dump Directory, porém, como o nome sugere, este diretório é para o caso de ser gerado um Dump do SQL Server Agent, não é o diretório dos arquivos de erro.

Screen Shot 2016-08-20 at 21.21.28 PM

E agora!?

Bem, esse é um dos macetes que um bom DBA tem na manga para resolver problems incomuns do dia-a-dia. =)
Para alterar o diretório dos arquivos de erro do SQL Server Agent, teremos de alterar uma chave de registro. Não se preocupe caso seja a primeira vez que você acessa ou altera o registro da máquina. Neste caso (e somente neste caso), siga exatamente os passos descritos a seguir que não haverá problemas.

Para abrir o registro da máquina, localize o aplicativo regedit e abra-o.

Screen Shot 2016-08-20 at 21.27.03 PM

Do lado esquerdo, no painel de navegação, navegue por esta sequência:
HKEY_LOCAL_MACHINE -> SOFTWARE -> Microsoft -> Microsoft SQL Server -> MSSQL13.MSSQLSERVER -> SQLServerAgent

Em seu ambiente, a pasta MSSQL13.MSSQLSERVER talvez não exista. Esta pasta é a pasta correspondente à instância que você tem instalada na sua máquina e está realizando a alteração.

Dentro da pasta SQLServerAgent, há uma chave de registro chamada ErrorLogFile, clique com o botão direito na chave de registro e escolha a opção Modify. Você algo parecido com a imagem abaixo:

Screen Shot 2016-08-20 at 21.35.00 PM

Altere o valor da chave de registro para o novo caminho onde os arquivos de erro do SQL Server Agent serão criados. Lembre-se de manter no final do caminho o nome do arquivo SQLAGENT.OUT. Volte até o SQL Server Configuration Manager e reinicie o SQL Server Agent para a alteração ter efeito.

Pronto. Alterações concluídas. Para validar, acesse os diretórios escolhidos e verifique se já foram criados os novos arquivos após a reinicialização dos serviços.

Espero ter ajudado. Bons estudos!
Erickson Ricci

Leave a Reply

Your email address will not be published. Required fields are marked *