O que devo fazer se ocorrer um erro Msg 823 nos logs do sistema Oracle, MySQL ou SQL Server depois que um script de inicialização de disco for executado?
Sintoma
Depois que um disco é adicionado a um ECS e o script de inicialização do disco é executado automaticamente na inicialização do ECS, o erro Msg 823 ocorre nos logs do sistema de banco de dados dos bancos de dados Oracle, MySQL e SQL Server.
Possíveis causas
Durante a execução do script de inicialização do disco WinVMDataDiskAutoInitialize.ps1, o diskpart é chamado para ativar o serviço de disco virtual. Após a conclusão da execução, o diskpart é encerrado e o serviço de disco virtual é desativado. O período de inicialização automática do WinVMDataDiskAutoInitialize.ps1 integrado se sobrepõe ao período de inicialização automática dos serviços de banco de dados do cliente, o que pode causar erros de operação de I/O.
O banco de dados usa APIs do Windows (por exemplo, ReadFile, WriteFile, ReadFileScatter, WriteFileGather) para executar operações de I/O de arquivos. Depois de executar essas operações de I/O, o banco de dados verifica as condições de erro vinculadas a essas chamadas de API. Se as chamadas de API falharem com um erro do sistema operacional, o banco de dados relata o erro 823. Para obter detalhes, consulte para obter instruções oficiais de Microsoft, consulte Erro 823 do MSSQLSERVER.
A mensagem de erro 823 contém as seguintes informações:
- Se a operação de I/O é uma solicitação de leitura ou gravação
- O deslocamento dentro do arquivo em que a operação de I/O foi tentada
- O arquivo de banco de dados no qual a operação de I/O foi executada
- O código de erro do sistema operacional e a descrição do erro entre parênteses
A mensagem de erro 823 geralmente indica que há um problema com o sistema de armazenamento subjacente ou o hardware ou um driver que está no caminho da solicitação de I/O. Você pode encontrar esse erro quando há inconsistências no sistema de arquivos ou se o arquivo de banco de dados estiver danificado.
Solução
- Efetue logon no ECS, abra a caixa de diálogo Run, digite services.msc e pressione Enter.
- Procure o serviço de disco virtual e verifique se ele foi interrompido.
Figura 1 Verificar o status do disco virtual
Se o serviço de disco virtual estiver em execução, interrompa-o de uma das seguintes maneiras:
- Desative o script de inicialização de disco WinVMDataDiskAutoInitialize.ps1 de inicializar automaticamente discos de dados do Windows na inicialização do ECS.
- Abra a caixa de diálogo Run, insira taskschd.msc e pressione Enter. A janela de Task Scheduler é exibida.
- Abra Task Scheduler Library, clique com o botão direito do mouse em WinVMDataDiskInitialize na lista de tarefas agendadas e escolha End.
Figura 2 Finalizar WinVMDataDiskInitialize
- Reinicie o ECS ou coloque o disco de dados off-line e, em seguida, on-line.
- Abra a caixa de diálogo Run, insira diskmgmt.msc e pressione Enter. A janela de Disk Management é exibida.
- Clique com o botão direito do mouse no bloco ao qual o disco pertence e escolha Offline.
Figura 3 Configurar o disco off-line
- Clique com o botão direito do mouse no bloco ao qual o disco pertence e escolha Online.
Figura 4 Configurar o disco on-line