Configurer les événements étendus pour les groupes de disponibilité

S'applique à :SQL Server

SQL Server définit des événements étendus qui sont spécifiques aux groupes de disponibilité. Surveillez ces Extended Events dans une session pour vous aider à identifier la cause racine lorsque vous dépannez un groupe de disponibilité. Utilisez la requête suivante pour consulter le groupe de disponibilité Événements étendus :

SELECT *
FROM sys.dm_xe_objects
WHERE name LIKE '%hadr%';

La session alwayson_health

La session d’événements alwayson_health étendus est créée automatiquement lorsque vous créez le groupe de disponibilité, et elle capture un sous-ensemble des événements liés au groupe de disponibilité. Cette session préconfigurée constitue un outil à la fois utile et pratique pour démarrer rapidement la résolution des problèmes d’un groupe de disponibilité. L’Assistant Création d’un groupe de disponibilité démarre automatiquement une session sur chaque réplica de disponibilité participant configuré dans l’Assistant.

Important

Si vous ne créez pas le groupe de disponibilité en utilisant l’Assistant Nouveau Groupe de Disponibilité, la alwayson_health session pourrait ne pas démarrer automatiquement. Si la session n’est pas lancée, elle ne peut pas capturer les données d’événements lorsqu’un problème inattendu survient. Vous devez démarrer manuellement la session et configurer ses propriétés de manière à ce qu’elle démarre automatiquement.

Pour afficher la définition de la session alwayson_health :

  1. Dans Explorateur d'objets, développez la gestion,les événements étendus, puis les sessions.

  2. Faites un clic droit sur Alwayson_health, pointez vers Session de script, pointez vers CRÉER pour, puis sélectionnez Nouvelle Éditeur de requête fenêtre.

Événements étendus pour le débogage

En plus des événements étendus couverts par la session Alwayson_health, SQL Server définit un ensemble étendu d’événements de débogage pour les groupes de disponibilité. Pour utiliser ces Événements Étendus supplémentaires lors d’une session, suivez ces étapes :

  1. Dans Explorateur d'objets, développez la gestion,les événements étendus, puis les sessions.

  2. Cliquez avec le bouton droit sur Sessions et sélectionnez Nouvelle session. Vous pouvez aussi cliquer avec le bouton droit sur Alwayson_health et sélectionner Propriétés.

  3. Dans le volet Sélectionner une page, sélectionnez Événements.

  4. Dans la bibliothèque d’événements, dans la colonne Catégorie, sélectionnez alwayson et désactivez toutes les autres catégories.

  5. Dans la colonne Canal, sélectionnez Debug. La bibliothèque d’événements affiche désormais tous les événements liés aux groupes de disponibilité qui ne sont pas encore sélectionnés.

  6. Sélectionnez un événement dans la bibliothèque d’événements, puis sélectionnez le > bouton pour le sélectionner pour la session.

  7. Lorsque vous aurez terminé la session, sélectionnez OK pour la fermer. Assurez-vous que la session est lancée afin qu’elle capture les événements que vous avez sélectionnés.

availability_replica_state_change

Cet événement se produit lorsque l’état d’une réplique de disponibilité change. Créer un groupe de disponibilité ou rejoindre une réplique de disponibilité peut déclencher cet événement. C’est utile pour diagnostiquer les échecs de basculement automatique et peut aussi aider à retracer les étapes de basculement.

Informations sur l’événement

Colonne Description
Nom availability_replica_state_change
Catégorie Toujours allumé
Canal En fonctionnement

Champs de l’événement

Nom type_name Description
availability_group_id guid L’ID du groupe de disponibilité.
availability_group_name unicode_string Nom du groupe de disponibilité.
availability_replica_id guid ID du réplica de disponibilité.
previous_state availability_replica_state Rôle du réplica avant le changement.

Les valeurs possibles sont les suivantes :

Primary_Normal

Secondary_Normal

Résolution_du_basculement_en_attente

Résolution_Normale

Principal_En attente

Not_Available
current_state availability_replica_state Le rôle de la réplique après la modification.

Les valeurs possibles sont les suivantes :

Primary_Normal

Secondary_Normal

Résolution_du_basculement_en_attente

Résolution_Normale

Principal_En attente

Not_Available

Définition de la session dans alwayson_health

