Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Marcos Aurélio Jr.

Como abrir arquivo .mdf e .ldf?

Recommended Posts

Opa amigos, como vão?

A História é a seguinte, me foram passados alguns arquivos para que fossem extraídos os seus dados, esses arquivos são do tipo .mdf e .ldf, inicialmente foi sugerido que seriam arquivos do ACCESS, e que poderiam ser abertos por lá.

 

Contudo após falhar ao tentar abrir tais arquivos no ACCESS e pesquisando a origem dos arquivos, pude perceber que se tratam de extensões do SQLServer, o .mdf seria o banco e o .ldf o seu log.

 

Sendo assim, descobri que utilizando o SQL Manangment Studio, poderia ANEXAR (ATTACH) os arquivos, adicionando-os a uma instância pré-existente. Ao realizar tal procedimento inicialmente foi relatado erro de permissão ao acessar os arquivos, para solucionar copiei-os para a pasta DATA, diretório com os demais arquivos .mdf direcionados ao SQLServer na pasta /Arquivos de Programas/Microsoft SQL Server/MSSQLServer/... . Esta alteração resolveu o problema de permissão de acesso, todavia em seguida foi relatado um segundo erro, que tratando da incompatibilidade entre a versão utilizada para criação do arquivo (655) e a que estou utilizando para tentar acessá-lo (661), desta forma ao meu ver, teria de buscar a tal versão de criação para acessar o arquivo, ou ter acesso ao banco de dados onde foi criado, para solucionar tal questão.

Diante disso gostaria de saber a opinião de vocês sobre a situação acima, dicas, sugestões e depoimentos parecidos são bem vindos.

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Marcos, bem vindo ao fórum.

 

Infelizmente o que mais acontece é quando pegamos um sistema legado e bases que desconhecemos.

Como você já "apanhou" e chegou a versão do arquivo (655) isso ajuda e muito.

Database version 655 é do SQL Server 2008

Database version 661 é do SQL Server 2008 R2

 

Mas tem outro porém: O tipo de versão do SQL, seja Express, Standard, Enterprise também pode influenciar.

 

Aconselho a você baixar a versão Trial do SQL2012 e "atachar" o banco para extrair os dados.

Para esta extração, utilize o DTSx (Import/Export), nativo do SQLServer. De uma procurada no fórum que vários materiais e até um tutorial que eu mesmo montei.

 

[]´s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Marcos, bem vindo ao fórum.

 

Infelizmente o que mais acontece é quando pegamos um sistema legado e bases que desconhecemos.

Como você já "apanhou" e chegou a versão do arquivo (655) isso ajuda e muito.

Database version 655 é do SQL Server 2008

Database version 661 é do SQL Server 2008 R2

 

Mas tem outro porém: O tipo de versão do SQL, seja Express, Standard, Enterprise também pode influenciar.

 

Aconselho a você baixar a versão Trial do SQL2012 e "atachar" o banco para extrair os dados.

Para esta extração, utilize o DTSx (Import/Export), nativo do SQLServer. De uma procurada no fórum que vários materiais e até um tutorial que eu mesmo montei.

 

[]´s

Obrigado A Jr,

 

Então, nós tentamos aqui com o SQL Server 2012, porém foi quando apresentou essa mensagem de erro de versão. Daí o próximo passo seria instalar o SQL 2005 express, para ver se resolveria, porém como você disse que se tratam de verões 2008, vou tentar utiliza-las para ver no que dá. Acredito que funcione se for com a mesma função. Encontrei também um tutorial que diz para rodar a seguinte rotina :

 

EXEC sp_attach_db @dbname = N'AdventureWorks',

@filename1 = N'c:\Program Files\Microsoft SQL Server

\MSSQL.1\MSSQL\Data\AdventureWorks_Data.mdf',

@filename2 = N'c:\Program Files\Microsoft SQL Server

\MSSQL.1\MSSQL\Data\AdventureWorks_log.ldf' ;

 

