SQL Server has encountered the following error:
The wrong diskette is in the drive. Insert (Volume Serial Number: ) into drive. (Exception from HRESULT: 0X80070022).
O ambiente
Sistema Operacional: Windows Server 2008 R2 Datacenter – Service Pack 1
SGBD: SQL Server 2008 R2 Service Enterprise Edition – Service Pack 3
Feature: Windows Server Failover Clustering
Nodes: 3
Roles (Cluster Groups, Instâncias SQL Server): 8
A demanda
Originalmente este era um Cluster Windows Server 2008 R2 hosteando SQL Server 2008 R2 com 4 nós físicos e com Disk Witness. Um dos servidores físicos teve problema e precisou passar por um evict do cluster para refazimento do sistema operacional, ficando algumas semanas fora do conjunto de servidores que compunham este cluster.
Após a ação mencionada, o servidor estava então pronto para retomar sua função de Nó do cluster supracitado.
A demanda seria simplesmente executar um “Add node” no cluster a nível de Windows Cluster e em seguida executar o SETUP.EXE do SQL Server, com a opção “Add Node” para que este servidor pudesse ser uma opção em casos de falha e também agir como nó primário para algumas das instâncias deste cluster.
O erro
Em outras duas ocasiões, já havia-se tentado executar as demandas descritas acima, porém sem sucesso, tento sempre como retorno o referido erro, conforme imagem abaixo.
Foram executadas diversas tentativas de buscas na internet acerca deste erro, porém nada muito fidedigno era encontrado, uma vez que não parece ser um erro muito comumente visto.
Troubleshooting
Um ponto de falha que tivemos, foi o de não ter feito a validação do cluster para tentar deixar mais claro o que poderia estar acontecendo, e principalmente onde estaria acontecendo.
Realizamos então a validação do cluster, através da opção “Validate Cluster” (Botão direito sobre o nome do cluster).
Uma parte do resultado (exibida na mensagem abaixo, mostrava haver um erro diretamente ligado aos Cluster Volumes.
Clicando em um dos links do relatório, chegamos até a mensagem inicialmente informada, porém com um nível de detalhe maior, informando desta vez, o local exato (disco) onde o problema estava ocorrendo.
Também exibido ao tentar listar os volumes do cluster
Mesmo no cluster management, não conseguíamos listar as propriedades do disco, tendo como resposta a mensagem de erro: “, conforme imagem abaixo.
Fomos ao Disk Management onde nota-se que a única diferença entre o disco em questão e os demais discos, é que este está com a partição com status de “active“. Neste ponto, já tínhamos uma pista sobre onde poderia estar o problema e o que poderia ser feito para solucioná-lo.
Como trata-se de um ambiente crítico e não tínhamos previsto nenhuma indisponibilidade, foi aberto um chamado junto à Microsoft para tratativa do problema e maior segurança, de que a alteração do status da partição deste disco, não causaria nenhuma indisponibilidade ou perda de dados.
Um ponto importante aqui, é que durante o atendimento mencionamos que não encontramos muito sobre o referido erro, e fomos informados que não existe um kb ofical e público da microsoft a respeito deste problema (este também é o motivo da escassez de referências neste post).
A solução
Conforme orientados pelo suporte da Microsoft, realizados as atividades necessárias para retirar o status de “active” da partição do disco, e executamos novamente a validação do cluster, que não apresentou mais o erro.
Um breve resumo dos comandos executados no CMD para alteração deste status.
OBS.: Não tivemos indisponibilidade nem perda de dados em nosso ambiente. Porém vale lembrar:
FAÇA ISSO POR SUA CONTA E RISCO…
Iniciar > Executar > CMD
C:Diskpart
DISKPART> list disk
DISKPART> select disk x
DISKPART> list partition
DISKPART> select partition x
DISKPART> inactive
DISKPART> rescan
Após a execução dos comandos acima, o erro foi sanado e o problema foi enfim resolvido, tendo sido instaladas todas as instâncias com sucesso.
Conclusão
Uma lição aprendida com este problema foi que é sempre muito importante fazer todas as validações possível, analisar logs e todos os recursos disponíveis durante o troubleshooting em caso de problema.
No caso específico de problemas relacionados ao Windows Server Failover Cluster, vale sempre a pena em primeiro momento, executar e verificar minunciosamente o relatório gerado pela validação do cluster.
Até a próxima…
Se gostou, deixe um like aí embaixo… =)
Abraços,
Edvaldo Castro
http://edvaldocastro.com
http://facebook.com/edvaldocastro
Cara… 2 anos depois e seu post ainda ajudando as pessoas!! 😀
Muito Obrigado! Salvou o dia!
Que legal Fernando, fico feliz em saber que ajudou…
Sucesso
😉
Sensacional, estava com esse mesmo problema, é esse artigo salvou meu dia hoje. A instalação era de um SQL Server 2005. A solução foi sensacional. Parabéns Edivaldo.
Abraço,
Gilson
Show de bola… fico muito feliz quando meus artigos efetivamente ajudam as pessoas a resolverem seus problemas reais…
Obrigado pelo feedback Wilson,
Grande abraço,
Edvaldo Castro
Fala meu caro! Tudo certo? Muito interessante esse post. Mas ha muita semelhanca com as resolucoes de peoblemas que ja enfrentamos num passado. Falamos no inbox depois sobre oum tal de SXXXXBPROVSQL11 E 12. Eles tinha esse comportamento sintomatico relacionado as assinaturas de disco, no caso de novos volumes acrescentados no cluster e nao assinados corretamente por todos os nos. Resolucao bem parecida, apesar da diferenca de versao de SO e SGBD, e procedimentos tambem semelhantes.
Show de bola o detalhamento do artigo.
Parabens!
Parabéns Edvaldo!!! Excelente post!!!
Edvaldo, ótimo artigo!
Conseguiu alguma informação sobre o que teria feito a partição ter ficado ativa?!
Obrigado Vladimir,
Então, no momento do problema estávamos com o tempo apertado e o objetivo inicial era conseguir executar a instalação. Tentamos verificar em seguida error log, cluster log, eventviewr e nada encontramos. Há uma possibilidade que acreditamos, que alguém pode acidentalmente ter alterado.
Obrigado pelo comentário,
Abraços.
Show Edvaldo! Este erro foi novidade pra mim e tenho certeza que pra muitos DBA’s =) Parabéns pelo post! Abraço! André
Valeu André,
A maior motivação para escrever foi o erro ser tão fora do normal e não ter material disponível na internet…
Abraços,