CREATE EVENT SESSION [alwayson_health] ON SERVER
ADD EVENT availability_replica_state_change
ADD TARGET package0.event_file (
    SET filename = N'alwayson_health.xel',
    max_file_size = (5),
    max_rollover_files = (4),
    metadatafile = N'alwayson_health.xem'
)
WITH (
    MAX_MEMORY = 4096 KB,
    EVENT_RETENTION_MODE = ALLOW_SINGLE_EVENT_LOSS,
    MAX_DISPATCH_LATENCY = 30 SECONDS,
    MAX_EVENT_SIZE = 0 KB,
    MEMORY_PARTITION_MODE = NONE,
    TRACK_CAUSALITY = OFF,
    STARTUP_STATE = ON
)
GO

groupe_de_disponibilité_bail_expiré

Cet événement se produit lorsque le cluster et le groupe de disponibilité rencontrent un problème de connectivité et que le bail expire. Cela indique que la connectivité entre le groupe de disponibilité et le cluster WSFC sous-jacent est coupée. Si le problème de connectivité se produit sur la réplique principale, l’événement peut provoquer un basculement automatique ou mettre le groupe de disponibilité hors connexion.

Informations sur l’événement

Colonne Description
Nom availability_group_lease_expired
Catégorie Toujours allumé
Canal En fonctionnement

Champs de l’événement

Nom type_name Description
availability_group_id guid L’ID du groupe de disponibilité.
availability_group_name unicode_string Nom du groupe de disponibilité.

Définition de la session dans alwayson_health

CREATE EVENT SESSION [alwayson_health] ON SERVER
ADD EVENT availability_group_lease_expired
ADD TARGET package0.event_file (
    SET filename = N'alwayson_health.xel',
    max_file_size = (5),
    max_rollover_files = (4),
    metadatafile = N'alwayson_health.xem'
)
WITH (
    MAX_MEMORY = 4096 KB,
    EVENT_RETENTION_MODE = ALLOW_SINGLE_EVENT_LOSS,
    MAX_DISPATCH_LATENCY = 30 SECONDS,
    MAX_EVENT_SIZE = 0 KB,
    MEMORY_PARTITION_MODE = NONE,
    TRACK_CAUSALITY = OFF,
    STARTUP_STATE = ON
)
GO

disponibilite_replica_validation_du_basculement_automatique

Cet événement se produit lorsque le basculement automatique valide l’état de préparation d’une réplique de disponibilité à devenir réplique principale. Il indique si la réplique de disponibilité cible est prête à devenir la nouvelle réplique principale. Par exemple, la validation de basculement retourne fausse lorsque toutes les bases de données ne sont pas synchronisées ou jointes. Cet événement fournit un point de défaillance lors des basculements. L’administrateur de la base de données s’intéresse particulièrement à ces informations pour les basculements automatiques car un basculement automatique est une opération non surveillée. L’administrateur de base de données peut passer en revue l’événement pour déterminer la raison de l’échec d’un basculement automatique.

Informations sur l’événement

Nom Description
Nom availability_replica_automatic_failover_validation
Catégorie Toujours allumé
Canal Analytique

Champs de l’événement

Nom type_name Description
availability_group_id guid L’identifiant du groupe de disponibilité.
availability_group_name unicode_string Nom du groupe de disponibilité.
availability_replica_id guid L’ID du réplica de disponibilité.
forced_quorum validation_result_type Si la valeur est TRUE, le basculement automatique n’est pas valide pour cette réplique de disponibilité.

VRAI

FAUX
joined_and_synchronized validation_result_type Si la valeur est FALSE, le basculement automatique n'est pas valide pour cette réplique de disponibilité.

VRAI

FAUX
previous_primary_or_automatic_failover_target validation_result_type Si la valeur est FALSE, le basculement automatique est désactivé pour cette réplique de disponibilité.

VRAI

FAUX

Définition de la session dans alwayson_health

CREATE EVENT SESSION [alwayson_health] ON SERVER
ADD EVENT availability_replica_automatic_failover_validation (
    WHERE (
        [forced_quorum] = (TRUE)
        OR [joined_and_synchronized] = (FALSE)
        OR [previous_primary_or_automatic_failover_target] = (TRUE)
    )
)
ADD TARGET package0.event_file (
    SET filename = N'alwayson_health.xel',
    max_file_size = (5),
    max_rollover_files = (4),
    metadatafile = N'alwayson_health.xem'
)
WITH (
    MAX_MEMORY = 4096 KB,
    EVENT_RETENTION_MODE = ALLOW_SINGLE_EVENT_LOSS,
    MAX_DISPATCH_LATENCY = 30 SECONDS,
    MAX_EVENT_SIZE = 0 KB,
    MEMORY_PARTITION_MODE = NONE,
    TRACK_CAUSALITY = OFF,
    STARTUP_STATE = ON
)
GO

