Entrar

Erro: Backup de log de transações possível após recriar automática de LDF

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.

257855
Este artigo foi arquivado. É oferecido "como está" e não será mais atualizado.
BUG #: 57670 (SQLBUG_70)
Sintomas
Se o arquivo de dados de log (LDF) para um banco de dados não estiver disponível durante a inicialização do SQL Server (por exemplo, se o arquivo tenha sido renomeado ou excluído), o SQL Server 7.0, às vezes, tenta recriar o arquivo LDF automaticamente para garantir a disponibilidade do banco de dados.

Como as informações do arquivo LDF original são perdidas, esse processo interrompe uma seqüência de backups de log de transação existente. Um novo backup completo do banco de dados precisa ser executada para iniciar uma nova seqüência no backups do log de transações.

No entanto, o SQL Server permite que você executar um backup de log de transação aparentemente válido no momento sem aviso que a seqüência de backup é quebrada.

Se forem feitas como um backup inválido e, depois, tentar restaurar esse log de transação, ele falha com a seguinte mensagem:
Servidor: Mensagem 3155, nível 16, estado 1, linha 1
A operação RESTORE não pode continuar porque um ou mais arquivos foram adicionados ou cancelados no banco de dados desde que o conjunto de backup foi criado.

Servidor: Mensagem 3013, nível 16, estado 1, linha 1
Operação de backup ou restauração finalizando de forma anormal.
Como Contornar
Para contornar este problema, siga um destes procedimentos:
  • Certifique-se que os arquivos LDF não são excluídos ou renomeados.

    - ou -
  • Execute um backup completo do banco de dados para iniciar a seqüência de backup de log de transação novamente.
Situação
A Microsoft confirmou que este é um problema no SQL Server 7.0.
Mais Informações

Etapas para reproduzir o problema

  1. Use as instruções a seguir para criar um banco de dados, inserir dados e começar uma série de backup:
    create database testgouse testgocreate table t (c int)goinsert into t values (1)gobackup database test to disk='c:\test_dump.bak' WITH INITgoinsert into t values (2)gobackup log test to disk='c:\test_dump.bak' WITH NOINITgoinsert into t values (3)gouse master
  2. Use as seguintes etapas para permitir que criar um novo arquivo LDF para o banco de dados na inicialização do SQL Server:
    1. Verifique se nenhum usuário está conectado ao banco de dados.
    2. Pare o serviço do SQL Server.
    3. Renomeie o arquivo test_log.ldf.
    4. Inicie o serviço SQL Server.
  3. Verifique o seguinte tipos de entradas no log de erro do SQL Server para confirmar que um novo arquivo LDF foi criado:
    Arquivo c:\MSSQL7\data\test_log.LDF não existe - não é possível ativar.
    Tentando recriar o arquivo de log primário para teste de banco de dados.
    ...
    Novo f:\MSSQL7\data\test_log.LDF de arquivo de log criado.
  4. Use as instruções a seguir para continuar a cadeia de backup:
    use testgoinsert into t values (4)gobackup log test to disk='c:\test_dump.bak' WITH NOINITgo


  5. Usar as instruções a seguir para tentar restaurar os backups em um novo banco de dados chamado testrestore:
    RESTORE DATABASE testrestore   FROM disk='c:\test_dump.bak'   WITH NORECOVERY,    MOVE 'test' TO 'c:\testrestore.mdf',    MOVE 'test_log' TO 'c:\testrestore.ldf'RESTORE LOG testrestore   FROM disk='c:\test_dump.bak'   WITH NORECOVERY,FILE = 2RESTORE LOG testrestore   FROM disk='c:\test_dump.bak'   WITH FILE = 3, RECOVERY
Neste ponto, você receber a seguinte mensagem de erro:
Servidor: Mensagem 3155, nível 16, estado 1, linha 1
A operação RESTORE não pode continuar porque um ou mais arquivos foram adicionados ou cancelados no banco de dados desde que o conjunto de backup foi criado.

Servidor: Mensagem 3013, nível 16, estado 1, linha 1
Operação de backup ou restauração finalizando de forma anormal.
log de erros

Aviso: Este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 257855 - Última Revisão: 10/20/2013 18:29:49 - Revisão: 1.2

  • Microsoft SQL Server 7.0 Standard Edition
  • kbnosurvey kbarchive kbmt kbbug kbpending KB257855 KbMtpt
Comentários