Exportar Procedimiento almacenado SQL a un Archivo y Generar Su Script

En artículos anteriores, hemos revisado un algoritmo general de búsqueda y eliminación de transacciones abiertas incompletas en bases de datos de SQL Server, hemos creado una tabla para corregir transacciones incompletas y un procedimiento almacenado en CRUD, e implementado numerosas configuraciones que harán que nuestro flujo de trabajo de documentos sea productivo y práctico.

Ahora exportemos y probemos un procedimiento almacenado, generemos su código y lo convirtamos en un script: se ejecutará en cualquier host o grupo de hosts especificando los parámetros de entrada adecuados.

Exportar procedimiento almacenado en SQL Server

También puede ser muy útil generar un script para crear los objetos de base de datos necesarios, por ejemplo, generar un script para exportar un procedimiento almacenado a un archivo o copiar el procedimiento almacenado a otras soluciones. Para hacer esto, siga los siguientes pasos:

  • En el Explorador de objetos, haga clic con el botón derecho en su base de datos
  • Seleccione Tareas en el menú contextual que aparece
  • Seleccione el comando Generar scripts
Seleccionar el comando Generar scripts
Fig. 1 Seleccionar el comando Generar scripts
  • Seleccione los objetos a escribir
Seleccionar los objetos que desea escribir
Fig. 2 Seleccionar los objetos que desea escribir
  • En la ventana Establecer opciones de Scripting, seleccione Script en archivo
Seleccionar Script Para Archivo
Fig 3. Seleccionar Script Para Archivar
  • Ejecute el script generado en la base de datos de destino.

Cuando se realicen todos estos pasos, obtendremos un script generado del procedimiento almacenado exportado.

Probando un procedimiento almacenado

Volvamos a un procedimiento almacenado que hemos creado en la parte 2. Si arrastramos el cursor a un procedimiento almacenado, aparecerá un menú desplegable:

El menú desplegable procedimiento almacenado
Fig 4. El menú desplegable procedimiento almacenado

Para que funcione correctamente, el procedimiento almacenado debe tener una descripción. Si aún no se ha agregado, ejecute el siguiente script:

EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Identification of frozen transactions (forgotten ones that do not have active requests) with their subsequent removal' , @level0type=N'SCHEMA',@level0name=N'srv', @level1type=N'PROCEDURE',@level1name=N'AutoKillSessionTranBegin'
GO

O elija las propiedades extendidas del objeto:

 Añadir la descripción del procedimiento almacenado
Fig.5 Adición de la descripción del procedimiento almacenado

También puede agregar una descripción utilizando este método.

Generación de código de procedimiento almacenado

Puede llamarlo con un clic derecho en el menú desplegable de un procedimiento almacenado y, a continuación, seleccione «Objeto Script como CREAR / MODIFICAR»:

Seleccionar
Fig.6 Seleccionando el «Objeto Script como CREAR / ALTERAR» en el menú contextual

Una vez hecho esto, aparecerá un script para el cambio de objeto, en nuestro caso, será el cambio de procedimiento almacenado. Si no hay ningún objeto, habría un script para crearlo. Este script se puede mover fácilmente a las instancias adecuadas de MS SQL Server.

Convertir el código de procedimiento almacenado en un script

Puede seleccionar «Convertir EXEC a Script» en un menú desplegable:

Seleccionar
Fig.7 Seleccionando el comando» Convertir EXEC a Script » en el menú principal Completo de SQL

En lugar de llamar a un procedimiento almacenado, se creará un script, los parámetros de entrada se convertirán en variables y el contenido del procedimiento almacenado se convertirá en un script. Es una característica útil al probar su código:

El resultado de crear un script a partir de un procedimiento almacenado
Fig.8 El resultado de crear un script a partir de un procedimiento almacenado

Ahora puede ejecutar el script derivado en cualquier host o grupo de hosts estableciendo los valores adecuados de los parámetros de entrada.

Historial de creación de consultas

Ahora revisemos otra funcionalidad importante: SQL Complete: Historial de ejecución que muestra las consultas anteriores. Para hacer esto, haga clic en el botón SQL Complete: Historial de ejecución:

