Banco de dados do Sql Server 2005 perdido, Como recuperar todos os registros. O tamanho do MDF / LDF é o mesmo que deveria ser

2

Alguns meses atrás, instalei um sql server 2005 em uma das máquinas do meu cliente. Eu dei a ele uma opção de backup para fazer o backup em tempo hábil, mas ele nunca fez backup.

Hoje ele me chamou de "não consigo ver nenhum registro meu". Eu visitei o sistema de meus clientes e vi que nenhum dos registros estava presente nas tabelas. Não havia sequer uma fileira em nenhuma das mesas. Então eu verifiquei se ele tem algum arquivo de backup que eu encontrei estar ausente.

Perguntei-lhe a razão que poderia ser a causa possível. Ele disse que pode ser devido a vírus.

Depois disso eu verifiquei o tamanho do arquivo mdf e ldf e achei que deveria ser o que é. quando eu criei seu servidor mdf ldf tinha 2MB de banco de dados agora é 83 MB e 193Mb mdf / ldf, respectivamente.

Isso mostra que os dados ainda estão presentes, mas não estão sendo exibidos.

Qual poderia ser a causa possível e como posso restaurar todos os dados para minhas tabelas?

    
por Shantanu Gupta 29.03.2010 / 18:03

2 respostas

5

Você não pode julgar pelo tamanho do arquivo. Se ele executasse DELETE * FROM table em todas as tabelas, o tamanho do banco de dados seria o mesmo até ele executar DBCC SHRINKDATABASE .

Eu copiava o arquivo, abria-o em um editor e veria se havia algo nele. Ou você pode tentar e SHRINK. Se ele encolher para nada, está vazio. (Novamente, faça um backup).

Uma perda completa de todos os dados soa como um problema do usuário para mim. Sem backups, sem dados, vírus misterioso? PODERIA ser um vírus, mas é provável que tenha sido um erro do usuário.

    
por 29.03.2010 / 18:06
3

Como a estrutura do banco de dados está aparentemente intacta (o que você deve verificar), a causa mais provável é alguém mexer no banco de dados diretamente, talvez para ignorar alguma lógica de negócios no aplicativo que a utiliza. Um vírus? Extremamente improvável.

Os dados apareceriam agora para viver apenas no log de transações. Você pode usar um produto como Apex SQL Audit ou Litespeed da Quest para SQL Server para visualizar o log, ver o que aconteceu e possivelmente restaurar os dados.

    
por 29.03.2010 / 18:24