Ads 468x60px

Perfil

jueves, 30 de julio de 2015

Restaurar base de datos con un archivo (.mdf) en MS SQL Server

Por azares del destino tenĂ­a que abrir una base de datos en SQL Server, obtuve dos archivos. Uno con extensiĂłn .MDF y otro con extensiĂłn .LDF. No tenĂ­a ni idea (no manejo SQL Server) de que tipo de archivo era, de que versiĂłn, etc. Sin embargo investigando pude abrir los datos. Lo que describo a continuaciĂłn puede sonar muy obvio para quienes manejan ms sql server, sin embargo en mi caso fue la primera vez.
Para lograr abrirla esto fue lo que hice (es posible reproducirlo).
InstalĂ© VirtualBox (en una máquina con OS X) para poder ejecutar Windows XP como máquina virtual, este paso obviamente se puede saltar si se cuenta con una PC. DespuĂ©s de instalar VirtualBox le instalĂ© una copia de Windows XP y luego le instalĂ© SQL Server 2008 R2 Express.

Ingredientes

  • Windows XP Virtualizado (VirtualBox) - este paso es opcional.
  • DescarguĂ© SQL Server 2008 R2 Express - gratuito con una base de datos hasta 10 GB
  • El paquete anterior pide 3 requisitos: .NET Framework 3.5 SP1, Windows Installer 4 y Windows Powershell. Los tres productos se pueden descargar de forma gratuita desde la página de Microsoft, sin embargo te pide validar tu copia de Windows (powershell).

InstalaciĂłn de SQL Server

En el primer paso (Setup Support Rules) te pide tener Windows PowerShell. Hay que descargarlo e instalarlo, una vez instalado elegimos la opciĂłn "re-run" para que vuelva a verificar que la instalaciĂłn cumple con los requisitos.
De allí en adelante es ir dando click en Siguiente hasta el paso de "Server Configuration" donde hay que asignar el usuario que ejecutará la base de datos, en mi caso elegí "Use the same account for all SQL Server services", en este caso elegí un usuario que hice específicamente para esta opción. Aquí solo cabe mencionar que el usuario debe tener una contraseña (como usuario de windows), porque si no no deja continuar. Luego en "Database Engine Configuration" en el modo de autentificación (por conveniencia) elegí "Mixed mode". Después de eso en teoría debe terminarse la instalación y ejecutarse el servidor.

Carga de la DB

Ejecutamos SQL Management Studio, nos conectamos a la instancia de base de datos y elegimos DATABASES - System Databases - master. Dentro de master pulsamos botĂłn derecho y elegimos "new query". Digamos que tenemos los archivos RESPALDO.mdf y RESPALDO.ldf. Lo que haremos es crear una base de datos con el mismo nombre (RESPALDO) y le indicaremos los archivos a almacenar, como sigue:
USE master
GO
CREATE DATABASE RESPALDO
ON 
( NAME = RESPALDO_dat,
   FILENAME = 'C:\tmp\RESPALDO.mdf',
   SIZE = 100,
   MAXSIZE = 500,
   FILEGROWTH = 5 )
LOG ON
( NAME = RESPALDO_log,
   FILENAME = 'C:\tmp\RESPALDO.ldf',
   SIZE = 50MB,
   MAXSIZE = 1500MB,
   FILEGROWTH = 5MB )
GO
En este caso, estamos creando la base de datos e indicándole donde almacenará que archivos. En el ejemplo estoy usando C:\tmp pero puede ser otra ubicaciĂłn. Si todo sale bien nos dirá que fue completado y nos salimos de Management Studio. Entramos a Panel de Control - Herramientas administrativas - Servicios y buscamos "SQL Server (SQLEXPRESS)" y detenemos el servicio. Ahora, COPIAMOS nuestros archivos RESPALDO.mdf y RESPALDO.ldf en C:\tmp, sobreescribiendo los que creĂł la base de datos. Una vez reemplazados abrimos servicios de nuevo e iniciamos el servicio SQL Server.
¡Eso es todo! abrimos de nuevo el Management Studio y ya deberĂ­amos tener la base de datos RESPALDO con sus tablas, vistas, etc. Ya tenĂ­endolo allĂ­, hay muchas formas de que podemos extraer los datos como por ejemplo en mi caso, para migrarlos a MySQL.
Por supuesto cabe mencionar que esto funcionĂł para mi y desde un entorno "nuevo", no creo que sea recomendable hacerlo en un ambiente de producciĂłn y recuerda tener siempre respaldos.
El post original donde encontrĂ© como cargar la DB está aquĂ­.

0 comentarios: