Partager via


NSSetQuantumClockDate (Transact-SQL)

Réinitialise l'horloge du quantum de l'application Microsoft SQL Server Notification Services à une heure spécifique, ce qui s'avère utile pour l'exécution répétée d'une application au cours d'un intervalle de temps identique pour le test en définissant une heure exacte, comme 9:00 le lundi matin.

Les deux scénarios suivants vous indiquent comment utiliser cette procédure stockée :

  • Lors du test d'une application, vous pouvez ajouter un abonnement planifié, puis tester cet abonnement en redéfinissant l'horloge du quantum comme requis.
  • Lors de l'analyse de problèmes du système, vous pouvez réinitialiser l'horloge du quantum et reproduire le comportement antérieur du système. Tous les traitements, tels que les lots d'événements et les abonnements planifiés, sont réexécutés exactement en temps réel, tant que l'instance est en cours d'exécution et activée.

Syntaxe

NSSetQuantumClockDate 
    [ @QuantumStartTime = ] 'start_date_time'

Arguments

[ @QuantumStartTime = ] 'start_date_time'

Valeur datetime de démarrage précédente, exprimée en heure UTC (Coordinated Universal Time) pour l'horloge du quantum. Cela oblige le générateur à démarrer un nouveau quantum à une heure antérieure, en réexécutant le traitement précédent. Puisque l'heure se trouve dans le passé, le générateur traite le quantum dès que possible.

Valeurs des codes de retour

0 (succès) ou 1 (échec)

Jeux de résultats

Aucun

Notes

Notification Services crée la procédure stockée NSSetQuantumClockDate dans la base de données des applications lorsque vous créez l'instance. Lorsque vous mettez à jour l'application, Notification Services recompile la procédure stockée.

Cette procédure stockée se trouve dans le schéma de l'application, spécifié par l'élément SchemaName du fichier de définition d'application. Si aucun nom de schéma n'est spécifié, le schéma par défaut est dbo.

Vous devez désactiver le générateur avant l'exécution de NSSetQuantumClockDate.

NSSetQuantumClockDate initialise l'horloge du quantum, afin que la valeur @QuantumStartTime soit incluse dans le premier quantum traité par le générateur après l'exécution de la procédure.

Pour trouver une heure de début de quantum, utilisez la procédure stockée NSQuantumList. Le jeu de résultats affiche des valeurs d'heure de début et de fin UTC, pour chaque quantum.

Dans le fichier ADF (fichier de définition d'application), si les valeurs de ChronicleQuantumLimit et de SubscriptionQuantumLimit ne sont pas égales à zéro (ce qui signifie qu'il n'existe aucune limite de retour en arrière pour traiter des quanta), le générateur risque d'ignorer le quantum qui vous intéresse.

Le traitement du ramasse-miettes supprime des données du système. Si vous avez supprimé des données d'intérêt, le traitement de ces données peut être réexécuté.

Lorsque Notification Services tente de s'aligner sur les quanta précédents, les quanta les plus anciens sont prioritaires et sont traités en premier. Lorsque vous initialisez l'horloge du quantum, sachez que de nouveaux quanta peuvent être traités plus tard que prévu.

Autorisations

Les autorisations d'exécution reviennent par défaut aux membres des rôles de base de données NSGenerator et NSRunService, le rôle de base de données fixe db_owner et celui de serveur fixe sysadmin.

Exemples

L'exemple suivant illustre comment réinitialiser l'horloge du quantum pour relire ce qui s'est produit le 23 avril 2004, à 9:00, fuseau horaire du Pacifique. L'heure UTC équivalente est 17:00 et la colonne EndTime de la table NSQuantum1 indique que le quantum précédent s'était terminé à 16:59.

L'application utilise les paramètres SchemaName par défaut, qui place tous les objets d'application dans le schéma dbo.

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

Voir aussi

Référence

Procédures stockées de Notification Services (Transact-SQL)
NSQuantumList (Transact-SQL)

Autres ressources

Rapports de performances de Notification Services
SchemaName Element (ADF)

Aide et Informations

Assistance sur SQL Server 2005