Cursores son un objeto de base de datos que permite a los programadores para recorrer los registros de las tablas . Un cursor permanece abierto hasta el programador SQL Server desasigna la memoria en el servidor. Dejar los cursores abiertos en la base de datos puede perjudicar el rendimiento del servidor. Hay una función especial en Transact SQL que proporciona al programador la capacidad de detectar los cursores abiertos . El programador comprueba el estado del cursor , y si se devuelve como abierta , el programador puede cancelar la asignación de la memoria . Instrucciones
1
Abra la consola de administración de Microsoft SQL Server. El icono para abrir el programa se encuentra en el menú Inicio de Windows en el directorio del programa "SQL Server" .
2
Abre un cursor. El código siguiente crea un nuevo cursor para probar el estado function.declare my_cur cursor
3
obtener el estado de un cursor para detectar si está abierto . Paso 2 creado el cursor , pero aún no se ha abierto . Por lo tanto , el valor de estado devuelto es " -1 . " El código siguiente comprueba el estado : seleccione CURSOR_STATUS ( 'global' , ' my_cur ' )
4
Abra el cursor y evaluar el estado de nuevo . Un valor de 1 significa que el cursor está abierto. Esta función se puede utilizar para cualquier cursor que ha creado en el servidor de base de datos. El siguiente código detecta un cursor abierto : select CURSOR_STATUS ( 'global' , ' my_cur ' ) Aunque la sintaxis es la misma que en la Etapa 3 , el valor de retorno es distinto
5
Desasigne y retire el cursor. desde la memoria de base de datos . Demasiados cursores abiertos reducen el rendimiento de la máquina . El código de abajo libera la memoria de base de datos y se cierra el cursor : deallocate my_cur