quinta-feira, 2 de maio de 2013

Atachando um arquivo de Banco de dados MDF sem o Arquivo de Log no SQL Server


Olá a todos.

Após um pequeno tempo sem escrever no Blog, trago mais um artigo com uma necessidade que tive e então, resolvi compartilhar.

Recentemente necessite anexar um Banco de dados no Servidor SQL Server que trabalho, porém, somente foi entregue para mim o arquivo MDF e sem o arquivo de LOG para que eu pudesse atachá-lo junto.

Para enfatizar este artigo, usarei como exemplo o arquivo MDF sem os LOGs da base de Dados AdventureWorksDW2012, que por sua vez pode ser baixado no seguinte endereço:

- AdventureWorksDW2012: http://msftdbprodsamples.codeplex.com/downloads/get/165405

Normalmente faríamos este processo utilizando as seguintes sequências de telas:

Figura 1 – Selecionando a Opção de Attach no Banco de Dados

Figura 2 – Selecionando o arquivo MDF do Banco de dados que iremos atachar.

Desta forma, ao selecionarmos nosso banco de dados, conforme veremos na Figura 3 abaixo, o mesmo somente terá o arquivo MDF sendo informado, onde, para o Arquivo de Log, aparece uma mensagem ao lado direito da indicação do caminho do arquivo, informando que o mesmo não fora localizado.

Se tivéssemos o arquivo LOG disponível no computador/servidor, bastaria somente informarmos seu local de origem.

Figura 3 – Apresentando o arquivo MDF sem o Log informado.

Para resolvermos este problema, poderemos agir de duas formas, sendo a primeira:

- Removendo via Tela do SSMS a informação do arquivo de Log, selecionando o mesmo na tela que estamos utilizando para atachar o arquivo, conforme a Figura 4 demostra.

Figura 4 – Removendo o arquivo de Log pelo SSMS

- Executando uma query com a Procedure sp_attach_single_file_db, que espera receber dois parâmetros:

@dbname nvarchar(128): Nome do Banco de Dados

@physname nvarchar(260): Caminho de origem do arquivo MDF do Banco de Dados

No final, a query será interpretada da seguinte forma:

EXEC sp_attach_single_file_db
@dbname=’AdventureWorksDW2012′,@physname=’D:\Software\SQL Server\MSSQL11.SQLBI01\MSSQL\DATA\AdventureWorksDW2012_Data.mdf’

GO

Figura 5 – Executando a query que irá atachar o banco de Dados AdventureWorksDW

Após, o banco de dados será criado e já estará disponível no SSMS, conforme Figura 6 abaixo.

Figura 6 – Banco de Dados criado e disponível no SQL Server

Só como Observação, este bancp de Dados do AdventureWorksDW é um modelo utilizado nos estudos do ambiente de BI da Microsoft, estando também disponível na versão do SQL Server 2008 R2.

Bons estudos.

Nenhum comentário:

Postar um comentário