Tecnología

Inicio

Cómo comprobar abiertos cursores

Cómo comprobar abiertos cursores


Los cursores son un objeto de base de datos que permite a los programadores bucle a través de los registros en las tablas. Un cursor permanece abierto hasta el programador de SQL Server desasigna la memoria en el servidor. Dejando cursores abiertos en la base de datos puede perjudicar el rendimiento del servidor. Hay una función especial en la instrucción Transact-SQL que da al programador la capacidad de comprobar que no existen los cursores abiertos. El programador comprueba el estado del cursor, y si se devuelve como abierta, el programador puede anular la planificación de la memoria.

Instrucciones

1 Abra la consola 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 Abrir un cursor. El código siguiente crea un nuevo cursor para probar la función de estado.
declarar my_cur cursor

3 Obtener el estado de un cursor para detectar si está abierto. Paso 2 crea el cursor, pero no está abierto todavía. Por lo tanto, el valor de estado de retorno es "-1". El código siguiente comprueba el estado:
seleccione cursor_status ( 'global', 'my_cur')

4 Abrir el cursor y evaluar el estado de nuevo. Un valor de retorno 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:
seleccione cursor_status ( 'global', 'my_cur')
A pesar de que la sintaxis es la misma que en la Etapa 3, el valor de retorno es diferente.

5 Desasignar y quitar el cursor de 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