sábado, 4 de octubre de 2014

Visual Studio 2012 Backup and Restore bases de datos

 

Este post será de utilidad para aquellos que como yo, no pueden contar con SQL Server Management Studio en su ambiente de Windows 8 y Visual Studio 2012 instalados. Al intentar instalar el SQL Server Management Studio, sale un error, durante el proceso de instalación, donde se indica que se debe activar la característica de Windows asociada al ASP:NET 3.5. Traté muchas cosas y no pude realizar la instalación. Cabe anotar que mi Windows 8 está en una máquina virtual, por lo que las soluciones que publican en Internet es posible que nunca me funcionen.

La idea o problema que tengo, afortunadamente, no es que deba instalar el SQL Server Management Studio, mi problema es interactuar con la instancia de SQLEXPRESS que sí pude instalar. Lo que deseo es probar un despliegue de una aplicación MVC. Desde fuentes funciona bien porque se conecta a la Base de datos que hay en el servidor de desarrollo LocalDB, nuevo concepto en Visual Studio 2012, para permitir la interación con datos. Sin embargo, en el despliegue, no se reconoce el Servidor asociado a LocalDB, por lo cual la necesidad es instalar la BD en la instancia de SQLEXPRESS a donde si se puede conectar la aplicación, en el despliegue realizado.

La idea entonces es pasar la BD que hay en la LocalDB de Visual Studio 2012 a la instancia de SQLEXPRESS.

Encontré la forma y es:

1. Sacar un backup de la Base de datos que nos interesa, usando la instrucción:

use IURIS
GO
BACKUP DATABASE IURIS TO DISK = 'C:\Dirtrab\Temp\IURIS.bak'
GO

Este comando se ejecuta, en la ventana de new query, asociada al menú SQL –> Transact-SQL Editor –> New query

2, Conectarse usando Visual Studio 2012 a la instancia de SQLEXPRESS

VS2012BackRestore1

Nos conectamos a la BD master´.

Seleccionamos la conección y de nuevo elegimos una ventana asociada a New Query:

VS2012BackRestore2

3. Ejecutamos el comando Restore de esta forma:

RESTORE FILELISTONLY FROM DISK = 'C:\Dirtrab\Temp\IURIS.bak'
GO

RESTORE DATABASE IURIS FROM DISK = 'C:\Dirtrab\Temp\IURIS.bak'
WITH
   MOVE 'IURIS' TO 'C:\Program Files\Microsoft SQL Server\MSSQL11.SQLEXPRESS\MSSQL\DATA\IURIS.mdf',
   MOVE 'IURIS_log' TO 'C:\Program Files\Microsoft SQL Server\MSSQL11.SQLEXPRESS\MSSQL\DATA\IURIS.ldf'
GO