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.