error_reported (plusieurs numéros d’erreur) : pour les problèmes de transport ou de connexion

Chaque événement filtré indique qu’un problème de connectivité s’est produit dans le transport ou le point de terminaison de mise en miroir de bases de données dont dépend ce groupe de disponibilité.

Colonne Description
Nom error_reported

nombres à filtrer : 35201, 35202, 35206, 35207, 35204, 35217, 9642, 9666, 28036, 28091, 9692, 9693, 28034, 28080, 9691, 33309
Catégorie erreurs
Canal Administrateur

Numéros d’erreur à filtrer

Numéro d’erreur Description
9642 Une erreur s'est produite dans un point de terminaison de la connexion de transport Service Broker/Mise en miroir de bases de données. Erreur : %i, état : %i. (rôle de point de terminaison à proximité : %S_MSG, adresse du point de terminaison lointain : '%.*hs')
9666 Le point de terminaison %S_MSG est désactivé ou arrêté.
9691 Le point de terminaison %S_MSG a cessé d’écouter les connexions.
9692 Le point de terminaison %S_MSG ne peut pas écouter le port %d, car il est utilisé par un autre processus.
9693 Le point de terminaison %S_MSG ne peut pas écouter les connexions en raison de l’erreur suivante : « %.*ls ».
28034 Échec de l’établissement de la connexion. L’identifiant de connexion « %.*ls » n’a pas l’autorisation CONNECT sur le point de terminaison. État %d.
28036 Échec de l’établissement de la connexion. Le certificat utilisé par ce point de terminaison est introuvable : %S_MSG. Utilisez DBCC CHECKDB dans la base de données master pour vérifier l'intégrité des métadonnées du point de terminaison. État %d.
28080 Échec de l’établissement de la connexion. Le point de terminaison %S_MSG n'est pas configuré. État %d.
28091 Le lancement du point de terminaison pour %S_MSG sans authentification n’est pas pris en charge.
33309 Impossible de démarrer le point de terminaison de cluster, car la configuration du point de terminaison %S_MSG par défaut n’a pas encore été chargée.
35201 Une expiration du délai de connexion s’est produite lors de la tentative d’établir une connexion au réplica de disponibilité '%ls' portant l’ID [%ls]. Un problème de mise en réseau ou de pare-feu existe ou l’adresse de point de terminaison fournie pour le réplica n’est pas le point de terminaison de mise en miroir de bases de données de l’instance de serveur hôte.
35202 Une connexion pour le groupe de disponibilité « %ls » a été établie avec succès entre le réplica de disponibilité « %ls » avec l’ID [%ls] et « %ls » avec l’ID [%ls]. Ce message est fourni uniquement à titre d'information. Aucune action de l'utilisateur n'est requise.
35204 La connexion entre les instances de serveur '%ls' avec l’ID [%ls] et '%ls' avec l’ID [%ls] a été désactivée, car le point de terminaison de mise en miroir de bases de données a été désactivé ou arrêté. Redémarrez le point de terminaison à l’aide de l’instruction ALTER ENDPOINT Transact-SQL avec STATE = STARTED.
35206 Un délai d’expiration de connexion s’est produit sur une connexion établie précédemment au réplica de disponibilité '%ls' avec l’ID [%ls]. Il existe un problème de réseau ou de pare-feu, ou le réplica de disponibilité est passé au rôle de résolution.
35207 La tentative de connexion sur le groupe de disponibilité d’ID '%ls' à partir de l’ID de réplica '%ls' vers l’ID de réplica '%ls' a échoué en raison de l’erreur %d, gravité %d, état %d.

Note: Cette erreur pourrait ne pas avoir de réelle utilité pour un DBA. Vérifiez et retirez plus tard dans ce cas.
35217 Le pool de threads pour les groupes de disponibilité Always On n’a pas pu démarrer un nouveau thread de travail, faute de threads de travail disponibles en nombre suffisant. Cela peut nuire aux performances des groupes de disponibilité Always On. Utilisez l’option de configuration « max worker threads » pour augmenter le nombre de threads autorisés.

