Recuperar linhas excluídas do arquivo de log de transações do SQL Server

5

Eu preciso recuperar os dados excluídos de um arquivo de log de transações do SQL Server 2000. O arquivo de log é de 3,3 GB. Eu tentei o SQL Log Rescue usual, mas ele continua com a exceção outOfMemory. Eu também tentei em máquinas diferentes com o mesmo erro.

Eu tentei o ApexSQL Recover, parece funcionar, mas é uma tentativa, então apenas a cada 10 linhas é mostrada. Posso não ter outra escolha senão desembolsar 999,00 por esta ferramenta, se não conseguir encontrar uma solução mais barata.

Alguma ideia?

EDIT -      Se eu tentar restaurar a partir do backup e, em seguida, reproduzir meu arquivo de log, posso restaurá-lo em um banco de dados diferente (novo) no mesmo servidor?

    
por Saif Khan 17.02.2010 / 03:48

1 resposta

3

Quando a exclusão ocorreu? você tem backups de log para o período? Você pode restaurar o banco de dados inteiro para um ponto de restauração conhecido? Já ocorreram outras transações no banco de dados que você precisa?

Se outras transações tiverem ocorrido (o que é um pouco mais complicado), restaure seu último backback completo do banco de dados para um novo local & aplicar os logs de transação em ordem. Use a cláusula STOPAT até o ponto antes que os dados sejam excluídos e coloque o banco de dados on-line.

Você deve agora os dados excluídos em seu banco de dados. Agora você pode gerar instruções insert para inserir registros ausentes em seu banco de dados ativo. Se o esquema for complicado (ou seja, mais do que algumas tabelas isoladas), uma ferramenta como o Data Compare do RedGate será útil. Há um teste completo em funcionamento que você pode instalar para fazer uma comparação única entre o banco de dados e a produção recuperados.

EDIT: Sim, restaure o banco de dados com um nome de banco de dados diferente e use a opção MOVE para especificar um local físico diferente para arquivos de dados, se estiver usando o T-SQL. Em EM, na aba de opções, altere os nomes dos arquivos restaurar como .

    
por 17.02.2010 / 06:03