terça-feira, 21 de novembro de 2017

Attach de um arquivo de Banco de dados apenas com MDF

Blog: https://cristianojsantos.wordpress.com/
Normalmente faríamos este processo utilizando as seguintes sequências de telas:
Imagem01

Figura 1 – Selecionando a Opção de Attach no Banco de Dados
Imagem02
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.
Imagem03
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.
Imagem04
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
Imagem05
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.
Imagem06
Figura 6 – Banco de Dados criado e disponível no SQL Server

Nenhum comentário:

Postar um comentário