S’applique aux versions suivantes : SQL Server 2019 CU 15 et ultérieures.

Définition de la session dans alwayson_health

CREATE EVENT SESSION [alwayson_health] ON SERVER
ADD EVENT sqlserver.error_reported
    (
    WHERE (
        --Connectivity Error Messages
        [error_number] = (35201)
        OR [error_number] = (35202)
        OR [error_number] = (35204)
        OR [error_number] = (35206)
        OR [error_number] = (35207)
        OR [error_number] = (35217)
        OR [error_number] = (9642)
        --OR [error_number]=(9666)
        OR [error_number] = (9691)
        OR [error_number] = (9692)
        OR [error_number] = (9693)
        OR [error_number] = (28034)
        OR [error_number] = (28036)
        OR [error_number] = (28080)
        OR [error_number] = (28091)
        OR [error_number] = (33309)
    )
)
ADD TARGET package0.event_file (
    SET filename = N'alwayson_health.xel',
        max_file_size = (5),
        max_rollover_files = (4),
        metadatafile = N'alwayson_health.xem'
)
WITH
(
    MAX_MEMORY = 4096 KB,
    EVENT_RETENTION_MODE = ALLOW_SINGLE_EVENT_LOSS,
    MAX_DISPATCH_LATENCY = 30 SECONDS,
    MAX_EVENT_SIZE = 0 KB,
    MEMORY_PARTITION_MODE = NONE,
    TRACK_CAUSALITY = OFF,
    STARTUP_STATE = ON
);
GO

deplacement_des_donnees_suspendre_reprendre

Cet événement se produit lorsque le déplacement d’une réplique de base de données est suspendu ou repris.

Informations sur l’événement

Colonne Description
Nom suspension_reprise_du_déplacement_des_données
Catégorie Toujours activé
Canal En fonctionnement

Champs de l’événement

Nom type_name Description
availability_group_id guid Identifiant du groupe de disponibilité.
availability_group_name unicode_string Nom du groupe de disponibilité (le cas échéant).
availability_replica_id guid L’ID de la réplique de disponibilité.
database_replica_id guid ID de la base de données de disponibilité.
database_replica_name unicode_string Nom de la base de données de disponibilité.
database_id uint32 ID de la base de données de disponibilité.
suspend_status suspend_status_type Valeurs de l’état de suspension.

SUSPEND_NULL

REPRIS

SUSPENDED

SUSPENDED_INVALID
suspend_source suspend_source_type Source de l’action de suspension ou de reprise.
suspend_reason unicode_string Raison de la suspension enregistrée dans le gestionnaire de réplication de base de données.

Définition de la session dans alwayson_health

CREATE EVENT SESSION [alwayson_health] ON SERVER
ADD EVENT data_movement_suspend_resume (
    WHERE (
        [suspend_status] = (SUSPENDED)
        OR [suspend_status] = (SUSPENDED_INVALID)
        OR [suspend_status] = (SUSPEND_NULL)
    )
)
ADD TARGET package0.event_file (
    SET filename = N'alwayson_health.xel',
    max_file_size = (5),
    max_rollover_files = (4),
    metadatafile = N'alwayson_health.xem'
)
WITH (
    MAX_MEMORY = 4096 KB,
    EVENT_RETENTION_MODE = ALLOW_SINGLE_EVENT_LOSS,
    MAX_DISPATCH_LATENCY = 30 SECONDS,
    MAX_EVENT_SIZE = 0 KB,
    MEMORY_PARTITION_MODE = NONE,
    TRACK_CAUSALITY = OFF,
    STARTUP_STATE = ON
)
GO

alwayson_ddl_executed

Cet événement se produit lorsqu’une instruction de langage de définition de données de groupe de disponibilité (DDL) commence à s’exécuter, incluant CREATE, ALTER, ou DROP. L’événement indique principalement un problème avec une action utilisateur sur une réplique de disponibilité, ou il marque le point de départ d’une action opérationnelle. Cette action est suivie d’un problème à l’exécution, tel qu’un basculement manuel, un basculement forcé, une suspension du mouvement de données ou la reprise du mouvement des données.

Informations sur l’événement

Colonne Description
Nom alwayson_ddl_execution
Catégorie Toujours allumé
Canal Analytique

Champs de l’événement

