SQL Server 2005 -  Restaurando um backup via T-SQL


Situação problema : Você precisa restaurar um backup de um banco de dados feito no banco de dados SQL Server 2000 . (Aconteceu comigo)

Vamos supor que você recebeu um backup de um banco de dados feito no SQL Server 2000 e precisa restaurar o arquivo mas possui instalado somente o SQL Server 2005 Express Edition.

Vou mostrar como resolvi o problema que a princípio parecia ser simples mas que se mostrou 'cabeludo' quando tentei restaurar o arquivo diretamente.

Você recebeu um arquivo backup feito no SQL Server 2000 com o nome de flower.bak (o nome é fictício) e precisa restaurar e abrir no SQL Server 2005 Express.

Vamos supor que você copiou o arquivo flower.bak para uma pasta chamada c:\dados na sua máquina local.

Para restaurar o arquivo você vai precisar ter instalado o SQL Server 2005 Express Edition e o Management Studio.

Para saber mais sobre o assunto leia os artigos:

1- Abra o Management Studio;

2- Clique na opção New Query ou no menu File -> New -> Query with current connection ;

3- Na janela da query digite o comando :

RESTORE FILELISTONLY
            FROM DISK = 'c:\dados\flower.bak'
GO

4- Clique em Execute e você verá como resultado na janela Results a exibição do arquivo .mdf e .ldf conforme imagem abaixo;

Agora você já saber o nome lógico dos arquivos e poderá passar para a etapa seguinte.

5- Crie uma nova consulta repetindo o passo 2;

6- Digite o comando a seguir:

RESTORE DATABASE flower_Data
      FROM DISK =
'c:\dados\flower.bak'
               
WITH MOVE 'flower_Data' TO 'c:\dados\flower_Data.MDF', MOVE 'flower_log' TO
'c:\dados\flower_Log.LDF'

Os nomes flower_Data.MDF e flower_Log.LDF foram escolhidos sem nenhum critério específico. Poderia ter usado qualquer nome.

7- Clique em Execute e você deverá ver as mensagens referente a restauração do seu backup;

8- Verificando a pasta c:\dados iremos verificar os arquivos restaurados;

9- Executando um Refresh no Object Explorer e expandindo os objetos de banco de dados e você verá o arquivo flower_Data restaurado conforme figura abaixo;

Como você acabou de testemunhar dois comandos T-SQL simples resolveram o problema.

Obs: Se você precisar usar o banco no modo Multi-User use o seguinte comando criando uma nova consulta:

ALTER DATABASE flower_Data SET MULTI_USER
GO

Até breve...

Eu sei é apenas .NET mas eu gosto ...


José Carlos Macoratti