Trace par défaut dans SQL Server

 

SQL Server intègre une trace par défaut qui comprend un journal enrichi sur l’activité et les modifications principalement liées aux options de configuration. La trace par défaut SQL Server aide les DBA à résoudre les problèmes en leur fournissant les données de journal.

       Les événements audité par cette trace sont:

Data file auto grow Data file auto shrink Database mirroring status change Log file auto grow Log file auto shrink
Error log Hash warning Sort Warnings Missing Column Statistics Missing Join Predicate
FT Crawl Aborted FT Crawl Started FT Crawl Stopped Object Altered Object Created
Object Deleted Audit Add DB user event Audit Add login to server role event Audit Add Member to DB role event Audit Add Role event
Audit Add login event Audit Backup/Restore event Audit Change Database owner Audit DBCC event Audit Database Scope GDR event (Grant, Deny, Revoke)
Audit Login Change Property event Audit Login Failed Audit Login GDR event Audit Schema Object GDR event Audit Schema Object Take Ownership
Audit Server Starts and Stops Server Memory Change      
 
Pour vérifier que la trace par défaut est en cour d?exécution, exécuter la requête suivante :
 
Select * from sys.configurations where configuration_id = 1568

et pour avoir les détails si la trace est activé exécuter la commande suivante :

SELECT *
FROM fn_trace_getinfo(default)

Qui donne les informations suivantes :

Résultat Description
Traceid Identifiant unique de la trace
Property = 1 Configuré options de trace
Property = 2 Nom de fichier de trace
Property = 3 Taille max du fichier
Property = 4 Arreter le temps pour la session de suivie
Property = 5 Suivi du statut actuel (1=On, 0=Off)
Value valeur des actuelles propriété

 

La trace par défaut est stocké dans le répertoire LOG de votre instance SQL Server (C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\LOG par exemple).

Pour changer l’emplacement de la trace par défaut, vous devez changer le dossier dans lequel est stocké vos fichiers log, pour cella lancer le gestionnaire de configuration SQL Server, changer le chemin du répertoire des fichiers log. Vous seriez inviter à redémarrer votre instance SQL Server pour que les modifications soit prise en compte.

Vous pouvez lire le contenu de cette trace via le générateur de profils SQL (SQL profiler) ou avec la requête suivante  :

SELECT name, trc.*
fn_trace_gettable('C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\LOG\log.trc', default) as trc
sys.trace_events as evt on trc.EventClass = evt.trace_event_id

 

Pour désactiver l’exécution de la trace par défaut exécuter la commande suivante :

EXEC master.dbo.sp_configure 'allow updates', 1;
GO
EXEC master.dbo.sp_configure 'show advanced options', 1;
GO
EXEC master.dbo.sp_configure 'default trace enabled', 0;
GO
RECONFIGURE WITH OVERRIDE;
GO
EXEC master.dbo.sp_configure 'show advanced options', 0;
GO
EXEC master.dbo.sp_configure 'allow updates', 0;
GO

Avant de désactiver la trace par défaut(Chose d’ailleurs que je ne conseillerais pas) prenez la peine d’analyser les informations disponible dans celle-ci, si vous trouvez que ces informations ne vous intéresse pas c’est à ce moment que vous pouvez désactivé la trace par défaut

   Voila vous savez maintenant qu’il existe une trace SQL qui est exécuté par défaut dans votre instance SQL Server et l’apport qu’elle pourrais vous apporter dans vos tâches d’administration.

Une réflexion au sujet de « Trace par défaut dans SQL Server »

  1. Lut Romaric,

    Une petite remarque sur ton billet :-)

    Cette instruction ne fonctionne plus à partir de SQL Server 2005. Elle est disponible mais désactivée. Tu n’as donc pas besoin de l’exécuter.

    Pour référence la BOL 2005 :

    « The allow updates option is still present in the sp_configure stored procedure,
    although its functionality is unavailable in Microsoft SQL Server 2005
    (the setting has no effect).
    In SQL Server 2005, direct updates to the system tables are not supported. »

    A+

    David

Laisser un commentaire