Nom type_name Description
availability_group_id guid L’ID du groupe de disponibilité.
availability_group_name unicode_string Nom du groupe de disponibilité.
ddl_action alwayson_ddl_action Indique le type d’action DDL : CREATE, ALTER, ou DROP.
ddl_phase ddl_opcode Indique la phase de l’opération DDL : BEGIN, COMMIT, ou ROLLBACK.
Statement unicode_string Le texte de l’instruction exécutée.

Définition de la session dans alwayson_health

CREATE EVENT SESSION [alwayson_health] ON SERVER
ADD EVENT alwayson_ddl_executed
ADD TARGET package0.event_file (
    SET filename = N'alwayson_health.xel',
    max_file_size = (5),
    max_rollover_files = (4),
    metadatafile = N'alwayson_health.xem'
)
WITH (
    MAX_MEMORY = 4096 KB,
    EVENT_RETENTION_MODE = ALLOW_SINGLE_EVENT_LOSS,
    MAX_DISPATCH_LATENCY = 30 SECONDS,
    MAX_EVENT_SIZE = 0 KB,
    MEMORY_PARTITION_MODE = NONE,
    TRACK_CAUSALITY = OFF,
    STARTUP_STATE = ON
)
GO

disponibilite_gestionnaire_replique_etat

Cet événement se produit lorsque l’état du gestionnaire de réplices de disponibilité change. Il indique le battement de cœur du gestionnaire de répliques de disponibilité. Lorsque le gestionnaire des répliques de disponibilité n’est pas dans un état sain, toutes les répliques de disponibilité de l’instance SQL Server deviennent indisponibles.

Informations sur l’événement

Colonne Description
Nom availability_replica_manager_state_change
Catégorie Toujours allumé
Canal En fonctionnement

Champs de l’événement

Nom type_name Description
current_state manager_state État actuel du gestionnaire de réplicas de disponibilité.

En ligne

Hors connexion

En attente de la communication du cluster

Définition de la session dans alwayson_health

CREATE EVENT SESSION [alwayson_health] ON SERVER
ADD EVENT availability_replica_manager_state (
    WHERE ([current_state] = (OFFLINE))
)
ADD TARGET package0.event_file (
    SET filename = N'alwayson_health.xel',
    max_file_size = (5),
    max_rollover_files = (4),
    metadatafile = N'alwayson_health.xem'
)
WITH (
    MAX_MEMORY = 4096 KB,
    EVENT_RETENTION_MODE = ALLOW_SINGLE_EVENT_LOSS,
    MAX_DISPATCH_LATENCY = 30 SECONDS,
    MAX_EVENT_SIZE = 0 KB,
    MEMORY_PARTITION_MODE = NONE,
    TRACK_CAUSALITY = OFF,
    STARTUP_STATE = ON
)
GO

error_reported (1480) : Changement de rôle dans la réplique de la base de données

Cet événement error_reported filtré se produit de façon asynchrone après un changement de rôle de réplica de disponibilité. Il indique la base de données de disponibilité qui ne parvient pas à changer son rôle attendu durant le processus de basculement.

Informations sur l’événement

Colonne Description
Nom error_reported

Error Number 1480: The REPLICATION_TYPE_MSG database "DATABASE_NAME" is changing roles from "OLD_ROLE" to "NEW_ROLE" due to REASON_MSG
Catégorie erreurs
Canal Administrateur

Définition de la session dans alwayson_health

CREATE EVENT SESSION [alwayson_health] ON SERVER
ADD EVENT sqlserver.error_reported (
    WHERE (
        --database replica role change message
        OR [error_number] = (1480)
        --database replica runtime error messages
        OR [error_number] = (823)
        OR [error_number] = (824)
        OR [error_number] = (829)
    )
)
ADD TARGET package0.event_file (
    SET filename = N'alwayson_health.xel',
    max_file_size = (5),
    max_rollover_files = (4),
    metadatafile = N'alwayson_health.xem'
)
WITH (
    MAX_MEMORY = 4096 KB,
    EVENT_RETENTION_MODE = ALLOW_SINGLE_EVENT_LOSS,
    MAX_DISPATCH_LATENCY = 30 SECONDS,
    MAX_EVENT_SIZE = 0 KB,
    MEMORY_PARTITION_MODE = NONE,
    TRACK_CAUSALITY = OFF,
    STARTUP_STATE = ON
)
GO

sqlserver.sp_server_diagnostics_component_result

Capture des données de diagnostics et des informations d’intégrité sur SQL Server pour détecter des défaillances potentielles. La procédure fonctionne en mode de répétition et envoie régulièrement des résultats. Cette session d’événements étendus est disponible à compter de SQL Server 2019 CU15 (15.0.4198.2).