Elegir el
Fig.9 Al elegir el comando «Historial de ejecución» en el menú principal Completo de SQL

Verá la siguiente ventana:

La visualización de los scripts ejecutados
Fig.10 La visualización de los scripts ejecutados

La esquina superior izquierda de la ventana contiene filtros para palabras y rango de tiempo, mientras que la esquina derecha muestra el número de consultas que se encontraron en función de los datos ingresados en el filtro. La parte inferior de la ventana muestra la consulta seleccionada de la tabla.

La tabla consta de las siguientes columnas:

  1. Estado: muestra si una consulta se completó correctamente (marca de verificación blanca en un círculo verde) o no (cruz blanca en un círculo rojo)
  2. Texto de consulta: muestra el texto de la consulta
  3. Tamaño (Bytes): muestra el tamaño medido en bytes
  4. Ejecución Activada: muestra la fecha y hora en que se ejecutó una consulta
  5. Duración – muestra el tiempo que tardó una consulta en ejecutarse
  6. Archivo – muestra el nombre del archivo y una ruta completa a él
  7. Servidor – muestra el nombre del servidor
  8. Usuario – muestra un usuario que ejecutó un script
  9. base de datos en la que se ejecutó un script

La búsqueda de las columnas «QueryText» y «Execution On» se realiza en los filtros «Search» y «From/To».

También puede ordenar las columnas de datos en orden ascendente o descendente haciendo clic en el encabezado de una columna adecuada. De forma predeterminada, la ordenación de columnas «Ejecución en» está habilitada en orden descendente.

Puede ordenar varias columnas al mismo tiempo manteniendo pulsado un botón MAYÚS. También puede configurar filtros más complejos haciendo clic en el signo de filtro:

Configuración del filtrado de columnas
Fig.11 Configuración del filtrado de columnas

Ahora introduzcamos nuestro nombre de procedimiento almacenado «AutoKillSessionTranBegin» en el filtro» Buscar»:

 Búsqueda de procedimientos almacenados en
Fig.12 Búsqueda de procedimientos almacenados en la pestaña» Historial de ejecución »

Como resultado, obtenemos un historial de creación completo del srv.Autokillsessitranbegin procedimiento que se describió anteriormente.

Si hace clic con el botón derecho en una fila de tabla adecuada, puede abrir un script en una nueva ventana o copiarlo en el portapapeles para pegarlo donde sea necesario:

Copiar el script seleccionado de
Fig.13 Copiando el script seleccionado desde la pestaña» Historial de ejecución »

Puede abrir un script en una nueva ventana haciendo doble clic en el script deseado en una fila de tabla.

También puede especificar durante cuánto tiempo se almacena el historial de ejecución, el tamaño máximo de la consulta y la ruta de almacenamiento del historial:

El
Fig.14. La configuración del comando» Historial de ejecución » en SQL Complete

Puede leer más detalles sobre la funcionalidad del Historial de ejecución aquí.

Eso es todo, amigos. La nueva funcionalidad ha sido desarrollada, probada y trasladada a las instancias adecuadas de MS SQL Server.

  • Autor
  • Publicaciones recientes
Evgeniy Gribkov

Evgeniy Gribkov

Evgeniy es un analista, desarrollador y administrador de bases de datos de MS SQL Server. Participa en el desarrollo y las pruebas de las herramientas de gestión de bases de datos de SQL Server. Evgeniy también escribe artículos relacionados con SQL Server.

Evgeniy Gribkov

Últimos mensajes de Evgeniy Gribkov (ver todos)

  • Creación de Procedimientos almacenados para Eliminar Tablas Temporales Locales en SQL Server – 16 de junio de 2021
  • Repositorio de Control de Código Fuente de Enlace Dedicado-6 de mayo de 2021
  • Control de versiones de base de datos mediante Control de Código Fuente para SQL Server-Mayo 5, 2021

sql completo, sql server, transacciones de sql server, procedimiento almacenado sql

Leave a Reply

Tu dirección de correo electrónico no será publicada.