Corrupçao de arquivo .MDF

SQL Server

17/07/2010

Bom dia pessoal,   estou com um banco Sql corrompido e nao posso perder os dados, gostaria de obter ajuda quanto a recupercao do meu banco. Gosatia de saber existe alguma ferramenta que possa me auxiliar nesse trabalho, ja tente alguns recursos do proprio Sql mas sem sucesso.   Obrigado,   Paulo Lopes  
Paulo

Paulo

Curtidas 0

Respostas

José Rubens

José Rubens

17/07/2010

Olá Paulo,
O SQL Server está te retornando que o arquivo está corrompido mesmo? Você sabe o que originou esta falha? Desculpe lhe encher de perguntas mas gosto de estudar e entender estas falhas. qual a versão do SQL Server utilizado?
Obrigado,Rubens
GOSTEI 0
Paulo

Paulo

17/07/2010

Bom dia Rubens,     Obrigado pela atenção,    Olha estava trabalhando de repente uma queda de energia e parou tudo,  nao consigui mais conectar ao banco.   Estou utilizando o SqlExpress 2005. Ele me retorna o seguinte erro:    "Failed to retrieve data for this request,  If you are database, the file may be corrupted and should, Microsoft Sql Server, Error: 5173"    Rubens eu não tentei ainda nenhum recurso exatamente para não piorar as coisas, estou colhendo informações para tentar resolver, sua informação aqui é de grande valia para mim.   Obrigado e aguardo retorno,     Agradecido,   Paulo Lopes     
GOSTEI 0
José Rubens

José Rubens

17/07/2010

Olá Paulo,
Veja o link abaixo te ajuda.
http://www.sqlservercentral.com/Forums/Topic165155-5-1.aspx
Abraços,Rubens
GOSTEI 0
Fabrício Lima

Fabrício Lima

17/07/2010

Olá Paulo, ja resolveu seu problema?
GOSTEI 0
Paulo

Paulo

17/07/2010

Ola Fabricio,    Obrigado, ainda estou tentando, gostaria muito de obter sua ajuda.      Att,   Paulo Lopes     
GOSTEI 0
Fabrício Lima

Fabrício Lima

17/07/2010

Você não consegue nem logar no SQL ou você log mas uma de suas databases que está dando esse erro?   Se não consegue nem logar, os arquivos .mdf e .ldf das databases master e tempdb estão continuam nos seus devidos lugares?  
GOSTEI 0
Paulo

Paulo

17/07/2010

Olá,   Não consigo logar,  os arquivo permanecem originais,  fiz uma cópia e estou realizando alguns teste em outra maquina. Ja criei um banco novo com o mesmo nome, substitui os arquivos mas nao consigo.     Paulo Lopes 
GOSTEI 0
Fabrício Lima

Fabrício Lima

17/07/2010

Nesse outro servidor, vc tentou fazer um atach dos arquivos .mdf e .ldf? Isso de uma database de usuário, não as de sistema.
GOSTEI 0
Paulo

Paulo

17/07/2010

Ola, bom dia
GOSTEI 0
Paulo

Paulo

17/07/2010

Ola, bom dia
GOSTEI 0
Paulo

Paulo

17/07/2010

Ola,   Eu executei mas foi direto SQL Management Studio, tem outro procedimento ?

Paulo Lopes
GOSTEI 0
Fabrício Lima

Fabrício Lima

17/07/2010

Poderia ser por lá mesmo.   Não lembro de ter falado a versão do SQL. Qual é?   Execute o comando abaixo para atachar sua database, mudando o nome e o caminho:   -- attach a database Maykon
create database Maykon
on
(filename='C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\Maykon.mdf'),
(filename='C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\Maykon_log.ldf')
for attach   Caso de erro, favor postar aqui.    
GOSTEI 0
Paulo

Paulo

17/07/2010