Informations sur l’événement

Nom Description
Nom sp_server_diagnostics_component_result
Catégorie Serveur
Canal Débogage

Champs de l’événement

Nom type_name Description
component uint8 Nom du composant.
state uint8 Indique l’état d’intégrité du composant.
data xml Champ XML contenant des informations supplémentaires sur le composant.

Définition de la session dans alwayson_health

CREATE EVENT SESSION [alwayson_health] ON SERVER
ADD EVENT sqlserver.sp_server_diagnostics_component_result (
    SET collect_data = (1)
    WHERE ([state] = (3))
)
ADD TARGET package0.event_file (
    SET filename = N'alwayson_health.xel',
        max_file_size = (5),
        max_rollover_files = (4),
        metadatafile = N'alwayson_health.xem'
)
WITH
(
    MAX_MEMORY = 4096 KB,
    EVENT_RETENTION_MODE = ALLOW_SINGLE_EVENT_LOSS,
    MAX_DISPATCH_LATENCY = 30 SECONDS,
    MAX_EVENT_SIZE = 0 KB,
    MEMORY_PARTITION_MODE = NONE,
    TRACK_CAUSALITY = OFF,
    STARTUP_STATE = ON
);
GO

ucs.ucs_connection_setup

Exporte les journaux de connectivité ou liés au réseau entre les répliques primaires et secondaires. Cette session d’événements étendus est disponible à compter de SQL Server 2019 CU15 (15.0.4198.2).

Informations sur l’événement

Nom Description
Nom ucs_connection_setup
Catégorie Transport
Canal Débogage

Champs de l’événement

Nom type_name Description
setup_event int32 Événement de configuration de la connexion
obj_address pointer Adresse de terminaison de connexion
endpoint_type int32 Type de point de terminaison
stream_status int32 État du flux de la connexion
error_number uint32 Code d’erreur de la connexion
connection_id guid ID de connexion
error_message unicode_string Message d’erreur de la connexion
address unicode_string Adresse cible de la connexion
circuit_id unicode_string ID du circuit de connexion

Définition de la session dans alwayson_health

CREATE EVENT SESSION [alwayson_health] ON SERVER
ADD EVENT ucs.ucs_connection_setup
ADD TARGET package0.event_file (
    SET filename = N'alwayson_health.xel',
        max_file_size = (5),
        max_rollover_files = (4),
        metadatafile = N'alwayson_health.xem'
)
WITH
(
    MAX_MEMORY = 4096 KB,
    EVENT_RETENTION_MODE = ALLOW_SINGLE_EVENT_LOSS,
    MAX_DISPATCH_LATENCY = 30 SECONDS,
    MAX_EVENT_SIZE = 0 KB,
    MEMORY_PARTITION_MODE = NONE,
    TRACK_CAUSALITY = OFF,
    STARTUP_STATE = ON
);
GO

sqlserver.hadr_trace_message

Redirige la sortie de certaines commandes DBCC et des informations de journal HADR vers la session d’événements étendus (semblable à l’indicateur de trace 3605). Cette session d’événements étendus est disponible à compter de SQL Server 2019 CU15 (15.0.4198.2).

Informations sur l’événement

Nom Description
Nom hadr_trace_message
Catégorie Toujours activé
Canal Débogage

Champs de l’événement

Nom type_name Description
hadr_message unicode_string Redirige la sortie de certaines commandes DBCC et des informations de journal HADR vers la session d’événements étendus (semblable à l’indicateur de trace 3605).

Définition de la session dans alwayson_health

CREATE EVENT SESSION [alwayson_health] ON SERVER
ADD EVENT sqlserver.hadr_trace_message
ADD TARGET package0.event_file (
    SET filename = N'alwayson_health.xel',
        max_file_size = (5),
        max_rollover_files = (4),
        metadatafile = N'alwayson_health.xem'
)
WITH
(
    MAX_MEMORY = 4096 KB,
    EVENT_RETENTION_MODE = ALLOW_SINGLE_EVENT_LOSS,
    MAX_DISPATCH_LATENCY = 30 SECONDS,
    MAX_EVENT_SIZE = 0 KB,
    MEMORY_PARTITION_MODE = NONE,
    TRACK_CAUSALITY = OFF,
    STARTUP_STATE = ON
);
GO