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Ă­.

ERROR: Los objetos de soporte del diagrama de base de datos no se pueden instalar.

ERROR: Los objetos de soporte del diagrama de base de datos no se pueden instalar. Esta base de datos carece de propietario válido. Para continuar, primero use la página Archivos del diálogo Propiedades de la base de datos o la instrucciĂłn ALTER AUTHORIZATION para establecer como propietario de la base de datos un inicio de sesiĂłn válido y despuĂ©s agregue los objetos de soporte del diagrama de base de datos.

PasĂ© dos horas tratando de ver el diagrama de la base de datos que ya existĂ­a y renegando.. y renegando.. recordĂ© como hacerlo, para quienes tengan este problema, les dejo la soluciĂłn…. Fue en el Sql Server 2005.
ESTE ES EL ERROR:
1
En nuestra base de datos damos click derecho y elegimos propiedades…nos aparacerá una pantalla similar, demos click en el recuadro que está al costado de PZEPP\RoGeR:
2
Un vez dentro nos aparecerá una pantalla similar..en donde escribiremos cualquier cosa.. en este caso escribĂ­ “a”… luego damos Aceptar..
3
Se nos abrirá esta página diciendo que no encontrĂł ningĂşn objeto con ese nombre… entonces dependiendo de los permisos que le hayamos asigndo a los objetos existentes elegiremos uno.. en este caso yo elegĂ­ a [sa] y luego Aceptar
4
Por Ăşltimo damos aceptar… y probamos expandir los Diagramas de Base de datos y notarán que está solucionado.
5