CORRECÇÃO: O SQL Enterprise Manager RESTORE Msdb torna o banco de dados no estado de carregamento e não se aplica a diferencial ou backups de log

IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.

Clique aqui para ver a versão em Inglês deste artigo: 319701
Este artigo foi arquivado. É oferecido "como está" e não será mais atualizado.
BUG #: 355915 (SHILOH_BUG)
BUG #: 102086 (SQLBUG_70)
Sintomas
Uma restauração do banco de dados do sistema msdb deixa o banco de dados em um estado de carregamento (unrecovered) e alterações na diferenciais e backups de log não são aplicados se as seguintes condições forem verdadeiras:
  • A restauração é realizada do Enterprise Manager (SEM).
  • A operação de restauração é uma combinação de:

    1. Um backup completo do banco de dados e um backup diferencial.
    2. Um backup completo do banco de dados e backups do log de transações.
    3. Um backup completo do banco de dados e uma combinação de diferenciais e backups do log de transações.
Observação : para executar backups de log de transação de banco de dados msdb no SQL Server 2000, você deve alterar a recuperação modelo "em massa conectada" ou "completa". No SQL Server 7.0, você deve ter trunc". configuração de log em chkpt."desativada para o banco de dados msdb .
Resolução
Para resolver esse problema, obtenha o service pack mais recente para o Microsoft SQL Server 7.0. Para obter informações adicionais, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
301511INF: Como obter o Service Pack mais recente do SQL Server 7.0
Como Contornar
Para contornar esse comportamento, restaure o banco de dados msdb do analisador de consultas usando os comandos Transact-SQL RESTORE em vez de por meio de SEM.
Situação
A Microsoft confirmou que este é um problema nos produtos da Microsoft listados no começo deste artigo. Esse problema foi corrigido primeiro no Microsoft SQL Server 7.0 Service Pack 4.
Mais Informações
Quando você restaura o banco de dados msdb do Enterprise Manager, ele informa a seguinte mensagem de erro:
O banco de dados 'msdb' não pode ser aberto. Ele está no meio de uma restauração
Não foi possível inserir um backup ou restaurar o registro histórico/detalhes no banco de dados msdb. Isso pode indicar um problema com o banco de dados msdb. A operação de backup/restauração foi bem-sucedida ainda.
RESTORE DATABASE processadas com êxito 1217 páginas em 2.268 segundos (4.392 MB/seg).
As duas linhas iniciais são previstas porque uma operação de restauração insere uma entrada no msdb na tabela restorehistory . No entanto, ao restaurar msdb , a operação de restauração não é possível inserir nesta tabela porque o banco de dados msdb está no meio de uma restauração. Observe que a terceira linha na mensagem de erro anterior relata que a restauração processadas somente um arquivo de backup, que é o backup completo do banco de dados inicial. Quando você clicar em OK você retornar à caixa de diálogo Restaurar banco de dados e você deverá clicar em Cancelar para sair dessa caixa de diálogo. O problema é que as alterações no diferencial ou o log backups não são aplicados a msdb e o banco de dados é deixado no estado de carregamento (unrecovered). Para recuperar o banco de dados você pode executar o código a seguir no Query Analyzer:
RESTORE DATABASE msdb WITH RECOVERY				
quando você restaurar msdb do Query Analyzer, ele relata erros 927 e 3009 para cada operação de restauração exceto o último. Tenha em mente que todas as seguintes operações de restauração, exceto a última, usem a opção WITH NORECOVERY. No entanto, o banco de dados msdb não está deixado no estado de carregamento.

O exemplo a seguir restaura um backup completo do banco de dados, seguido de um backup diferencial e termina com um backup do log de transações:
RESTORE DATABASE Msdb FROM DISK = 'C:\msdbfull.bak'WITH NORECOVERYGORESTORE DATABASE Msdb FROM DISK = 'C:\msdbdiff1.bak' WITH NORECOVERYGORESTORE LOG Msdb FROM DISK = 'C:\msdblog2.bak'GO				
Os comandos anteriores geram a seguinte saída:
Processadas 1216 páginas para o banco de dados 'Msdb' arquivo 'MSDBData' no arquivo 1.
Processada 1 páginas de banco de dados 'Msdb' arquivo 'MSDBLog' no arquivo 1.
Servidor: Mensagem 927, nível 14, estado 2, linha 1
O banco de dados 'msdb' não pode ser aberto. Ele está no meio de uma restauração.
Servidor: Mensagem 3009, nível 16, estado 3, linha 1
Não foi possível inserir um backup ou restaurar o registro histórico/detalhes no banco de dados msdb. Isso pode indicar um problema com o banco de dados msdb. A operação de backup/restauração foi bem-sucedida ainda.
Operação de backup ou restauração processadas com êxito 1217 páginas em 3.776 segundos (2.638 MB/seg).
Processadas 984 páginas para o banco de dados 'Msdb' arquivo 'MSDBData' no arquivo 1.
Processada 1 páginas de banco de dados 'Msdb' arquivo 'MSDBLog' no arquivo 1.
Servidor: Mensagem 927, nível 14, estado 2, linha 1
O banco de dados 'msdb' não pode ser aberto. Ele está no meio de uma restauração.
Servidor: Mensagem 3009, nível 16, estado 3, linha 1
Não foi possível inserir um backup ou restaurar o registro histórico/detalhes no banco de dados msdb. Isso pode indicar um problema com o banco de dados msdb. A operação de backup/restauração foi bem-sucedida ainda.
Operação de backup ou restauração processadas com êxito 985 páginas em 1.762 segundos (4.575 MB/seg).
Processadas 2 páginas para o banco de dados 'Msdb' arquivo 'MSDBLog' no arquivo 1.
Operação de backup ou restauração processadas com êxito 2 páginas em 0.004 segundos (3.712 MB/seg).
Observe que a saída relatórios que foram processados três backups e que todos os backups diferenciais e de log foram aplicados.

REFERÊNCIAS

Manuais online do SQL Server; tópico: "RESTORE"

Propriedades

ID do Artigo: 319701 - Última Revisão: 12/07/2015 09:19:34 - Revisão: 3.2

Microsoft SQL Server 2000 Standard Edition, Microsoft SQL Server 7.0 Standard Edition

  • kbnosurvey kbarchive kbmt kbbug kbfix kbsqlserv700presp4fix KB319701 KbMtpt
Comentários