DotNetcr.com
Si deseas hacer un intercambio de links con DotNetcr, escríbenos aquí
Recibe las actualizaciones vía RSS
Te invitamos a unirte en nuestras redes
   http://www.facebook.com/DotNetcr
   http://www.twitter.com/dotnetcr

Control de versiones sobre bases de datos SQL Server 2000/2005

Por hertino17 | 4/30/2006 | Visitas 13,262 | Voto 4.00
Al construir aplicaciones de este u otro tipo, se utiliza una herramienta de control de versiones que permita administrar las distintas versiones de cada componente desarrollado. Este sistema debería ser implementado para las diversas capas del sistema.
Categorías : SQL Server, Otros
Introducción
En los sistemas integrados diseñados para ser instalados sobre arquitecturas tecnológicas cliente/servidor, se evidencia la estructuración de las tres capas básicas de desarrollo: presentación, reglas del negocio y bases de datos.

Habitualmente al construir aplicaciones de este u otro tipo, se utiliza una herramienta de control de versiones que permita administrar las distintas versiones de cada componente desarrollado. Este sistema es implementado para la capa de presentación y de reglas del negocio, ya que estás implican la generación de código fuente, él cual es afectado por nuevas funcionalidades o por especializaciones realizadas a los usuarios.

Algunos jefes de proyectos comenten el error de dejar por fuera del control de versiones a la capa de base de datos, perdiéndose las modificaciones realizadas a las bases de datos, tablas, procedimientos almacenados, funciones o demás objetos que componen esta capa.

El control de versiones para una base de datos SQL Server podía ser implementado a través de Microsoft InterDev, pero este proceso era bastante complejo de administrar, ahora con la plataforma .Net se puede instalar esta funcionalidad sin mayores inconvenientes.

Que es un sistema de control de versión?
También conocido como CVS (control version control), es un sistema que permite administrar las versiones de los ítems incluidos en su catalogo. Comúnmente son utilizados para gestionar las versiones del código fuente, pero también pueden ser utilizados con bases de datos, documentos, imágenes y otros archivos.

