Compartilhar via


O SQL Server na VM do Azure falha ao implantar ou a instância do SQL Server falha ao entrar online

Este artigo ajuda você a resolver os seguintes cenários:

  • Não foi possível implantar uma imagem do SQL Server em uma máquina virtual (VM) do Azure usando o Marketplace do Azure.
  • Uma instância do SQL Server não fica online depois que uma VM do Azure é reiniciada ou desalocada.

Aplica-se a: SQL Server em VMs do Azure

Observação

A investigação desse problema está ativamente em andamento. As informações neste artigo estão sujeitas a alterações à medida que novos detalhes se tornam disponíveis.

Sintomas

Se você encontrar esse problema, provavelmente verá:

  • Implantações de VM do SQL Server no Azure falhando ao usar uma imagem do Azure Marketplace.
  • O SQL Server não está online depois que uma VM do Azure é reiniciada para instâncias instaladas manualmente do SQL Server.

Falha na implantação do SQL Server na VM do Azure

Quando você tenta implantar uma imagem do SQL Server em uma VM do Azure a partir do Azure Marketplace, a implantação falha com um status de Conflict e o seguinte erro:

A unidade do sistema retornou o status de não estar pronta para uso.

Por exemplo, se você estiver implantando uma imagem do portal do Azure, poderá ver o seguinte erro para a implantação no log de atividades:

Captura de tela do erro de implantação no portal do Azure.

Aviso

Quando essa falha acontece, a implantação da VM do Azure é bem-sucedida, mas a instalação do SQL Server falha. Você deve excluir a VM para evitar incorrer em encargos. Reimplantar a VM usando um dos métodos descritos nas seções Resolução ou Soluções Alternativas .

O SQL Server falha ao ficar online depois que a VM é reiniciada

Você poderá ver esse problema depois de seguir esta sequência de eventos:

  1. Você implanta uma VM do Azure na lista de VMs afetada .
  2. Instale manualmente uma instância do SQL Server na VM do Azure.
  3. Você configura o banco de dados do SQL Server tempdb para usar o armazenamento efêmero do SSD local (normalmente, a D: unidade).
  4. Sua VM é reiniciada ou desalocada.
  5. Sua instância do SQL Server não está online.

Se você encontrar esse problema, poderá ver o seguinte erro no log de erros do SQL Server:

CREATE FILE encountered operating system error 3(The system cannot find the path specified.) 
while attempting to open or create the physical file 'D:\SQLTemp\tempdb.mdf'.
Error: 17204, Severity: 16, State: 1. FCB::Open failed: Could not open 
file D:\SQLTemp\tempdb.mdf for file number 1. OS error: 
3(The system cannot find the path specified.).
Error: 5120, Severity: 16, State: 101.
Unable to open the physical file "D:\SQLTemp\tempdb.mdf". Operating system error 3:
"3(The system cannot find the path specified.)".
Error: 1802, Severity: 16, State: 4 CREATE DATABASE failed. 
Some file names listed could not be created. Check related errors.
Could not create tempdb. You may not have enough disk space available.
Free additional disk space by deleting other files on the tempdb drive and then restart SQL Server. 
Check for additional errors in the event log that may indicate why the 
tempdb files could not be initialized.

Motivo

Alguns dos mais recentes tamanhos de VM do Azure apresentam um volume SSD local RAW para armazenamento efêmero configurado com a interface NVMe (Express de Memória Não Volátil). Essa configuração resulta em falhas porque o SQL Server tenta colocar o tempdb banco de dados no armazenamento efêmero e falha, pois o volume SSD local não está disponível. Além disso, o armazenamento efêmero é mostrado como RAW depois que o computador é desalocado.

O volume SSD local RAW causa a falha na implantação da VM SQL e impede que as instâncias do SQL Server instaladas manualmente entrem online depois que a VM é reiniciada. Em ambos os casos, o SQL Server tenta inicializar o tempdb banco de dados no armazenamento efêmero, que não está disponível. A implantação falha porque o SQL Server é instalado durante a implantação da VM do Azure e o armazenamento efêmero não está disponível. Da mesma forma, as instâncias instaladas manualmente do SQL Server não ficam online depois que a VM é reiniciada porque o armazenamento efêmero não está disponível quando o SQL Server tenta criar o tempdb banco de dados.

Solução

Esse problema ocorre devido ao tamanho da VM do Azure selecionado. Para resolver o problema, use um dos seguintes métodos:

  • Se possível, use uma SKU de VM diferente, como as listadas nas práticas recomendadas de tamanho da VM.
  • Se você quiser usar uma VM específica que esteja na lista de VMs afetadas , use um computador sem a letra minúscula d no nome, que coloca tempdb no mesmo armazenamento que os arquivos de dados do SQL Server. Por exemplo, use o tamanho da FXmsv2 VM em vez de FXmdsv2. Este último usa o armazenamento efêmero não inicializado, conforme indicado d no nome.

Solução Alternativa

Se você não puder usar outra SKU de VM sem um SSD local RAW, considere as seguintes soluções alternativas:

  • Implante a VM usando uma imagem somente do Windows Server, formate e inicialize a unidade NVMe temporária e instale manualmente o SQL Server.

    • Se você optar por colocar tempdb o SSD local, deverá reinicializar o disco antes de iniciar o SQL Server sempre que a VM for reiniciada ou desalocada.
  • Implante a imagem da VM do SQL Server, mas configure tempdb para usar uma unidade diferente do armazenamento efêmero durante a implantação. Por exemplo, você pode configurar tempdb para usar a C: unidade ou a unidade de armazenamento remoto.

    1. Você pode definir essa configuração na página de configurações do SQL Server no portal do Azure ao implantar a imagem da VM do SQL Server.

    2. Na configuração de armazenamento, selecione Alterar configuração para abrir o painel Configurar armazenamento .

    3. Expanda o armazenamento tempdb e escolha qualquer outra opção que não sejaUse local SSD drive:

      Captura de tela da configuração de armazenamento tempdb no portal do Azure ao implantar uma imagem de VM do SQL.

VMs afetadas

Esse problema ocorre com VMs que implantam uma unidade temporária não inicializada, como os seguintes tamanhos de VM:

Intel de 10.2ª geração AMD de 9.1ª geração
Dldsv6 Daldsv6
Ddsv6 Dadsv6
Edsv6 Eadsv6
Lsv3 – Todas as VMs do Azure
Fxmdsv2

Observação

Verifique se a VM não está configurada usando um tamanho de setor maior que 4 KB antes de instalar o SQL Server.