Résolution des problèmes de stratégies de la Gestion basée sur des stratégies

La Gestion basée sur des stratégies enregistre les erreurs dans le journal des événements de Windows et, pour les stratégies planifiées, dans le journal de l'Agent SQL Server. Si les stratégies ne sont pas activées ou n'affectent pas la cible attendue, l'échec n'est pas considéré comme une erreur et n'est pas enregistré.

Résolution des problèmes liés aux stratégies

Cette section décrit deux problèmes liés aux stratégies et les étapes à suivre pour les résoudre.

Une stratégie Sur modification : empêcher ou Sur modification : journal uniquement ne s'exécute pas

Une stratégie qui utilise le mode d'évaluation Sur modification : empêcher ou Sur modification : journal uniquement n'est pas effective pour l'une des raisons suivantes :

  • La stratégie est désactivée.

  • La cible est exclue par un filtre.

  • La cible n'est pas abonnée au groupe de stratégies qui contient la stratégie.

  • Pour le mode d'évaluation Sur modification : empêcher , le mécanisme de gestion des événements de Service Broker ne surveille pas les événements corrects.

  • Une défaillance se produit au niveau du moteur d'évaluation.

Pour résoudre ce problème, procédez comme suit :

  1. Vérifiez si la stratégie a été exécutée. (Ces données peuvent également être affichées par le biais de la visionneuse du journal.)

    1. Pour voir si la stratégie a été exécutée avec des messages d'exception, vérifiez l'historique d'exécution de la stratégie dans la vue msdb.dbo.syspolicy_policy_execution_history.

    2. Pour voir si la stratégie a été exécutée pour la cible spécifique, vérifiez l'historique d'exécution de la stratégie pour la cible en question dans la vue msdb.dbo.syspolicy_policy_execution_history_details.

  2. Vérifiez si la stratégie est effective sur la cible en question.

    1. Vérifiez si la stratégie est activée.

    2. Pour vérifier si la stratégie s'applique à la cible, utilisez la page Afficher les stratégies dans SQL Server Management Studio.

  3. Pour les stratégies qui utilisent le mode d'évaluation Sur modification : empêcher , Service Broker vérifie si le mécanisme de gestion des événements contrôle les événements corrects.

    1. Vérifiez qu'une transaction a été validée et a généré un événement pris en charge par la facette sur laquelle la condition de la stratégie est définie.

    2. Vérifiez que la file d'attente Service Broker contrôle les événements corrects en exécutant la requête ci-dessous :

      SELECT * FROM sys.server_event_notifications 
      WHERE name = N'syspolicy_event_notification' ;
      GO
      
  4. Vérifiez le moteur d'évaluation.

    • Vérifiez si le journal des événements de Windows contient une erreur de la Gestion basée sur des stratégies.

Une stratégie Selon la planification ne s'exécute pas

Une stratégie Selon la planification peut échouer pour les mêmes raisons qu'une stratégie Sur modification : empêcher ou Sur modification : journal uniquement, de même qu'en raison de l'échec d'un travail de l'Agent SQL Server. Pour plus d'informations sur les travaux, consultez Affichage et modification des travaux.

Résolution des problèmes de performances

La Gestion basée sur des stratégies ne fournit pas d'outils spécifiques pour diagnostiquer les problèmes de performance. Pour déterminer le temps d'exécution des stratégies, interrogez les colonnes start_date et end_date dans la vue msdb.dbo.syspolicy_policy_execution_history.

Description de la gestion des erreurs et de la journalisation

Cette section décrit le fonctionnement de la gestion des erreurs et de la journalisation pour plusieurs stratégies.

Stratégie Sur modification : journal et stratégie Sur modification : empêcher

Les erreurs d'exécution de stratégie sont consignées dans le journal des événements de Windows. Le journal mentionne le texte d'erreur de la Gestion basée sur des stratégies et une description XML qui contient les détails de l'événement SQL Server. La seule exception au niveau de la logique d'exécution principale réside dans le fait que les erreurs d'exécution de stratégie sont affichées dans les vues msdb.dbo.syspolicy_policy_execution_history et msdb.dbo.syspolicy_policy_execution_history_details.

Stratégie Selon la planification

Dans la mesure où une stratégie Selon la planification implique l'Agent SQL Server, il convient de vérifier en premier lieu les fichiers journaux de cet Agent. Vérifiez si le travail s'est terminé avec succès. Le journal de l'Agent SQL Server contient les échecs d'appels de procédure stockée. Si le travail s'est terminé avec succès, vérifiez si le journal des événements de Windows contient des erreurs d'exécution de stratégie.