Ola Fabricio     Ao executar as linhas de comando ele me retornou o seguinte erro:  Estou usando o SQL EXPRESS 2005   Msg 1813, Level 16, State 2, Line 3 Não foi possível abrir o novo banco de dados 'A30SIGPO'. CREATE DATABASE foi anulado. Msg 824, Level 24, State 2, Line 3 O SQL Server detectou um erro de E/S baseado em consistência lógica: página interrompida (assinatura esperada: 0x55555555; assinatura real: 0xaaaa5555). Isso ocorreu durante um ler da página (1:133472) na ID de banco de dados '6' do deslocamento 0x000000412c0000 do arquivo 'D:\MSSQL7\COPIA\NV\A30Sigpo.mdf'. Mensagens adicionais do log de erros ou do log de eventos do sistema do SQL Server poderão fornecer mais detalhes. Este é um erro grave que ameaça a integridade do banco de dados e deve ser corrigido imediatamente. Faça uma verificação completa da consistência do banco de dados (DBCC CHECKDB). Este erro pode ter sido causado por vários fatores. Para obter mais informações, consulte os manuais online do SQL Server. Msg 3313, Level 21, State 2, Line 3 Ocorreu um erro na ID do registro de log (58271:288:99) ao refazer uma operação registrada em log no banco de dados 'A30SIGPO'. Em geral, a falha específica é registrada anteriormente como um erro no serviço Log de Eventos do Windows. Repare o banco de dados ou restaure-o usando um backup completo. Att, Paulo Lopes
GOSTEI 0
Fabrício Lima

Fabrício Lima

17/07/2010

Vi em um blog essa ferramenta: http://www.officerecovery.com/mssql/index.htm   Não testei nada, verifique se a mesma pode te ajudar.
GOSTEI 0
Paulo

Paulo

17/07/2010

Bom dia Fabricio,     Obrigado pela dica, ja esta resilvido, a ferramenta é impressionante, só é muito cara, mas valeu.     Muito obrigado.   Att,     Paulo Lopes  
GOSTEI 0
Paulo

Paulo

17/07/2010