Ainda não testei, vou dar uma olhada nos outros tutoriais também como você disse, caso ache algo que funcione e retorno aqui.

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

No SQL2012 você consegue fazer este "atach" sim, mesmo pelo MMS quanto por linha de comando, não havendo necessidade de instalar uma versão do SQL2008. O que não consegueria fazer seria usar esta base do 2008 em uma instancia do 2005.

 

Tente esta linha de comando e não obtendo sucesso, retorne ao post que tem outras opções de comandos T-SQL.

 

[]´s e boa sorte

Compartilhar este post


Link para o post
Compartilhar em outros sites

No SQL2012 você consegue fazer este "atach" sim, mesmo pelo MMS quanto por linha de comando, não havendo necessidade de instalar uma versão do SQL2008. O que não consegueria fazer seria usar esta base do 2008 em uma instancia do 2005.

 

Tente esta linha de comando e não obtendo sucesso, retorne ao post que tem outras opções de comandos T-SQL.

 

[]´s e boa sorte

 

Tentei o "attach" utilizando o Management Studio, mas sempre apresenta o mesmo erro:

 

"The database 'GPWORK' cannot be opened because it is version 661. This server supports version 655 and earlier. A downgrade path is not supported.

Could not open new database 'GPWORK'. CREATE DATABASE is aborted. (Microsoft SQL Server, Erro: 948)"

 

Acho que trata da mesma coisa que tu falou, só que a minha instância é o 2012, e ainda assim não consigo abrir.

 

:(

Compartilhar este post


Link para o post
Compartilhar em outros sites

Hum, roda o seguinte comando e poste o resultado por favor:

 

SELECT -- SERVERPROPERTY('servername') As "Nome do Servidor",SERVERPROPERTY('productversion') As Versão,SERVERPROPERTY ('productlevel') As "Service Pack", SERVERPROPERTY ('edition') As Edição,@@Version As "Sistema Operacional"
[]´s

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

Hum, roda o seguinte comando e poste o resultado por favor:

 

SELECT -- SERVERPROPERTY('servername') As "Nome do Servidor",SERVERPROPERTY('productversion') As Versão,SERVERPROPERTY ('productlevel') As "Service Pack", SERVERPROPERTY ('edition') As Edição,@@Version As "Sistema Operacional"
[]´s

 

 

Aparece o seguinte:

 

versão: 10.0.5500.0

Service: Pack: SP3

Edição: Express Edition

Sistema operacional: Microsoft SQL Server 2008 (SP3) - 10.0.5500.0 (Intel X86) Sep 22 2011 00:28:06 Copyright (coffee) 1988-2008 Microsoft Corporation Express Edition on Windows NT 6.1 <X86> (Build 7601: Service Pack 1)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então, você está tentando atachar uma base do SQL2008 em uma Versão Express (gratuita) por isso aparece esta mensagem de erro.

 

Tente executar a linha de comando do post #3 na sua instancia do SQL2012.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então, você está tentando atachar uma base do SQL2008 em uma Versão Express (gratuita) por isso aparece esta mensagem de erro.

 

Tente executar a linha de comando do post #3 na sua instancia do SQL2012.

Conseguimos abrir a partir de uma instância 2008 R2, porém para nossa surpresa o arquivo se encontra vazio. O que nos faz acreditar que pode ter ocorrido algum outro erro ou o tal arquivo está corrompido, pois estar vazio se torna estranho a partir do tamanho do programa.

 

 

:S

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vazio em que sentido? sem dados na tabela? qual o tamanho do arquivo MDF?

Se bem que pode-se "setar" o tamanho do MDF mesmo sem ter dado algum.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vazio em que sentido? sem dados na tabela? qual o tamanho do arquivo MDF?

Se bem que pode-se "setar" o tamanho do MDF mesmo sem ter dado algum.

Sem tabelas, só as pastas Tabelas do Sistema e as FileTable vazias, o tamanho do arquivo .mdf é de 5.77mb.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.