Como recolocar o banco de dados sql 2008 sem o fluxo de arquivos?

1

Eu tenho um banco de dados do SQL 2008 que tinha um fluxo de arquivos. Infelizmente, tudo que tenho são os arquivos .mdf e .ldf. Eu não tenho mais acesso ao arquivo .hdr do fluxo de arquivos ou qualquer coisa que esteja nesse diretório.

Normalmente, você pode simplesmente reconectar o banco de dados a um novo servidor; mas o servidor sql se recusa a fazer isso.

A mensagem de erro que recebo é
Não é possível abrir o arquivo físico "c: \". Erro do sistema operacional 2: "2 (o sistema não pode encontrar o arquivo especificado.)".

Esse erro aparece quando tento usar o comando DDL para CREATE DATABASE FOR ATTACH.

Qual é o truque?
Obrigado

    
por NotMe 02.11.2009 / 19:19

2 respostas

1

Resposta curta: um banco de dados é parafusado SE você está perdendo os dados do fluxo de dados. Eu tentei praticamente tudo sob o sol e você não pode anexar um banco de dados que tenha uma dependência de fluxo de arquivos sem o arquivo filestream.hdr original.

Você pode chegar ao ponto em que está no modo de recuperação, mas isso não permitirá que você chegue às tabelas. Tudo o que nos importava era a estrutura.

Felizmente, tivemos um backup. Ele estava localizado em uma unidade que havia sido desconectada após a reinstalação do servidor. O cara da rede foi espancado verbalmente naquele.

Armado com o arquivo .hdr e tudo mais nesse diretório, conseguimos anexar o banco de dados ao servidor sem problemas.

O ponto é: se você estiver usando o FILESTREAM, precisará obter os dados do fluxo, além de todos os arquivos de dados normais, caso contrário, não será possível reconectá-los.

    
por 03.11.2009 / 15:59
0

No SQL 2K5, isso aconteceu.

Eu crio um novo db, nomeie o que você quiser. coloque-o offline, vá para as preferências e anexe os arquivos .mdf e .ldf como substitutos. Funcionou para mim algumas vezes, mas não tenho certeza no SQL 2k8.

Boa sorte

    
por 02.11.2009 / 19:51