Variables de entorno local
Puede cambiar el comportamiento del Agente de Microsoft SQL Server configurando las variables de entorno local.
Variables para comprobar la disponibilidad del servicio de SQL Server
- COLL_MSSQL_RETRY_INTERVAL: Esta variable proporciona el intervalo de reintento (en minutos) para comprobar el estado de servicio de SQL Server. Si el valor es menor que o igual a cero, la variable toma el valor predeterminado de 1 minuto.
- COLL_MSSQL_RETRY_CNT: Esta variable proporciona el número de reintentos que el agente de SQL Server realiza para comprobar si el servicio de SQL Server se ha iniciado o no. Si el servicio de SQL Server no se ha iniciado después del número de reintentos especificado en esta variable, el recopilador deja de funcionar. Si el valor de la variable es menor que o igual a cero, la variable toma el valor predeterminado de infinito.
Variables para supervisar el archivo de registro de errores de SQL Server
- COLL_ERRORLOG_STARTUP_MAX_TIME: esta variable proporciona el intervalo de tiempo (T) para la recopilación de errores antes del inicio del agente. El valor predeterminado es 0 minutos. Esta variable puede tener los siguientes valores:
- COLL_ERRORLOG_STARTUP_MAX_EVENT_ROW: esta variable proporciona el número máximo de errores que se deben procesar cuando se inicia el agente. El valor predeterminado es 0. Puede asignar los valores siguientes a esta variable:
- COLL_ERRORLOG_MAX_EVENT_ROW: Esta variable proporciona el número de filas de errores. El valor predeterminado es 50. Puede asignar los valores siguientes a esta variable:
- COLL_ERRORLOG_RECYCLE_WAIT: Esta variable proporciona el intervalo de tiempo (en segundos) durante el que el Agente de Microsoft SQL Server espera antes de recopilar datos del grupo de atributos Detalles de sucesos de error de MS SQL cuando se desencadena la situación en este grupo de atributos. Puede asignar un valor a esta variable en el rango de 1 a 30. Si el valor de esta variable es menor que cero, la variable toma el valor predeterminado de cero (segundos). Si el valor de esta variable es mayor que 30, la variable toma el valor predeterminado de 30 (segundos).
Variable para establecer el intervalo de tiempo de espera de consulta
- QUERY_TIMEOUT: esta variable de entorno define la cantidad máxima de tiempo (en segundos) que el agente de SQL Server espera para recibir una respuesta a una consulta que se envía a SQL Server. El valor de esta variable debe ser inferior a 45 segundos. Sin embargo, si establece el valor para esta variable como 0 segundos, el agente de SQL Server espera indefinidamente para recibir una respuesta de SQL Server. Si el agente de SQL Server accede a muchas bases de datos bloqueadas, debe asignar el valor a esta variable en el rango de 10 – 20 segundos. Si la consulta no se procesa en el intervalo de tiempo de espera establecido, el agente de SQL Server omite la consulta cuyo tiempo de espera ha excedido y pasa a la consulta siguiente de la cola. El agente no visualiza datos para la consulta que ha excedido el tiempo de espera.
- QUERY_THREAD_TIMEOUT: esta variable de entorno define la cantidad máxima de tiempo (en segundos) que el agente de SQL Server espera para recibir una respuesta a una consulta que se envía a SQL Server. Esta variable de entorno se aplica a pocos grupos de atributos que utilizan la recopilación de hebras. Por ejemplo: KOQDBD, KOQTBLD, KOQDEVD, etcétera. El valor para esta variable no tiene límite, al contrario que la variable QUERY_TIMEOUT. De lo contrario, funcionaría de igual modo que la variable QUERY_TIMEOUT.
La variable para ver información sobre los trabajos habilitados
Para ver la información sobre trabajos habilitados en el conjunto de datos Detalle de trabajos de MS SQL, utilice la variable de entorno COLL_JOB_DISABLED. Si se establece el valor de esta variable como 1, el Agente de Microsoft SQL Server no visualiza información sobre trabajos inhabilitados. Si no especifica esta variable, puede ver información sobre los trabajos habilitados e inhabilitados.
La variable para limitar las filas en el conjunto de datos de Detalle de grupo de archivos de MS SQL
- Especifique el número máximo de filas para KOQFGRPD en el archivo koqcoll.ctl.
- Añada la variable de entorno COLL_KOQFGRPD_MAX_ROW y asegúrese de que el valor de esta variable es el mismo que el valor que ha especificado en el archivo koqcoll.ctl.
Si el valor en el archivo koqcoll.ctl es menor que el valor que se ha especificado en la variable de entorno COLL_KOQFGRPD_MAX_ROW, el valor en el archivo koqcoll.ctl se trata como el valor del número máximo de filas.
Si el valor en el archivo koqcoll.ctl es mayor que el valor que se ha especificado en la variable de entorno COLL_KOQFGRPD_MAX_ROW, el valor en la variable de entorno COLL_KOQFGRPD_MAX_ROW se trata como el valor del número máximo de filas.
Variables para mejorar la recopilación para el conjunto de datos de Detalle de grupo de archivos de MS SQL
Utilice la variable COLL_DBD_FRENAME_RETRY_CNT para especificar el número de intentos que puede hacerse para mover el archivo %COLL_HOME%_tmp_%COLL_VERSION%_%COLL_SERVERID%_%COLL_SERVERID%__FGRP_TEMP al archivo %COLL_HOME%_tmp_%COLL_VERSION%_%COLL_SERVERID%_%COLL_SERVERID%__FGRP_PREV.
Si no especifica un valor para esta variable, el Agente de Microsoft SQL Server hace 3 intentos para mover el archivo.
La variable para limitar las filas en el conjunto de datos de Detalle de dispositivo de MS SQL
- Especifique el número máximo de filas para KOQDEVD en el archivo koqcoll.ctl.
- Añada la variable de entorno COLL_KOQDEVD_MAX_ROW y asegúrese de que el valor de esta variable es el mismo que el valor que ha especificado en el archivo koqcoll.ctl.
Si el valor en el archivo koqcoll.ctl es menor que el valor que se ha especificado en la variable de entorno COLL_KOQDEVD_MAX_ROW, el valor en el archivo koqcoll.ctl se trata como el valor del número máximo de filas.
Si el valor en el archivo koqcoll.ctl es mayor que el valor que se ha especificado en la variable de entorno COLL_KOQDEVD_MAX_ROW, el valor en la variable de entorno COLL_KOQDEVD_MAX_ROW se trata como el valor del número máximo de filas.
Variables para mejorar la recopilación para el conjunto de datos de Detalle de dispositivo de MS SQL
- COLL_KOQDEVD_INTERVAL: Esta variable de entorno le permite especificar un intervalo de tiempo (en minutos) entre dos recopilaciones consecutivas del conjunto de datos de Detalle de dispositivo de MS SQL.
Nota: De forma predeterminada, la recopilación de datos para el conjunto de datos de Detalle de dispositivo se basa en la demanda. Utilice la variable COLL_KOQDEVD_INTERVAL para iniciar una recopilación basada en hebra para el conjunto de datos de Detalle de dispositivo y para establecer el intervalo de tiempo entre dos recopilaciones de hebras.
- COLL_DBD_FRENAME_RETRY_CNT: Utilice esta variable de entorno para especificar el número de intentos que se pueden hacer para mover el archivo %COLL_HOME%_tmp_%COLL_VERSION%_%COLL_SERVERID%_%COLL_SERVERID%__DEVD_TEMP al archivo %COLL_HOME%_tmp_%COLL_VERSION%_%COLL_SERVERID%_%COLL_SERVERID%__DEVD_PREV.
Variables para mejorar la recopilación para el conjunto de datos de Detalle de base de datos de MS SQL
- COLL_KOQDBD_INTERVAL: Utilice esta variable de entorno
para especificar un intervalo de tiempo (en minutos) entre dos recopilaciones basadas en hebras consecutivas del
conjunto de datos de Detalle de base de datos de MS SQL. Si no especifica un valor para esta variable o el intervalo de
tiempo especificado es inferior a 3 minutos,
Agente de Microsoft SQL Server adopta de forma predeterminado un intervalo
de 3 minutos. En caso de que la recopilación tarde más o de que los datos se vean frecuentemente como NOT_COLLECTED,
puede comprobar la hora de recopilación haciendo referencia al registro
La recopilación de detalles de base de datos se ha completado en %d segundosy establecer para la variable un valor superior al tiempo de recopilación especificado en el registro. - COLL_DBD_FRENAME_RETRY_CNT: Utilice esta variable de entorno para especificar el número de intentos que se pueden hacer para mover el archivo %COLL_HOME%_tmp_%COLL_VERSION%_%COLL_SERVERID%_%COLL_SERVERID%__DBD_TEMP al archivo %COLL_HOME%_tmp_%COLL_VERSION%_%COLL_SERVERID%_%COLL_SERVERID%__DBD_PREV.
Variables para mejorar la recopilación para el conjunto de datos de Detalle de auditoría de MS SQL
- COLL_AUDIT_TYPE: utilice esta variable para habilitar o inhabilitar la supervisión de registros específicos. El valor predeterminado de la variable es [AL][FL][SL]. De forma predeterminada, el agente supervisa los tres tipos de registros: los registros de aplicación, los archivos de auditoría y los registros de seguridad. El valor de la variable incluye dos códigos de caracteres para cada tipo de registro:
- [AL] para registros de aplicación
- [FL] para archivos de auditoría
- [SL] para registros de seguridad
- COLL_AUDIT_DURATION: utilice esta variable para informar de los sucesos de auditoría que se han producido durante el intervalo de tiempo que especifique en esta variable. Por ejemplo, si establece esta variable en 7, el conjunto de datos de Detalles de auditoría informa de los sucesos de auditoría que se han producido sólo en las últimas 7 horas. El valor predeterminado de la variable COLL_AUDIT_DURATION es 24 horas.
- COLL_AUDIT_COLLECTION_INTERVAL: la recopilación de hebras en el conjunto de datos de Detalles de auditoría proporciona especificaciones de todas las bases de datos que están presentes en la instancia de servidor SQL. Utilice esta variable para establecer el intervalo para esta recopilación de hebras. Por ejemplo, si establece esta variable en 7, se extrae un conjunto nuevo de especificaciones de base de datos de la instancia del servidor SQL después de cada 7 horas. El valor predeterminado de la variable COLL_AUDIT_COLLECTION_INTERVAL es 24.
Variable para ampliar la recopilación para el conjunto de datos de Detalle de proceso de MS SQL
- Si COLL_PROC_BLOCK_INTERVAL = 0, la recopilación para los atributos Duración del bloqueo de proceso y Duración del bloqueo de recurso se inhabilita.
- Si COLL_PROC_BLOCK_INTERVAL = x, el intervalo entre dos recopilaciones de datos consecutivas para los atributos Duración del bloqueo de proceso y Duración del bloqueo de recurso es x minutes.
Variable para excluir los objetos bloqueados de la recopilación de datos.
Si las consultas que se han enviado para los espacios de trabajo Detalles de base de datos, Detalles de grupo de archivos, Duplicación de bases de datos y Detalles de dispositivo toman mucho tiempo para ejecutarse, utilice la variable COLL_DBCC_NO_LOCK para ejecutar una consulta con el valor WITH (NOLOCK). Esta variable hace que la consulta no espere en la cola cuando el objeto en el que se basa la consulta está bloqueado.
Variable para establecer los criterios de clasificación para las filas devueltas por el conjunto de datos de Detalles de tabla
Las filas devueltas por el conjunto de datos de Detalles de tabla se clasifican en orden descendente según el valor que se establece para la variable COLL_TBLD_SORTBY. El valor predeterminado para la variable COLL_TBLD_SORTBY es FRAG (porcentaje de fragmentación). Los valores válidos son: ROWS (número de filas en una tabla), SPACE (espacio utilizado por la tabla) y OPTSAGE (la edad de las estadísticas del optimizador de la tabla).
Variable para ampliar la recopilación para los conjuntos de datos de Detalle de problema y Resumen de problemas de MS SQL
- COLL_ALERT_SEV: utilice esta variable para establecer el nivel de gravedad de los mensajes de error que se muestran en los conjuntos de datos de Detalle de problema y de Resumen de problemas. Los mensajes de error que tienen un nivel de gravedad igual o mayor que el valor indicado en esta variable se visualizan en los conjuntos de datos de Detalle de problema y Resumen de problemas. Por ejemplo, si establecer el valor de esta variable en 10, los mensajes de error con el nivel de gravedad 10 o superior se muestran en los conjuntos de datos Detalle del programa y Resumen del problema. Si no especifica un valor para esta variable, los mensajes de error con un nivel de gravedad igual o mayor a 17 se muestran en los conjuntos de datos de Detalle de problema y Resumen de problemas.
- COLL_SINCE_ERRORLOG_RECY: utilice esta variable para supervisar sólo los errores con gravedad alta en el archivo ERRORLOG actual. Si no especifica un valor para esta variable, el valor de la variable es 0, lo que significa que para recopilar los datos, el conjunto de datos Resumen de problema también considera los errores de alta gravedad que se leen del archivo ERRORLOG anterior. Para supervisar sólo los errores con gravedad alta en el archivo ERRORLOG actual, establezca el valor de esta variable en 1.
Variables para establecer el valor del intervalo de tiempo de espera
- WAIT_TIMEOUT: utilice esta variable para establecer el intervalo de tiempo de espera para el Agente de Microsoft SQL Server. Si algún conjunto de datos tarda más de 45 segundos en recopilar datos, es posible que el agente se cuelgue o algunas situaciones se activen incorrectamente. Consulte si en el registro hay conjuntos de datos que tardan más de 45 segundos en recopilar datos, y utilice la variable WAIT_TIMEOUT para aumentar el tiempo de espera entre el proceso de agente y el proceso de recopilador.
- COLL_DB_TIMEOUT: utilice esta variable para definir el intervalo de espera (en segundos) para cualquier solicitud, como la ejecución de una consulta en la conexión del servidor SQL existente para que se complete antes de regresar a la aplicación. Si establece este valor en 0, no hay ningún tiempo de espera. Si no especifica un valor para esta variable, el agente espera 15 segundos antes de regresar a la aplicación.
Variables para establecer las propiedades de los archivos de registro del recopilador
- COLL_WRAPLINES: utilice esta variable para especificar el número máximo de líneas de un archivo col.out. El valor predeterminado de esta variable es de 90.000 líneas (aproximadamente 2 MB).
- COLL_NUMOUTBAK: utilice esta variable para especificar el número de copias de seguridad de los archivos de registro del recopilador que desea crear. De forma predeterminada, se crean cinco copias del archivo de registro del recopilador. El archivo de copia de seguridad se denomina *.out. Cuando este archivo de copia de seguridad está lleno, se le cambia el nombre por *.ou1 y los últimos registros se graban en el archivo *.out. De esta forma, para cinco archivos de copia de seguridad, los registros más antiguos están disponibles en el archivo *.ou5 y los últimos registros están disponibles en el archivo *.out.Puede crear más de cinco copias de seguridad de los archivos de registro del recopilador especificando uno de los valores siguientes en la variable COLL_NUMOUTBAK:
- Por menos de 10 archivos de copia de seguridad, especifique el número de archivos de copia de seguridad que desea crear en la variable COLL_NUMOUTBAK. Por ejemplo, si especifica 9 en la variable COLL_NUMOUTBAK, se crearán nueve archivos de copia de seguridad.
- Para más de 9 y menos de 1000 archivos de copia de seguridad, en la variable COLL_NUMOUTBAK especifique el número de archivos de copia de seguridad precedido por un guión. Por ejemplo, si especifica -352 en la variable COLL_NUMOUTBAK, se crearán trescientos cincuenta dos archivos de copia de seguridad.
- COLL_DEBUG: Utilice esta variable para
habilitar el rastreo completo del recopilador estableciendo el valor
de esta variable en dddddddddd (10
veces
d
).
Variable para suprimir los archivos temporales
COLL_TMPFILE_DEL_INTERVAL: utilice esta variable para especificar el intervalo (en minutos) tras los que deben suprimirse los archivos temporales KOQ_<indicación de fecha y hora>. Si no especifica un valor para esta variable, el valor de la variable es 0, lo que significa que los archivos temporales se deben suprimir inmediatamente.
Variable para cambiar el controlador utilizado por el agente MS SQL Server
Variable para conectarse a una base de datos de SQL Server habilitada para AlwaysOn
Detalles de la opción KOQ_APPLICATION_INTENT:
- Readonly: la conexión se abre con ApplicationIntent como readonly.
- Readwrite: la conexión se abre con
ApplicationIntent como readwrite.
Cuando se establece en Readwrite, el agente de Microsoft SQL Server no realizará ninguna operación de grabación con la conexión.
Si el controlador no da soporte a ApplicationIntent, la conexión se abre sin la propiedad ApplicationIntent.