IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Administration SQL Server Discussion :

Trace SQL SERVER


Sujet :

Administration SQL Server

  1. #1
    Membre confirmé
    Inscrit en
    Mars 2009
    Messages
    71
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 71
    Par défaut Trace SQL SERVER
    Bonjour,

    J'ai créé une trace avec SQL SERVER profiler , pour contrôler ma base de données SQL SERVER 2008. Le nom de ma trace s'appelle ADT_BAZ. J'ai arrêté et fermé ma trace; je ne sais plus où la retrouver et comment la redémarrer.
    jai voulu l'afficher avec le code:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    select *
    FROM Sys.traces


    Mais je ne la vois pas. Je voudrais que ma trace reste en activité sur mon serveur, mais si le serveur redemarre , où dois-je la retrouver pour la remettre en activité?

    Merci de m'aider.

  2. #2
    Membre Expert
    Homme Profil pro
    DBA SQL Server
    Inscrit en
    Octobre 2012
    Messages
    862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA SQL Server
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Octobre 2012
    Messages : 862
    Par défaut
    Bonjour,
    As-tu coché une des cases pour la sauver?
    Save to file ou Save to table?

  3. #3
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 999
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 999
    Billets dans le blog
    6
    Par défaut
    Le journal des événements de SQL Server enregistre les lancements de trace. Jettez y un coup d’œil pour obtenir le trace_id :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    EXEC xp_readerrorlog 0, 1, N'Trace ID';
    EXEC xp_readerrorlog 1, 1, N'Trace ID';
    EXEC xp_readerrorlog 2, 1, N'Trace ID';
    EXEC xp_readerrorlog 3, 1, N'Trace ID';
    EXEC xp_readerrorlog 4, 1, N'Trace ID';
    EXEC xp_readerrorlog 5, 1, N'Trace ID';
    EXEC xp_readerrorlog 6, 1, N'Trace ID';
    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  4. #4
    Membre confirmé
    Inscrit en
    Mars 2009
    Messages
    71
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 71
    Par défaut
    Merci de vouloir m'aider.

    J'ai trouvé la solution dans un tutoriel sur youtube. En effet il fallait exporter la définition de la trace sous un format . sql , l'ouvrir dans l’éditeur sqlserver et l’exécuter tout en définissant l’emplacement du fichier .trc avec statut 1

    J'ai un autre souci, ma trace fonctionne bien. Mais, quand je fais un UPDATE dans une nouvelle requête sql server, l'évènement est bien capturé dans la trace; par contre, quand je fais un clic droit sur une table, ensuite '' modifier les 200 lignes du haut'' , la modification directe des données dans la table n'est pas capturée par la trace. J'ai cherché à désactiver ce menu en vain. Il est facile de passer par ce menu et modifier les données dans une table, sans laisser de trace. Comment contourner le problème? y a t il un évènement que je nai pas coché dans sql profiler pour ce genre de UPDATE ?

    aidez moi s'il vous plait

  5. #5
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 999
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 999
    Billets dans le blog
    6
    Par défaut
    Vous devez faire erreur, les UPDATE sont bien tracés que ce soit dans SSMS ou dans un code client.

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  6. #6
    Membre confirmé
    Inscrit en
    Mars 2009
    Messages
    71
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 71
    Par défaut
    S'il vous plait veuillez me comprendre. Dans SSMS, quand je clique sur le bouton " nouvelle requête" dans la barre d'outils ou quand je fais un clic droit sur la table et je choisis le menu " Selectionner les 1000 lignes du haut", toutes les opérations ( update,select,delete) sont tracées. par contre quand je fais un clic droit sur une table, ensuite '' modifier les 200 lignes du haut'' , le contenu de la table s'affiche et j'ai la possibilité de supprimer des lignes , modifier les données ( ce qui se fait couramment) sans que ces opérations ne soient tracées ; Essayez vous allez vous rendre compte.

    Nom : capture.png
Affichages : 530
Taille : 228,9 Ko

    cordialement

  7. #7
    Membre Expert

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2003
    Messages
    733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2003
    Messages : 733
    Billets dans le blog
    8
    Par défaut
    Bonjour,

    Vous n'avez vraisemblablement pas sélectionné, dans votre modèle de trace, les classes d'événements idoines !
    Sinon ça marche très bien.

    Les modifications effectuées depuis SSMS au travers le menu que vous décrivez (un clic droit sur une table, ensuite '' modifier les 200 lignes ..'' génèrent des commandes SQL comme suit :
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    exec sp_executesql N'UPDATE TOP (200) dbo.MaTable SET ... WHERE .. '  --  intégrant des paramètres etc.
    Aussi, pour capturer ces commandes, vous devez dans votre modèle de trace sélectionner au moins une des deux classes d'événements ci-après :
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    RPC:Starting
    RPC:Completed
    Ces deux classes, se trouvent sous le nœud "Stored Procedures" (Procédures stockées) dans l'arborescence des classes d'événements.

    A+

  8. #8
    Membre confirmé
    Inscrit en
    Mars 2009
    Messages
    71
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 71
    Par défaut
    Merci infiniment, ça marche. Je fais un grand bon avec ça. Merci.

    Excusez moi, l'autre souci est que je comprends pas la différence entre:
    RPC:Starting
    RPC:Completed

    j'ai les mêmes souci de compréhension entre:

    SQL:BatchSarting
    SQL:batchCompleted

    Cordialement

  9. #9
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 999
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 999
    Billets dans le blog
    6
    Par défaut
    RPC = Remote Procedure Call => procédures stockées, y compris distantes
    SQL = des requêtes, non encapsulées dans les procédures, BatchStarting => lancement du lot de requête

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

Discussions similaires

  1. Exceptions dans une trace SQL Server
    Par joelduret dans le forum Administration
    Réponses: 2
    Dernier message: 04/10/2011, 12h37
  2. Analyse des traces SQL Server Profiler
    Par pamadice dans le forum MS SQL Server
    Réponses: 11
    Dernier message: 16/11/2009, 14h20
  3. fichier trace sql server
    Par jaafar.kettani dans le forum Administration
    Réponses: 2
    Dernier message: 12/08/2009, 15h42
  4. Pb compréhension Trace sql server profiler
    Par mary27 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 17/07/2009, 20h51
  5. Réponses: 6
    Dernier message: 02/04/2009, 17h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo