Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En este tema se describe cómo configurar la opción de configuración del servidor de umbral de cursor en SQL Server 2014 mediante SQL Server Management Studio o Transact-SQL. La opción de umbral de cursor especifica el número de filas del conjunto de cursores donde se generan de manera asincrónica los conjuntos de claves del cursor. Cuando los cursores generan un conjunto de claves para un conjunto de resultados, el optimizador de consultas calcula el número de filas que se va a devolver para ese conjunto de resultados. Si el optimizador de consultas calcula que el número de filas devuelto es superior a este umbral, el cursor se genera de manera asincrónica, lo que permite al usuario capturar las filas del cursor mientras sigue llenándose. De lo contrario, el cursor se genera de manera sincrónica y la consulta espera a que se devuelvan todas las filas.
En este tema
Antes de empezar:
Para configurar la opción de umbral de cursor, use:
Seguimiento:Después de configurar la opción de umbral de cursor
Antes de empezar
Limitaciones y restricciones
SQL Server no es compatible con la generación asíncrona de cursores de Transact-SQL estáticos o controlados por conjuntos de claves. Las operaciones de cursor de Transact-SQL como OPEN o FETCH se procesan por lotes, por lo que la generación asincrónica de cursores de Transact-SQL no es necesaria. SQL Server sigue admitiendo los cursores de servidor de la interfaz de programación de aplicaciones (API) estáticos o controlados por conjuntos de claves asincrónicos en los que OPEN de baja latencia es un problema, debido a los recorridos de ida y vuelta al cliente para cada operación del cursor.
La precisión del optimizador de consultas para determinar una estimación del número de filas de un conjunto de claves depende del grado de actualización de las estadísticas de cada una de las tablas del cursor.
Recomendaciones
Esta opción es una opción avanzada y solo debe cambiarla un administrador de base de datos experimentado o un técnico certificado de SQL Server.
Si establece el valor -1 para el umbral de cursor , todos los conjuntos de claves se generan de manera sincrónica, lo que beneficia a los conjuntos de cursores pequeños. Si establece el valor 0 para cursor threshold , todos los conjuntos de claves del cursor se generan de manera asincrónica. Con otros valores, el optimizador de consultas compara el número de filas esperadas del conjunto de cursores y genera asincrónicamente el conjunto de claves si supera el número establecido en cursor threshold. No establezca un valor demasiado bajo para el umbral de cursor , ya que los conjuntos de resultados pequeños se generan mejor de manera sincrónica.
Seguridad
Permisos
De forma predeterminada, todos los usuarios tienen permisos de ejecución en sp_configure sin ningún parámetro o solo con el primero. Para ejecutar sp_configure con ambos parámetros y cambiar una opción de configuración, o para ejecutar la instrucción RECONFIGURE, un usuario debe tener el permiso ALTER SETTINGS en el servidor. Los roles fijos de servidor sysadmin y serveradmin tienen el permiso ALTER SETTINGS de forma implícita.
Uso de SQL Server Management Studio
Para configurar la opción cursor threshold
En el Explorador de objetos, haga clic con el botón derecho en un servidor y seleccione Propiedades.
Haga clic en el nodo Avanzado .
En Varios, cambie la opción Umbral de cursor al valor que desee.
Usar Transact-SQL
Para configurar la opción cursor threshold
Conéctese con el Motor de base de datos.
En la barra Estándar, haga clic en Nueva consulta.
Copie y pegue el siguiente ejemplo en la ventana de consulta y haga clic en Ejecutar. En este ejemplo se muestra cómo usar sp_configure para establecer la opción de
cursor thresholden0con el fin de generar conjuntos de claves del cursor de forma asincrónica.
USE AdventureWorks2012 ;
GO
EXEC sp_configure 'show advanced options', 1 ;
GO
RECONFIGURE
GO
EXEC sp_configure 'cursor threshold', 0 ;
GO
RECONFIGURE
GO
Para obtener más información, vea Opciones de configuración de servidor (SQL Server).
Seguimiento: Después de configurar la opción de umbral de cursor
La configuración surte efecto inmediatamente, sin necesidad de reiniciar el servidor.
Consulte también
@@CURSOR_ROWS (Transact-SQL)
RECONFIGURE (Transact-SQL)
Opciones de configuración de servidor (SQL Server)
sp_configure (Transact-SQL)
UPDATE STATISTICS (Transact-SQL)