Erro: Possível de transacções registo de cópia de segurança depois de reconstruir automática de LDF

Traduções de Artigos Traduções de Artigos
Artigo: 257855 - Ver produtos para os quais este artigo se aplica.
Este artigo foi arquivado. Este artigo é oferecido "tal como está" e deixará de ser actualizado.
N.º DE BUGS: 57670 (SQLBUG_70)
Expandir tudo | Reduzir tudo

Nesta página

Sintomas

Se o ficheiro de dados de registo (LDF) para uma base de dados não estiver disponível durante o arranque do SQL Server (por exemplo, se o ficheiro foi mudado o nome ou eliminado), o SQL Server 7.0 tenta, por vezes, reconstruir o ficheiro LDF automaticamente para garantir a disponibilidade de base de dados.

Uma vez que as informações do ficheiro LDF original são perdidas, este processo interrompe uma sequência de cópias de segurança de registo de transacções existente. Uma nova cópia de segurança da base de dados tem de ser executados para iniciar uma nova sequência em cópias de segurança de registo de transacções.

No entanto, SQL Server permite-lhe efectuar uma cópia de segurança transacção aparentemente válido do registo neste momento sem aviso, a sequência de cópia de segurança é interrompida.

Se tal uma cópia de segurança inválida e tente mais tarde para restaurar este registo de transacções, falha com a seguinte mensagem:
Servidor: Erro 3155, nível de 16, estado 1, linha 1
A operação de RESTAURO não é possível continuar porque um ou mais ficheiros foram adicionados ou eliminados da base de dados desde que o conjunto de cópia de segurança foi criado.

Servidor: Erro 3013, nível de 16, estado 1, linha 1
Operação de cópia de segurança ou restauro terminar irregularmente.

Como contornar

Para contornar este problema, efectue um dos seguintes procedimentos:
  • Certifique-se que ficheiros LDF não são eliminados ou mudar o nome.

    - ou -
  • Efectue uma cópia de segurança da base de dados para recomeçar a sequência de cópia de segurança de registo de transacções.

Ponto Da Situação

Microsoft confirmou que este problema existe no SQL Server 7.0.

Mais Informação

Passos para reproduzir o problema

  1. Utilize as seguintes instruções para criar uma base de dados, inserir dados e iniciar uma série de cópia de segurança:
    create database test
    go
    
    use test
    go
    create table t (c int)
    go
    insert into t values (1)
    go
    
    backup database test to disk='c:\test_dump.bak' WITH INIT
    go
    insert into t values (2)
    go
    backup log test to disk='c:\test_dump.bak' WITH NOINIT
    go
    
    insert into t values (3)
    go
    
    use master
  2. Utilize os seguintes passos para criar um novo ficheiro LDF para a base de dados no arranque do SQL Server:
    1. Certifique que nenhum utilizador está ligado à base de dados.
    2. Pare o serviço SQL Server.
    3. Mude o nome do ficheiro test_log.ldf.
    4. Inicie o serviço SQL Server.
  3. Verifique o seguinte tipo de entradas no registo de erro do SQL Server para confirmar se foi criado um novo ficheiro LDF:
    Ficheiro c:\MSSQL7\data\test_log.LDF não existe - não é possível activar.
    A tentar reconstruir o ficheiro de registo principal para teste da base de dados.
    ...
    F:\MSSQL7\data\test_log.LDF de ficheiro de registo novo criado.
  4. Utilize as seguintes instruções para continuar a cadeia de cópia de segurança:
    use test
    go
    insert into t values (4)
    go
    backup log test to disk='c:\test_dump.bak' WITH NOINIT
    go


  5. Utilize as seguintes instruções para tentar restaurar as cópias de segurança para uma nova base de dados denominada 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 = 2
    RESTORE LOG testrestore
       FROM disk='c:\test_dump.bak'
       WITH FILE = 3, RECOVERY
Nesta altura, receberá a seguinte mensagem de erro:
Servidor: Erro 3155, nível de 16, estado 1, linha 1
A operação de RESTAURO não é possível continuar porque um ou mais ficheiros foram adicionados ou eliminados da base de dados desde que o conjunto de cópia de segurança foi criado.

Servidor: Erro 3013, nível de 16, estado 1, linha 1
Operação de cópia de segurança ou restauro terminar irregularmente.

Propriedades

Artigo: 257855 - Última revisão: 29 de janeiro de 2014 - Revisão: 1.2
A informação contida neste artigo aplica-se a:
  • Microsoft SQL Server 7.0 Standard Edition
Palavras-chave: 
kbnosurvey kbarchive kbmt kbbug kbpending KB257855 KbMtpt
Tradução automática
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 revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 257855

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com