Share via


NSSetQuantumClockDate (Transact-SQL)

Restablece el reloj del cuanto de la aplicación de Microsoft SQL Server Notification Services en una hora específica, lo cual resulta útil para ejecutar una aplicación de forma continua en el mismo intervalo de tiempo para realizar pruebas, estableciendo una hora exacta, como las 9:00 de la mañana del lunes.

En los dos escenarios siguientes se muestra cómo se puede utilizar este procedimiento almacenado:

  • Al probar una aplicación, se puede agregar una suscripción programada y después probarla restableciendo el reloj del cuanto según sea necesario.
  • Al diagnosticar problemas del sistema, puede restablecer el reloj del cuanto y reproducir comportamientos del sistema pasados. Todos los procesamientos (por ejemplo, de lotes de eventos y suscripciones programadas) se reproducen igual que en tiempo real, siempre y cuando la instancia se esté ejecutando y esté habilitada.

Sintaxis

NSSetQuantumClockDate 
    [ @QuantumStartTime = ] 'start_date_time'

Argumentos

[ @QuantumStartTime = ] 'start_date_time'

Es un valor de tipo datetime de inicio anterior, expresado en hora universal coordinada (UTC), para el reloj del cuanto. Esto hace que el generador inicie un nuevo cuanto en una hora pasada, reproduciendo el procesamiento anterior. Dado que la hora pertenece al pasado, el generador procesa el cuanto lo antes posible.

Conjuntos de resultados

Ninguno

Notas

Notification Services crea el procedimiento almacenado NSSetQuantumClockDate en la base de datos de aplicación al crear la instancia. Al actualizar la aplicación, Notification Services vuelve a compilar el procedimiento almacenado.

Este procedimiento almacenado se encuentra en el esquema de la aplicación, que se especifica mediante el elemento SchemaName del archivo de definición de aplicación (ADF). Si no se proporciona ningún nombre de esquema, el esquema predeterminado es dbo.

Antes de ejecutar NSSetQuantumClockDate, debe deshabilitar el generador.

NSSetQuantumClockDate inicializa el reloj del cuanto, por lo que el valor de @QuantumStartTime se incluye en el primer cuanto procesado por el generador después de ejecutar el procedimiento.

Para encontrar la hora de inicio de un cuanto, utilice el procedimiento almacenado NSQuantumList. El conjunto de resultados muestra los valores de hora de inicio y hora de finalización (en UTC) para cada cuanto.

Si en el archivo de definición de aplicación (ADF) los valores de ChronicleQuantumLimit y SubscriptionQuantumLimit son distintos de cero (lo que significa que no hay límite para el tiempo que puede retroceder para procesar cuantos), el generador puede omitir el cuanto en cuestión.

El proceso de supresión de datos (Vacuumer) quita los datos del sistema. Si ha quitado datos de interés, no se puede reproducir el procesamiento de esos datos.

Cuando Notification Services intenta ponerse al día con los cuantos anteriores, los más antiguos tienen prioridad y se procesan primero. Al inicializar el reloj del cuanto, es posible que los cuantos nuevos se procesen más tarde de lo programado.

Permisos

De forma predeterminada, los permisos de ejecución corresponden a los miembros de las funciones de base de datos NSGenerator y NSRunService, la función fija de base de datos db_owner y la función fija de servidor sysadmin.

Valores de código de retorno

0 (correcto) o 1 (error)

Ejemplos

En el ejemplo siguiente se muestra cómo restablecer el reloj del cuanto para reproducir lo que sucedió el 23 de abril de 2004 a las 9:00 a.m. (hora de verano del Pacífico). La hora UTC equivalente son las 17:00 y la columna EndTime de la tabla NSQuantum1 indica que el cuanto anterior finalizó a las 16:59.

La aplicación utiliza la configuración predeterminada de SchemaName, que coloca todos los objetos de la aplicación en el esquema dbo.

EXEC dbo.NSSetQuantumClockDate 
    @QuantumStartTime = '2004-04-23 16:59';

Vea también

Referencia

Procedimientos almacenados de Notification Services (Transact-SQL)
NSQuantumList (Transact-SQL)

Otros recursos

Informes de rendimiento de Notification Services
SchemaName Element (ADF)

Ayuda e información

Obtener ayuda sobre SQL Server 2005