Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá pessoal.
Estou com um cliente que teve problemas no SQL com quedas de luz a todo momento, até que um momento a base estourou.
Possuo os arquivos mdf e ldf da base, porém ela não está anexada.
Já realizei vários processos, criando uma base vazia e substituindo os mdf e ldf e gerando alguns scripts que encontrei aqui no fórum e demais fóruns de ajuda.
Alguém que já tenha passado por esta situação, sabe como resolve-la?
Agradeço desde já,
veHagah.
Apenas mdf e ldf :upset:
Você consegue anexar os arquivos ao server? Dá alguma mensagem?
>
Você consegue anexar os arquivos ao server? Dá alguma mensagem?
Não, pelo fato do mdf/ldf estar corrompido, acontece o erro 9003
TÍTULO: Microsoft SQL Server Management Studio
------------------------------
Anexar banco de dados falhou para Servidor 'server-suporte'. (Microsoft.SqlServer.Smo)
------------------------------
INFORMAÇÕES ADICIONAIS:
Ocorreu uma exceção ao executar um lote ou uma instrução Transact-SQL. (Microsoft.SqlServer.ConnectionInfo)
------------------------------
O número de verificação do log (336:8972:1) passado para a verificação do log no banco de dados 'imasteer' não é válido. Esse erro pode indicar dados corrompidos ou que o arquivo de log (.ldf) não corresponde ao arquivo de dados (.mdf). Se esse erro ocorreu durante a replicação, crie a publicação novamente. Caso contrário, restaure o backup se o problema resultar em uma falha durante a inicialização.
Não foi possível abrir o novo banco de dados 'imasteer'. CREATE DATABASE foi anulado. (Microsoft SQL Server, Erro: 9003)
Caso solucionado!
Compartilhando a solução com o pessoal:
Rodado os seguintes scripts:
Colocar a base em modo EMERGENCY:
ALTER DATABASE nova_base SET EMERGENCY;
Coloca-la em modo "Single-User":
sp_dboption 'nova_base','single_user', true
Reparar o arquivo .ldf:
DBCC CHECKDB (nova_base, REPAIR_ALLOW_DATA_LOSS) WITH NO_INFOMSGS;
Voltar a base para "Multi-User":
ALTER DATABASE nova_base SET MULTI_USER WITH ROLLBACK IMMEDIATE
A princípio seria isso.
Simples e fácil :grin:
Obrigado pela ajuda Prog.
Att,
veHagah
Tem backup não?