martes, 7 de noviembre de 2017

SQL Server DBCC dllname (FREE)

Comando DBCC dllname (FREE)

Ya hemos indicado, cuando se inició con los Comandos DBCC, que este comando, perteneciente al grupo de misceláneos, que descarga un procedimiento almacenado extendido especificado DLL de la memoria. Es importante indicar que cuando se ejecuta un procedimiento almacenado extendido, la DLL permanece cargada por la instancia de Microsoft SQL Server hasta que el servidor se cierra. Este comando permite que se pueda descargar de la memoria una DLL sin tener que cerrar Microsoft SQL Server. Para mostrar los archivos DLL cargados que actualmente están en el servidor de Microsoft SQL Server, se sugiere la ejecución de sp_helpextendedproc.

Dentro de los comandos de DBCC, este comando en particular no tiene interacción con las bases de datos, por ello no se requiere que se establezca un uso previo. La sintaxis de este comando en su forma más simple y que se usa más a menudo es:

DBCC dll_name (FREE)

Como puede apreciarse se lleva a cabo la descarga del procedimiento almacenado extendido denominado dll_name. 
Existe una opción que pueden ser utilizada con el comando, ésta es:

WITH NO_INFOMSGS
Suprime todos los mensajes informativos.

Ejemplos de DBCC dllname (FREE)


Mostraré algunos ejemplos de uso de este comando:

DBCC sp_inicio (FREE)

Daremos por supuesto que sp_inicio se encuentra definido sobre sp_inicio.dll, de tal forma que éste comando efectuará la descarga del archivo sp_inicio.dll asociado con el procedimiento extendido sp_inicio.

DBCC sp_inicio (FREE) WITH NO_INFOMSGS

Este comando efectuará la descarga como en el ejemplo anterior, sin mostrar los mensajes informativos.

Comentarios

Si bien, se indicado que se lleve a cabo la ejecución de sp_helpextendedproc para obtener un listado de los archivos dll que se encuentran definidos y el nombre de la librería de enlace dinámico (ddl) al que el procedimiento pertenece. Si por ejemplo lo ejecutamos en la  base de datos master, podíamos obtener algo como lo que se muestra a continuación:

name
dll
xp_availablemedia
xpstar.dll
xp_cmdshell
(server internal)FILESTREAM stores binary large objects (BLOBS) on the file system.

Si observamos el procedimiento xp_availablemedia tiene asociada la líbreria xpstar.dll, en este caso el uso del comando DBCC xp_availablemedia (FREE) descargara de memoria xpstar.dll asociado. Sin embargo la ejecución DBCC xp_cmdshell (FREE) no descargara de memoria, ya que es un procedimiento interno.
Microsoft ha indicado que el procedimiento sp_helpextendedproc será depreciado en el futuro, habrá que validar su uso.



No hay comentarios.:

Publicar un comentario