Lorsque je interrogeons la configuration de la trace par défaut, il affiche activé:
exec sp_configure 'default trace enabled';
-->
name minimum maximum config_value run_value
default trace enabled 0 1 1 1
Mais quand je demande sys.traces
Pour le chemin, il renvoie une jonction vide:
select * from sys.traces;
Qu'est-ce qui pourrait expliquer l'absence de la trace activée?
Je dirais qu'il y a une forte corrélation entre votre événement hors spatial et la trace manquante. Notez que le sp_configure
Option ne vous dit que la trace par défaut est activée, mais cela ne signifie pas qu'il fonctionne ou qu'il existe même. Notez que sys.traces
n'est pas une table mais une vue:
create view sys.traces as select * from OpenRowset(TABLE SYSTRACES)
Que fait le TABLE SYSTRACES
rowset fournir? Comment ça marche? Comment sont filtrés ses résultats? 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é par cette vue. Et cela 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 contient toujours des autorisations adéquates à y écrire, vous n'êtes pas soumis à des quotas d'espace, etc. Vous pouvez obtenir l'emplacement du registre:
HKEY_LOCAL_MACHINE\Software\Microsoft\...YourInstance...\Setup\SQLDataRoot\
Une fois que vous êtes sûr que SQL Server soit capable d'écrire dans ce dossier, vous pouvez désactiver et réactiver la trace par défaut:
EXEC sp_configure 'show advanced options', 1;
GO
RECONFIGURE WITH OVERRIDE;
GO
EXEC sp_configure 'default trace enabled', 0;
GO
RECONFIGURE WITH OVERRIDE;
GO
EXEC sp_configure 'default trace enabled', 1;
GO
RECONFIGURE WITH OVERRIDE;
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 une ligne dans sys.traces
. Notez que le trace_id
Vous obtenez n'est pas garanti de rester à 1.
J'ai eu le même problème après le remplissage du lecteur. La trace par défaut a été activée mais ne fonctionne pas. Désactivez-la et réactivé qu'il fonctionnait immédiatement sans arrêter les services.