Buenas...
Nunca se me ha dado este error, pero hay algunos sitios donde hablan de el y en el 90% de los casos no es por un problema del servidor.
Código:
IF Cursor_Status('variable', '@pepe_cursor') < 0
DEALLOCATE @pepe_cursor
ELSE
... abro el cursor y demas ...
De la Ayuda del SQL:
Código:
CURSOR_STATUS
(
{ 'local' , 'cursor_name' }
| { 'global' , 'cursor_name' }
| { 'variable' , 'cursor_variable' }
)
Argumentos
'local'
Especifica una constante que indica que el origen del cursor es un nombre local de cursor.
'cursor_name'
Es el nombre del cursor. Un nombre de cursor debe ajustarse a las reglas para los identificadores.
'global'
Especifica una constante que indica que el origen del cursor es un nombre global de cursor.
'variable'
Especifica una constante que indica que el origen del cursor es una variable local.
'cursor_variable'
Es el nombre de la variable de cursor. Una variable de cursor debe definirse mediante el tipo de datos cursor.
Tipos devueltos
smallint
1 = El conjunto de resultados del cursor tiene al menos una fila y:
Para los cursores de conjuntos de claves y que no distinguen, el conjunto de resultados tiene al menos una fila.
Para los cursores dinámicos, el conjunto de resultados puede tener cero, una o más filas.
0 = El conjunto de resultados del cursor está vacío.*
-1 = El cursor está cerrado.
-2 = No aplicable.
-3 = No existe ningún cursor con el nombre indicado.