Oi Fabricio,   Ainda falando sobre o assunto, consegui recuperar quase todos os dados, tem um script que foi gerado  na recuperacao da minha tabela de clientes, que nao estou conseguindo executar com exito, gostaria que desse uma olhada no codigo abaixo:     SET DATEFORMAT dmy
GO
SET ANSI_WARNINGS OFF
GO SET IDENTITY_INSERT [A30CLIENTES] ON GO   Declare @ID Uniqueidentifier
Declare @PTR35 VarBinary(16), @PTR36 VarBinary(16), @PTR37 VarBinary(16)
Declare @TEXT Varchar(8000)
Declare @NTEXT NVarchar(4000)
Declare @BINARY VarBinary(8000)   Set  @ID = NewId()
Insert   [A30CLIENTES]([Posto], [Cliente], [Logotipo], [Nome], [Tipo_Pessoa], [Cgc], [Inscricao], [Contato], [Dt_Nascto], [Endereco], [Bairro], [Cidade], [Estado], [Cep], [Telefone1], [Telefone2], [Telefone3], [Cadastro], [Endereco_Cob], [Bairro_Cob], [Cidade_Cob], [Estado_Cob], [Cep_Cob], [Telefone1_Cob], [Telefone2_Cob], [Telefone3_Cob], [Endereco_Ent], [Bairro_Ent], [Cidade_Ent], [Estado_Ent], [Cep_Ent], [Telefone1_Ent], [Telefone2_Ent], [Telefone3_Ent], [Tp_Ident], [Obs], [ObsF], [ObsP], [MP135], [Fat_Prod], [Inativo], [Dt_Alter], [obs01], [obs02], [obs03], [obs04], [obs05], [obs06], [obs07], [obs08], [obs09], [obs10], [ID], [Ignora_ponto], [Ignora_NFP], [Limite_Troco], [Limite_Dinheiro], [{C4C0805A-2AA8-443D-B597-3862F6ECD298}])
Values('001', '000036', 'CARLITO BRITO', 'CARLITO PEREIRA DE MATOS ', 'F', '', '', 'CARLITO', Null, 'AVENIDA COLOMBIA 695', 'JARDIM AMERICA', 'SANTA MARIA DA VITORIA', 'BA', '47640000', '007734831428        ', '007799981548        ', '                    ', '2005-08-02 00:00:00.000', 'RUA TEIXEIRA DE FREITAS', 'CENTRO', 'SANTA MARIA DA VITORIA', 'BA', '47640000', ' 11 64339430        ', '77  34831885        ', '11  99260240        ', 'RUA TEIXEIRA DE FREITAS', 'CENTRO', 'SANTA MARIA DA VITORIA', 'BA', '47640000', ' 11 64339430        ', '77  34831885        ', '11  99260240        ', '0', '', '', '', '0', 0, 0, '20100330', '', '', '', '', '', '', '', '', '', '', 36, 0, 0, 0x0E0500010000000000000000, 0x0E0500010000000000000000, @ID)
Select @PTR35 = TEXTPTR([Obs]) from  [A30CLIENTES] where  [{C4C0805A-2AA8-443D-B597-3862F6ECD298}] = @ID
Set @TEXT = ''
WriteText [A30CLIENTES].[Obs] @PTR35  @TEXT
Select @PTR36 = TEXTPTR([ObsF]) from  [A30CLIENTES] where  [{C4C0805A-2AA8-443D-B597-3862F6ECD298}] = @ID
Set @TEXT = ''
WriteText [A30CLIENTES].[ObsF] @PTR36  @TEXT
Select @PTR37 = TEXTPTR([ObsP]) from  [A30CLIENTES] where  [{C4C0805A-2AA8-443D-B597-3862F6ECD298}] = @ID
Set @TEXT = ''
WriteText [A30CLIENTES].[ObsP] @PTR37  @TEXT
GO   Set  @ID = NewId()
Insert   [A30CLIENTES]([Posto], [Cliente], [Logotipo], [Nome], [Tipo_Pessoa], [Cgc], [Inscricao], [Contato], [Dt_Nascto], [Endereco], [Bairro], [Cidade], [Estado], [Cep], [Telefone1], [Telefone2], [Telefone3], [Cadastro], [Endereco_Cob], [Bairro_Cob], [Cidade_Cob], [Estado_Cob], [Cep_Cob], [Telefone1_Cob], [Telefone2_Cob], [Telefone3_Cob], [Endereco_Ent], [Bairro_Ent], [Cidade_Ent], [Estado_Ent], [Cep_Ent], [Telefone1_Ent], [Telefone2_Ent], [Telefone3_Ent], [Tp_Ident], [Obs], [ObsF], [ObsP], [MP135], [Fat_Prod], [Inativo], [Dt_Alter], [obs01], [obs02], [obs03], [obs04], [obs05], [obs06], [obs07], [obs08], [obs09], [obs10], [ID], [Ignora_ponto], [Ignora_NFP], [Limite_Troco], [Limite_Dinheiro], [{C4C0805A-2AA8-443D-B597-3862F6ECD298}])
Values('001', '000037', 'RONE DO TAXI', 'RONILDO DE SOUZA SILVA ', 'F', '00372478590', '1113158832', '', '1980-08-01 00:00:00.000', 'RUA CAPITAO ERNESTO BRANCO SN', 'CENTRO', 'STA MARIA DA VITORIA', 'BA', '47640000', '007791166178        ', '                    ', '                    ', '2005-08-02 00:00:00.000', 'RUA 2 DE JULHO S/N', 'MALVAO', 'STA MARIA DA VITORIA', '', '        ', '                    ', '                    ', '                    ', 'RUA 2 DE JULHO S/N', 'MALVAO', 'STA MARIA DA VITORIA', '', '        ', '                    ', '                    ', '                    ', '0', '', '', '', '0', 0, 0, '20100106', '', '', '', '', '', '', '', '', '', '', 37, 0, 0, 0x0E0500010000000000000000, 0x0E0500010000000000000000, @ID)
Select @PTR35 = TEXTPTR([Obs]) from  [A30CLIENTES] where  [{C4C0805A-2AA8-443D-B597-3862F6ECD298}] = @ID
Set @TEXT = '
RONE TRABALHA DE TAXI NA RODOVIARIA'
WriteText [A30CLIENTES].[Obs] @PTR35  @TEXT
Select @PTR36 = TEXTPTR([ObsF]) from  [A30CLIENTES] where  [{C4C0805A-2AA8-443D-B597-3862F6ECD298}] = @ID
Set @TEXT = ''
WriteText [A30CLIENTES].[ObsF] @PTR36  @TEXT
Select @PTR37 = TEXTPTR([ObsP]) from  [A30CLIENTES] where  [{C4C0805A-2AA8-443D-B597-3862F6ECD298}] = @ID
Set @TEXT = ''
WriteText [A30CLIENTES].[ObsP] @PTR37  @TEXT
GO
SET IDENTITY_INSERT [A30CLIENTES] OFF GO       Se preferir posso enviar por email.   Att,     Paulo Lopes    
GOSTEI 0
POSTAR