sábado, 2 de agosto de 2014

[SQL Server] Generar script (para respaldar procedimientos, funciones, etc)


Este procedimiento simplifica bastante el sacar respaldos de algunas tablas, procedimientos y funciones de la base de datos, o para seleccionar desde la BD de pruebas para llevar a producción.

El proceso es sencillo pero hay un par de consideraciones a tomar en cuenta:

Esta opción se encuentra dándole anti-clic (clic derecho) a la base de datos que se desea trabajar:
Ir a la opción Tareas à Generar Script...



En primer lugar, aparece el diálogo "Seleccionar base de datos" para escoger de qué base de datos se copiarán los archivos.

Luego aparece el diálogo "Elegir opciones de script", en donde el único cambio recomendable es "Incluir IF NOT EXISTS", y ponerlo como verdadero.
Esta opción se complementa con la opción 5 líneas arriba: "Generar script CREATE" también verdadero.
Con esto, se evita que salte un error al intentar crear tablas, procedimientos o funciones que ya existen en BD.


El siguiente diálogo es "Elegir tipos de objeto", donde se indica que elementos se copiarán en el script: Procedimientos almacenados, tablas, tipos de tablas y funciones definidas por el usuario son los más comunes.
A continuación, aparecerá un diálogo por cada opción elegida en la ventana anterior, donde se escogerán cada uno de los elementos a respaldar.

Finalmente, el último diálogo es "Opción de salida", donde se debe indicar si se generará el script en un archivo, en una nueva ventana de consulta en el IDE, o copiarlo temporalmente al portapapeles.
Lo más recomendable es generar un archivo físico, indicando en el nombre que se está generando un script de CREATE, y agregando algunos parámetros (nombre de usuario, fecha de creación, etc)


Al darle clic en el botón Finalizar, si no hay ningún errores de inconsistencia (elementos referenciando a tablas eliminadas, por ejemplo).

Como buenas prácticas -dado que el elemento a respaldar puede ya existir-, se puede copiar ese archivo, reemplazarlo por un script de ALTER, y cambiar internamente los:
IF NOT EXISTS - CREATE por IF EXISTS - ALTER.


Recibe en tu correo electrónico las últimas actualizaciones de éste blog:
Ingrese su e-mail:
(y no olvide confirmar su suscripción)
También me encuentras en facebook. También en twitter. También en tumblr.

No hay comentarios.:

Publicar un comentario