Três passos para evitar falhas na inicialização do SQL Server

Com esse artigo teremos conhecimento sobre a investigação de problemas do dia a dia, e com isto, a confiança necessária para enfrentar eventuais problemas de inicialização de uma instância que possa encontrar na jornada profissional de um DBA.

Fique por dentro
Um problema que mais cedo ou mais tarde todo profissional responsável pela administração de um servidor SQL Server encontra é o momento em que o serviço falha na tentativa de iniciá-lo. Pensando neste fato é que este artigo foi criado.

Aqui serão abordadas algumas possíveis falhas relativas a pontos-chave da infraestrutura que são necessários para o correto funcionamento do SQL Server e que possam impedir o start normal do serviço, exemplificando formas de investigação e, em alguns casos, como solucionar o problema.

Muitos DBAs SQL Server conhecem aquele frio na barriga quando no meio do expediente o serviço do SQL Server é parado (intencionalmente ou não) e na hora de iniciá-lo a seguinte mensagem aparece: “The request failed or the service did not respond in a timely fashion. Consult the event log or other applicable error log for details.”.

Algo que pode ajudar em momentos difíceis como este é sempre pensar no Engine do SQL Server justamente como um motor. Assim você será capaz de saber o que deverá ser checado quando não for possível dar a partida.

Uma informação importante é, antes de qualquer ação, já ter um plano de atuação bem definido em sua mente, para desta forma poder utilizar melhor o tempo, reduzindo perdas para o cliente tanto pelo tempo de parada quanto por situações que forem agravadas por iniciativas precipitadas.

Para facilitar, você pode começar dividindo o trabalho em fases, conforme os passos descritos a seguir.

Passo 1 – O cliente possui solução de alta disponibilidade?

Quando ocorre algum problema que gera uma indisponibilidade, seja de uma base de dados crítica ou de uma instância, por exemplo, é comum o administrador do banco de dados reagir de imediato buscando o problema ocorrido.

Não é que ele esteja errado em pensar assim. Porém, quando se trabalha com algo crítico como um banco de dados, que geralmente envolve altos investimentos tanto em infraestrutura quanto em pessoal, existe uma regra maior, que sinaliza que “a disponibilidade está em primeiro lugar”, pois na maioria dos casos, indisponibilidade significa prejuízos para o cliente.

É certo que o problema deverá ser investigado. Porém, como primeiro passo, no geral, é necessário checar antes a possibilidade de restaurar o acesso à instância SQL Server para que os sistemas ou rotinas internas possam continuar em execução enquanto é feita a investigação e o problema é solucionado.

Dependendo da criticidade da instância em si, de acordo com os sistemas que a utilizem, a infraestrutura do cliente deverá contar com soluções de alta disponibilidade, como Failover Cluster, Database Mirroring e etc. Se existir alguma solução de alta disponibilidade como estas, chegou a hora de utilizá-la.

Deste modo, depois de conseguir iniciar o SQL Server e certificar-se de que a instância está totalmente funcional e acessível, sem apresentar erros no errorlog, será possível prosseguir com o plano de ação com mais calma.

Passo 2 – Identificar o foco do problema

Agora chegou o momento da investigação. Independente da pressão que for imposta sobre você e de quantas pessoas estiverem de pé ao seu lado esperando uma boa notícia, tente manter a calma e tenha ciência de que você precisará dela para raciocinar e fazer um bom trabalho daqui para frente. Portanto, evite tomar decisões precipitadas para não terminar piorando o cenário.

Outra dica importante é que se você precisar realizar alguma tarefa que possa causar mais algum impacto para o cliente, lembre-se de questionar o seu superior antes, informando todos os eventuais riscos para que não haja nenhum tipo de problema para você, caso as coisas não aconteçam como esperado." [...] continue lendo...

Artigos relacionados