Esta manhã, tivemos um problema em que nosso servidor de produção parecia decidir mudar do modo de autenticação mista para a autenticação somente do Windows por vontade própria. Eu estava curioso para saber se algum de vocês, outros DBAs por aí, já passou por isso ou poderia me indicar uma boa direção para tentar garantir que isso não aconteça conosco novamente. A única outra coisa que parecia estar acontecendo no banco de dados, além do uso típico, era que o log de transações havia acabado de concluir um backup.
relate perguntas
-
Quais são as principais causas de deadlocks e podem ser evitadas?
-
Quanto "Padding" coloco em meus índices?
-
Existe um processo do tipo "práticas recomendadas" para os desenvolvedores seguirem para alterações no banco de dados?
-
Como determinar se um Índice é necessário ou necessário
-
Downgrade do SQL Server 2008 para 2005
As chances de que o Modo de Autenticação tenha mudado por conta própria são bem próximas de zero. Mais provavelmente, foi alterado por acidente.
Esta é uma alteração que requer uma reinicialização do serviço SQL Server para que tenha efeito. O que provavelmente aconteceu é que o modo de autenticação foi alterado em algum momento desde a última reinicialização (que poderia ter sido meses atrás) - então, quando a instância foi reiniciada, a alteração "repentinamente" entrou em vigor aparentemente por conta própria.
Essa configuração específica é armazenada no registro, portanto, se você tiver backups do sistema operacional do seu servidor, poderá fazer algumas pesquisas para voltar no tempo e tentar determinar quando isso foi alterado.
Eu verificaria o log do servidor se você puder, eu definitivamente configuraria um gatilho DDL para alertá-lo quando ele mudar.
Estou cético de que ele mudou sozinho, mas encontrei alguns artigos mostrando que você pode olhar para o registro para ver seu modo de autenticação e isso me faz pensar se o modo de autenticação foi alterado no nível do registro/servidor e não no Nível do SQL Server.
Aqui está o registro e o código para visualizar o nível do registro:
Fonte
Aqui está outro tópico sobre o registro. Eu provavelmente configuraria um script powershell que pudesse verificar a cada 5 minutos e ver se está configurado corretamente. Se não, eu teria que mudá-lo. Eu examinaria os logs do servidor e veria se isso mostra alguma autenticação no servidor.
Com o script do powershell, se você fizer com que ele registre os resultados a cada 5 minutos e fornecer um carimbo de data, poderá identificar a hora em que ele muda se mudar novamente. Talvez seja uma atualização de GPO?
Mais sobre o nível do registro.
Script para alterar o registro.
Mais uma observação, parece que você precisa reiniciar para que essa alteração tenha efeito. Identifique quando o servidor foi reiniciado pela última vez, suponho que você possa encontrar alguma atividade que leve a isso.