Skip to content

Backup del esquema de bases de datos en SQL Server

11/10/2012
SQLServerLogo

En una nota previa mencionaba las ventajas de contar con un backup de toda la estructura y los objetos de nuestras bases de datos (esquema o metadatos). Estas ventajas se hacen más claras en un entorno de desarrollo, donde es mucho más importante contar con un resguardo para los últimos procedimientos almacenados, funciones, triggers o nuevas tablas creadas que proteger los datos de este entorno, que son generalmente de prueba y no revisten importancia alguna.

En esta misma nota les presentaba una solución para realizar este tipo de backup en un servidor SQL Server 2000 mediante VBScript. En esta nueva nota les presentaré una solución que permite realizar el backup completo del esquema de múltiples bases de datos, para las versiones de SQL Server de 2005 en adelante (2005/2008/2008R2 y 2012). La solución se basa en una aplicación de consola desarrollada en Visual Basic.NET que referencia la librería de objetos de administración del SQL Server (SQL Server Management Objects/SMO) y utiliza la clase Transfer del namespace Microsoft.SqlServer.Management.Smo para finalmente invocar al método ScriptTransfer. El mencionado método nos da como resultado un script completo para la creación de una base de datos, conteniendo todos los objetos definidos en ella, como usuarios, assemblies, tablas, stored procedures, funciones, constraints y demás. Si estudian el código de la aplicación verán que es muy simple adaptarlo a cualquier necesidad.

El código y archivos de solución completos, para Visual Studio.NET 2008 y Microsoft.NET Framework 3.5 lo pueden descargar desde aqui:

Una aplicación para la generación de un script de backup de bases de datos SQL Server

Tengan en cuenta que la aplicación funciona sin modificación alguna ejecutándose en un servidor que tenga instalado SQL Server 2008.  Si usamos SQL Server 2005 o SQL Server 2012, deberemos reemplazar en el proyecto las referencias a la librería SMO por la correspondiente a la versión de SQL Server a usar. La información sobre como hacer este cambio para utilizar la aplicación en SQL Server 2012 la pueden encontar en el siguiente artículo: Migrating SMO Applications. El usuario que ejecute la aplicación deberá tener permisos de acceso a las bases de datos SQL Server que se desean proteger a partir de un login de seguridad integrada.

Para invocar el proceso de generación del script de backup se utiliza la siguiente sintaxis:

backupscript NombreBase1,NombreBase2,…,NombreBasen CarpetaDestino

Por ejemplo:

backupscript ERPDesarrollo,CRMDesarrollo  E:\BackupSchema

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: