Restore Log com modo de espera em um disco de formato avançado pode causar um erro 9004 no SQL Server 2008 R2 ou no SQL Server 2012

IMPORTANTE: Este artigo foi traduzido pelo software de tradução automática da Microsoft e eventualmente pode ter sido editado pela Microsoft Community através da tecnologia Community Translation Framework (CTF) ou por um tradutor profissional. A Microsoft oferece artigos traduzidos automaticamente por software, por tradutores profissionais e editados pela comunidade para que você tenha acesso a todos os artigos de nossa Base de Conhecimento em diversos idiomas. No entanto, um artigo traduzido pode conter erros de vocabulário, sintaxe e/ou gramática. A Microsoft não é responsável por qualquer inexatidão, erro ou dano causado por qualquer tradução imprecisa do conteúdo ou por seu uso pelos nossos clientes.

Clique aqui para ver a versão em Inglês deste artigo: 2987585
Aviso
Observação: Após aplicar o hotfix ou service pack, você precisa ativar o sinalizador de rastreamento 3057 para que o hotfix funcione.
Sintomas
Considere o seguinte cenário:
  • Você tem o Microsoft SQL Server Backup/restauração ou envio de log configurada entre dois servidores.
  • O banco de dados primário tem seu arquivo de log de transação (. ldf) armazenado em um disco que tenha "Bytes por setor físico" definido como 512 bytes.
  • Você se a transação de backups de log do banco de dados e, em seguida, tente restaurá-lo usando a opção de standby no banco de dados secundário.
  • O arquivo de log de transação do banco de dados secundário (. ldf) está localizado em um disco que tenha "Bytes por setor físico" definido como 4.096 bytes.
Nesse cenário, a operação de restauração falhará e retornará a seguinte mensagem de erro:

Erro: 9004, gravidade: 16, estado: 6.
Ocorreu um erro ao processar o log para o banco de dados 'DatabaseName>'. Se possível, restaure do backup. Se não houver um backup disponível, pode ser necessário recriar o log.

Após esse erro ocorrer, o banco de dados secundário entra em estado suspeito.
Resolução

Atualização cumulativa

Esse problema foi corrigido primeiro na atualização cumulativa seguinte do SQL Server:

Atualização cumulativa 2 do SQL Server de 2014 SP1

Atualização cumulativa 7 para SQL Server 2012 SP2

Sobre atualizações cumulativas para o SQL Server

Cada nova atualização cumulativa para SQL Server contém todas as correções de segurança e hotfixes que foram incluídas com a atualização cumulativa anterior. Exiba as mais recentes atualizações cumulativas para o SQL Server:

Hotfix para o SQL Server 2008 R2 SP2

Um hotfix compatível foi disponibilizado pela Microsoft. No entanto, esse hotfix destina-se a corrigir somente o problema descrito neste artigo. Aplique este hotfix somente aos sistemas que apresentarem esse problema específico.

Se o hotfix estiver disponível para download, há uma seção "Download de Hotfix disponível" na parte superior deste artigo da Base de Conhecimento. Se essa seção não for exibida, envie uma solicitação ao suporte e atendimento ao cliente Microsoft para obter o hotfix.

Observação: Caso outros problemas estejam ocorrendo ou caso qualquer solução de problemas seja necessária, talvez você precise criar uma solicitação de serviço separada. Os custos normais de suporte serão aplicados a questões de suporte adicionais e problemas que não sejam específicos deste hotfix. Para obter uma lista completa dos números de telefone do Atendimento Microsoft e suporte ou para criar uma solicitação de serviço separada, visite o seguinte site da Microsoft: Observação: "Download de Hotfix disponível" exibe os idiomas para os quais o hotfix está disponível. Caso você não veja seu idioma, é porque um hotfix não está disponível para esse idioma.

Como Contornar
A Microsoft confirma que este é um problema em seus produtos listados na seção "Aplica-se a".

Para resolver esse problema, use uma das seguintes soluções:
  • Mova o arquivo de log de transação no destino para uma unidade que tem "Bytes por setor físico" definido como 512 bytes.

    Observação: O arquivo de modo de espera ainda pode estar localizado na unidade que possui o "Bytes por setor físico" definido como 4096 bytes.
  • Restaure os backups de log sem usar a opção em espera. Em vez da opção de modo de espera, use a opção WITH NORECOVERY durante a operação de restauração.
Mais Informações
Você pode usar o utilitário de linha de comando Fsutil para determinar o valor de "Bytes por setor físico". Se este parâmetro não estiver visível na saída, você deve aplicar o hotfix que está especificado na KB982018.

Para verificar o tipo de unidade que você possui, execute essas etapas:
  1. Execute o seguinte comando em um prompt de comando elevado:
    Fsutil fsinfo ntfsinfo x:
    Observação: Neste comando, <x></x> representa a unidade em que você estiver verificando.
  2. Use os valores de "Bytes por setor" e "Bytes por setor físico" para determinar o tipo de unidade que você tem. Para fazer isso, use a tabela a seguir.
    Valor de "Bytes por setor"Valor de "Bytes por setor físico"Tipo de unidade
    409640964K nativo
    5124096Formato avançado (também conhecido como 512E)
    512512512 bytes nativos

Aviso: este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 2987585 - Última Revisão: 08/20/2015 00:28:00 - Revisão: 2.0

Microsoft SQL Server 2012 Enterprise, Microsoft SQL Server 2008 R2 Enterprise, Microsoft SQL Server 2012 Service Pack 2, Microsoft SQL Server 2014 Service Pack 1

  • kbsurveynew kbexpertiseinter kbqfe kbfix kbhotfixserver kbautohotfix kbexpertiseadvanced kbmt KB2987585 KbMtpt
Comentários