Je vois que les événements de session de session du système par défaut dans SQL Server sont 5 Mo chacun avec 4 fichiers au total.
Nous essayons d'aller chercher des données de la santé du système dans des événements historiques, mais également pour certains serveurs de production critiques, ils continuent de rester très rapidement. Pour certains, ils restent là même pendant des semaines
Comment le mécanisme fonctionne-t-il dans SQL Server de rouler sur les fichiers et est-il possible de vérifier quand cela se passe-t-il?
Edit @ par réponse
Par conséquent, je pense qu'il pourrait y avoir de nombreux événements indésirables capturés dans la santé du système. Comment puis-je les trouver et les filtrer dans ce système santé?
De plus, devrions-nous augmenter les tailles de fichiers disent à 200 MB 4 fichiers ou gardez simplement des fichiers de petite taille telles que 10 fichiers 80 MB? Quel est le meilleur?
Mise à jour @ J'ai déjà marqué cela une réponse, mais en vérifiant une autre chose qui est apparue:
Les fichiers ne remplissent pas d'ordre séquentiel; Dites que j'ai augmenté à 10 fichiers à 10 Mo chacun. Nous voyons 1-6 fichiers que quelques jours semblent remplis de 10 Mo, tandis que le fichier 7 et 8 pour le même jour est de 2 Mo et le fichier 9 et 10 remplissaient complètement 10 Mo. Je suppose que cela est attendu, juste curieux pourquoi c'est comme ça?
Comment le mécanisme fonctionne-t-il dans SQL Server de rouler sur les fichiers
Les fichiers se dérouleront lorsque l'une des opérations suivantes se produit:
Cela pourrait être quelqu'un en train d'exécuter la commande:
ALTER EVENT SESSION [session_name]
ON SERVER
STATE = STOP;
Ou bien que l'instance Server ou SQL Server ait été redémarré (cela semble improbable que vous avez indiqué que ceci est un serveur de production critique).
et y a-t-il une façon de vérifier quand et comment cela se passe-t-il?
Si tous vos fichiers sont à environ 5 Mo, votre serveur vient de générer beaucoup d'événements. J'ai un serveur de production qui n'est pas très occupé, et il faut toujours moins de 24 heures pour remplir l'un des 4 fichiers 4 XE avec 5 Mo d'événements. Voici une capture d'écran, consultez les dates modifiées sur ces fichiers:
Pour voir quels événements sont inclus dans la session d'événement dans SSMS, vous pouvez aller à Gestion → Événements étendus → Sessions → Cliquez avec le bouton droit de la souris sur "System_Health" et choisissez "Script Session comme" → "Créer à" → "Nouvelle fenêtre de l'éditeur de requête".
Cependant, notez cela de l'article Microsoft Docs tilisez la session System_Health :
Nous vous recommandons de ne pas arrêter, modifier ou supprimer la session de santé du système.
Votre meilleur choix serait donc de créer une nouvelle session XE avec uniquement le sous-ensemble des événements souhaité, ainsi que des paramètres spécifiques du fichier d'événement qui fonctionnent pour votre système.
Si les fichiers sont inférieurs à 5 Mo, la session de serveur ou d'événement est en cours de redémarrage. Vous pouvez vérifier le journal d'erreur SQL Server pour que les redémarrages se produisent et vous devrez vérifier avec ceux qui ont des autorisations de serveur de contrôle pour voir qui arrête la session XE si c'est le cas.
De plus, devrions-nous augmenter les tailles de fichiers disent à 200 MB 4 fichiers ou gardez simplement des fichiers de petite taille telles que 10 fichiers 80 MB? Quel est le meilleur?
Ça dépend. Interrogation (lecture) d'un tas de différents fichiers peut être gênant. Je me pencherais donc vers un nombre total de fichiers plus bas et d'augmenter la taille de chacun.
Cela étant dit, je n'ai jamais essayé d'analyser un très grand fichier XE, donc il pourrait y avoir des problèmes avec cela. Vous devrez tester et voir lequel est le meilleur pour votre système.