Lorsque je demande la configuration de la trace par défaut, elle montre activé:
exec sp_configure 'default trace enabled';
-->
name minimum maximum config_value run_value
default trace enabled 0 1 1 1
Mais lorsque je demande sys.traces
le chemin, il renvoie un ensemble de lignes vide:
select * from sys.traces;
Qu'est-ce qui pourrait expliquer l'absence de la trace activée?
sql-server
sql-server-2008-r2
trace
Andomar
la source
la source
select * from sys.traces
renvoie un ensemble deEXEC sp_trace_setstatus @traceid = 1, @status = 0
revient,The default trace cannot be stopped or modified.
donc je ne suis pas sûr qu'elle puisse être arrêtée sauf s'il y a une erreur qui l'empêche de s'exécuter. Quelque chose dans les journaux d'erreurs?Réponses:
Je dirais qu'il existe une forte corrélation entre votre événement hors espace et la trace manquante. Notez que l'
sp_configure
option vous indique simplement que la trace par défaut est activée, mais cela ne signifie pas qu'elle est en cours d'exécution ou qu'elle existe même. Notez que cesys.traces
n'est pas une table mais une vue:Que fournit l'
TABLE SYSTRACES
ensemble de lignes? Comment ça marche? Comment ses résultats sont-ils filtrés? Votre supposition est aussi bonne que la mienne. Il est possible que la trace soit toujours là, mais dans un état qui l'empêche d'être exposée par cette vue. Et il peut être dans un état qui l'empêche toujours d'être démarré même après le redémarrage du service.Tout d'abord, assurez-vous que l'emplacement de la trace par défaut dispose d'un espace suffisant, le compte de service SQL Server dispose toujours des autorisations adéquates pour y écrire, vous n'êtes soumis à aucun quota d'espace, etc. Vous pouvez obtenir l'emplacement à partir du registre:
Une fois que vous êtes sûr que SQL Server doit pouvoir écrire dans ce dossier, vous pouvez désactiver et réactiver la trace par défaut:
Vous ne devriez pas avoir besoin de redémarrer le service SQL Server à ce stade, mais peut être un coup de pied final dans le pantalon de SQL Server si vous ne voyez toujours pas de ligne
sys.traces
. Notez que la valeur quetrace_id
vous obtenez n'est pas garantie de rester à 1.la source
with override
. Les journaux d'erreurs montraient en effet un événement hors espace.with override
c'est l'habitude.J'ai eu le même problème après que le lecteur se soit rempli. La trace par défaut a été activée mais pas en cours d'exécution. Le désactiver et le réactiver a fonctionné immédiatement sans arrêter les services.
la source