Un sistema de control de versión debe incluir:
  • Un repositorio de los ítems.

  • Histórico de las acciones realizadas a cada ítem, que incluya la información básica de las acciones.

  • Administración de usuarios del sistema de control.

  • Gestión de los ítems(insertar, actualizar, eliminar o mover).


  • En el mercado se puede encontrar una gran variedad de herramientas que permiten implementar este sistema de control (Clear case, CVS, Source safe, Subversión, ....).

    En este caso vamos a utilizar la herramienta Microsoft Visual Source Safe 6.0. (cualquiera de sus actualizaciones sirve, pero es recomendable utilizar las versiones 6c, 6d o posterior).

    Este sistema incluye todas las características antes señaladas, añadiendo las siguientes funciones:

    Get latest versión: obtiene la ultima versión del ítem.
    Check out: obtiene la ultima versión y captura de manera exclusiva un ítem para ser modificado por el usuario.
    Check in: libera un ítem que fue capturado (Check out) con anterioridad y almacena los cambios en el archivo histórico.
    Undo check out: libera un item que fue capturado, pero no almacena ningun cambio.

    Preparando la estructura de practica
    Para implementar este sistema de control de versiones para bases de datos SQL Server se requiere instalar:

  • SQL Server 2000 / 2005 instalado en el servidor.

  • Microsoft .Net instalado en el cliente.
    - Opción Visual Studio Enterprise Templates.
    - Opción VS 6 Stored Procedure Version Control

  • Visual Source Safe Server instalado en el servidor.

  • Visual Source Safe Client instalado en el cliente.


  • Además restaurar la base de datos incluida con este material o instalar una base de datos de pruebas.

    Configurar el control de versiones
    1. Inicie Microsoft Visual Studio .NET.

    Cree un nuevo proyecto Seleccionando Other Projects, Databases Projects en tipos de proyecto y seleccione Proyecto de bases de datos en Plantillas.

    Seleccione el nombre y la ubicación apropiada para el proyecto.

    2. Configure la conexión al servidor y base de datos que desea incluir en el sistemas de control de versiones Source Safe.

    Seleccione apropiadamente el nombre del servidor, la información de la autenticación, la base de datos y verifique la conexión antes de cerrar esta pantalla.

    Esta operación permite que Visual Studio incluya la conexión a esta base de datos como referencia del proyecto. Visual Studio puede contener varias conexiones de datos y cualquiera de estas puede ser adicionada al proyecto como referencia.

    Las conexiones de datos se observan a través del Server Explorer, y cada conexión incluye los objetos que pueden ser referenciados por medio de esta interface (Diagramas, Tablas, Vistas, Procedimientos y Funciones).

    3. El nuevo proyecto se visualiza con la ventana Solution Explorer, incluyendo La solución .NET, el proyecto de base de datos, las referencias a bases de datos y carpetas disponibles para iniciar la creación de scripts. Estas carpetas pueden ser eliminadas, según la conveniencia del usuario.

    Para nuestro proyecto incluir una nueva carpeta la cual podemos llamar "Procedimientos", en la cual vamos a incluir los procedimientos almacenados de la base de datos referenciada.

    4. Agregar los procedimientos almacenados al proyecto.

    En el Server Explorer, seleccionar la base de datos de referencia y seleccionar todos los procedimientos almacenados.

    Luego arrastrarlos hasta la carpeta Procedimientos, ubicada en la ventana Solution Explorer, dentro del proyecto de base de datos. Esta operación solicita a Visual Studio que genere los scripts de estos procedimientos con el fin de administrar las versiones por medio de estos archivos.


    Este procedimiento dispara una pantalla que solicita la configuración de los scripts. Para lo cual se debe seleccionar solo la opción de "Generar el CREATE de cada objeto". Como se muestra a continuación.



    Al aceptar esta pantalla, se debe seleccionar la nueva ubicación física de estos archivos(scripts), la cual debe ser la misma ubicación de la carpeta Procedimientos.

    5. En este punto se tiene el proyecto completamente configurado con los objetos a adicionar al control de versiones.

    Para incluir el proyecto a Source Safe, dar clic derecho sobre el proyecto de base de datos y seleccionar el comando de adicionar la solución a Source Control.

    Esto ejecuta una pantalla que solicita los datos del servidor de Source Safe (base de datos y seguridad), el cual debe estar instalado con anterioridad. Para luego solicitar el nombre del proyecto de Source Safe que almacenara a la solución de base de datos.

    Al aceptar estas pantallas el proyecto es incluido en la base de datos de Source Safe, junto a su solución y a todos sus elementos internos, cambiando la apariencia de los archivos en el Solution Explorer.

    6. Cuando se pretenda realizar algún cambio en los procedimientos almacenados de la base de datos, se debe utilizar el menú alterno que se visualiza al dar clic derecho sobre un archivo y seleccionando la opción apropiada al caso (Check In, Check out, ...)

    Al realizar cambios sobre los procedimientos almacenados, los cambios están reflejados sobre el archivo físico, pero no sobre la base de datos; por lo tanto se debe ejecutar todos los cambios sobre la base de datos de referencia, seleccionando en el menú alterno la instrucción Run.

    7. Para adicionar un nuevo objeto al proyecto de Source Safe, se puede utilizar el sistema de arrastre utilizado anteriormente o se puede adicionar un nuevo ítem.

    Conclusión
    Microsoft .NET Framework proporciona un entorno altamente versátil, facilitando la integración con distintos sistemas y la administración de aplicaciones empresariales. Esta integración permite que se pueda unir sencillamente sistemas de bases de datos con sistemas de control de versiones, mejorando el desempeño con relación a las versiones anteriores de control de versiones.

    Aunque nos encontramos con un procedimiento sencillo de instalar y administrar, requiere que tanto el administrador del sistema Visual Source Safe, como los usuarios estén concientes del impacto generado por las acciones realizadas sobre la base de datos y sobre el control de versiones.

    _____________________

    Acerca del Autor
    Hermilson Tinoco Gaviria es Ingeniero de Sistemas graduado en la Universidad Santiago de Cali, y se desempeña como Analista de Sistemas desde hace mas de 7 años con ambientes Microsoft (VB6, .Net y SQL Server); además es instructor en la Universidad Santiago de Cali y en varios CTECs de la ciudad de Cali, Colombia. Actualmente trabaja en un sistema ERP con Sistemas de Información Empresarial, el cual se viene desarrollando desde hace más de 4 años. Desde el año 2001 es MCP, obteniendo desde entonces las certificaciones MCSD (VB6), MCAD, MCSD .NET, MCT y MCDBA; permitiéndole especializarse como consultor de aplicaciones corporativas e implementaciones de bases de datos empresariales (SQL Server y Oracle).
    Area de Comentarios
    Por grodrigo13 - Fecha: 2006/07/18 10:50 AM
    muy bueno, pero falta
    Por Anónimo - Fecha: 2006/09/27 07:32 PM
    Muy facil decir que hace falto algo, lo inteligente es decir qué hace falta grodrigo13
    Por Anónimo - Fecha: 2006/10/19 10:38 AM
    Muy bueno, lo único es que tengo algunas dudas con respecto al funcionamiento del comando RUN, porque si no borro los procedimientos almacenados no me actualiza con lo que tengo en el proyecto. ¿Existe alguna forma de que haga update?
    Gracias.
    Por Anónimo - Fecha: 2008/01/23 01:39 PM
    Muy buen trabajo me parece que el autor tiene mucha experiencia
    lo felicito
    Por Anónimo - Fecha: 2008/03/13 05:17 PM
    GRACIAS ME SIRVIO MUCHO
    Por Anónimo - Fecha: 2008/08/18 01:21 PM
    Interesante...
    Por Anónimo - Fecha: 2012/09/26 06:07 PM
    Parece mentira, pero sf3lo loalemvs unas horillas sin vosotros y ya estamos enganchados a la pe1gina deseosos de vuestras noticias y comentarios. Entiendo que todaveda es pronto y vosotros tene9is una agenda demasiado apretada, pero sf3lo quisiera que tuvie9seis en cuenta a los que como yo todaveda no se han incorporado a las nuevas tecnologedas, y envie9is algo en la forma tradicional. Aunque si os va a suponer un esfuerzo extra no os preocupe9is que ya aprenderemos. Muchos besos para todos y que dilsfrute9is de cada momento del campamento.
    Por Anónimo - Fecha: 2012/09/28 02:08 AM
    QcjXj4 , [url=http://jyysbzehhhth.com/]jyysbzehhhth[/url], [link=http://ojvtdkahedwi.com/]ojvtdkahedwi[/link], http://ppkfoykcypho.com/
    Por Anónimo - Fecha: 2012/09/29 02:15 PM
    3p4rP2 , [url=http://rqsvaeunvquu.com/]rqsvaeunvquu[/url], [link=http://igpwpgzirasf.com/]igpwpgzirasf[/link], http://epblumzxwhvc.com/
    Por Anónimo - Fecha: 2015/07/18 11:31 PM
    I was really confused, and this answered all my qusoniets.
    Ingrese su Comentario
    Comentario
    Para poder votar debe estar registrado en DotNetcr.com
    Solo queda registrado el primer voto enviado
    Voto


    Últimos Recursos
    ricardo leppe t
    pedrojavier
    CALIN
    willipinru
    richard
    ragomez
    PER 238
    MEX 236
    CRI 188
    COL 118
    ESP 105
    ARG 88