Você está offline; aguardando reconexão

Erro: Possível de transacções registo de cópia de segurança depois de reconstruir 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 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
Este artigo foi arquivado. Este artigo é oferecido "tal como está" e deixará de ser actualizado.
N.º DE BUGS: 57670 (SQLBUG_70)
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 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. 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 testgoinsert into t values (4)gobackup log test to disk='c:\test_dump.bak' WITH NOINITgo


  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 = 2RESTORE 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.
Errorlog

Aviso: Este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 257855 - Última Revisão: 01/29/2014 19:37:17 - Revisão: 1.2

Microsoft SQL Server 7.0 Standard Edition

  • kbnosurvey kbarchive kbmt kbbug kbpending KB257855 KbMtpt
Comentários